Hi,
Thanks for your reply. Sorry for not spotting the explanation in the documentation. Regarding the compilation using gfortran I have tried to pursue it a bit further and I have found a couple of things.
If FAST is compiled using debugging options, ie
FFLAGS = -g -O0 -fbacktrace -ffree-line-length-none -x f95-cpp-input -fcheck=all
Then FAST finds an error because the variable CalcTwrAero gets somehow initialized and therefore FAST looks for the Twr data file path in the wrong line. I solved the issue by adding the following code in AeroSubs.f90 Line 374
P%TwrProps%CalcTwrAero = .FALSE. ! We don't want to read the tower file!
After this I am able to debug. The SEGFAULT error appears in
FAST_Prog.f90, Line 1124 CALL HydroDyn_CopyInput (HD_Input(j), HD_Input(j+1), MESH_UPDATECOPY, Errstat, ErrMsg) ->
->HydroDyn_Types.f90, Line 2762 CALL Morison_CopyInput( SrcInputData%Morison, DstInputData%Morison, CtrlCode, ErrStat, ErrMsg ) ->
->Morison_Types.f90, Line 6251 CALL MeshCopy( SrcInputData%DistribMesh, DstInputData%DistribMesh, CtrlCode, ErrStat, ErrMsg ) ->
->ModMesh.f90, Line 1439 IF ( ALLOCATED(SrcMesh%Orientation ) .AND. ALLOCATED(DestMesh%Orientation ) ) DestMesh%Orientation = SrcMesh%Orientation
I think that the problema is related to the stack management of automated arrays being different in ifort and gfortran but using the different gfortran command options (-fno-automatic, -fmax-stack-var-size=n, etc) I have not been able yet to solve the problem.
Anyonelse working on this issue?
As I suspect that the issue is related to a memory limitation I was trying now to compile a 64 bit version suing the following modified make file:
[code] # 32-bit or 64-bit?
#BITS = 32
BITS = 64
Location of source files for FAST, AeroDyn, InflowWind, and the NWTC Library.
You will probably need to change these for your system.
FAST_DIR = …/Source
NWTC_Lib_DIR = $(FAST_DIR)/dependencies/NWTC_Library
NETLIB_DIR = $(FAST_DIR)/dependencies/NetLib
ED_DIR = $(FAST_DIR)/dependencies/ElastoDyn
SrvD_DIR = $(FAST_DIR)/dependencies/ServoDyn
AD_DIR = $(FAST_DIR)/dependencies/AeroDyn
IfW_DIR = $(FAST_DIR)/dependencies/InflowWind
HD_DIR = $(FAST_DIR)/dependencies/HydroDyn
SD_DIR = $(FAST_DIR)/dependencies/SubDyn
MAP_DIR = $(FAST_DIR)/dependencies/MAP
FEAM_DIR = $(FAST_DIR)/dependencies/FEAMooring
IceF_DIR = $(FAST_DIR)/dependencies/IceFloe
IceD_DIR = $(FAST_DIR)/dependencies/IceDyn
HD_DIR_Reg = $(HD_DIR)
BIN_DIR = …/bin
ifeq ($(OS),Windows_NT)
Registry = $(BIN_DIR)/Registry_win32.exe
MAP_lib = $(MAP_DIR)/MAP_x64.lib
LAPACK_LINK = -llapack -lblas -LC:/LAPACK/x64
else
Registry = registry.exe
MAP_lib = $(MAP_DIR)/MAP.so
LAPACK_LINK = -llapack -lblas
endif
Name of compiler to use and flags to use.
FC = gfortran
FFLAGS = -g -O0 -fbacktrace -ffree-line-length-none -x f95-cpp-input -fcheck=all
LDFLAGS = -O2 -m$(BITS) -fbacktrace
Precision.
Use “SingPrec” for single precision and “DoubPrec” for double precision. You may also need to change an option switch to make constants DP.
PREC = SingPrec
Destination and RootName for executable
OUTPUT_NAME = FAST
DEST_DIR = …/bin
#DEST_DIR = .
#==========================================================#
You should not need to change anything beyond this point
#==========================================================#
…
…[/code]
FAST compiles succesfully but it crashed on execution. Have anyone else tried this?
Thanks.