Hello
I am a beginner for FAST code.
I’m using:
- Adams 2008 32-bits
- Intel Visual Fortran 2011
- Microsoft Visual Studio 2008
- Fast 7.0200d、NWTC_Lib_v1.07.00、AD_v13.00.02a、InflowWind v1.01.00b、A2AD_v13.0100b
I’m triying to create adams2008.dll with de CompileLinkA2AD.bat, my script is:
[code]@ECHO OFF
REM ----------------------------------------------------------------------------
REM set compiler internal variables
REM ----------------------------------------------------------------------------
REM You can run this bat file from the IVF compiler’s command prompt (and not
REM do anything in this section). If you choose not to run from the IVF command
REM prompt, you must call the compiler’s script to set internal variables.
REM TIP: Right click on the IVF Compiler’s Command Prompt shortcut, click
REM properties, and copy the target (without cmd.exe and/or its switches) here:
REM …
REM See this forum topic for instructions and help with setting the compiler
REM internal variables in this script:
REM Instructions for Compiling FAST
REM …
IF “%INTEL_SHARED%”==“” CALL “C:\Program Files (x86)\Intel\ComposerXE-2011\bin\ipsxe-comp-vars.bat” ia32 vs2008
REM ----------------------------------------------------------------------------
REM -------------------- LOCAL VARIABLES ---------------------------------------
REM ----------------------------------------------------------------------------
SET ROOT_NAME=ADAMS
REM ----------------------------------------------------------------------------
REM -------------------- LOCAL PATHS ------------------------------------------
REM ----------------------------------------------------------------------------
REM USERS WILL NEED TO EDIT THESE PATHS TO POINT TO FOLDERS ON THEIR LOCAL MACHINES:
REM A2AD_Loc is the location of the ADAMS-to-AeroDyn source files.
REM AeroDyn_Loc is the location of the AeroDyn source files.
REM Wind_Loc is the location of the InflowWind souce files.
REM FAST_LOC is the location of the FAST source files: FFTMod.f90, HydroCalc.f90, fftpack.f, UserSubs.f90, and possibly PitchCntrl_ACH.f90, UserVSCont_KP.f90, and/or BladedDLLInterface.f90.
REM NWTC_Lib_Loc is the location of the NWTC subroutine library files.
REM ----------------------------------------------------------------------------
REM NOTE: DO NOT USE QUOTATION MARKS HERE (AROUND THE PATH NAMES)
REM OR THE FILE CONCATENATION BELOW WILL NOT WORK
SET NWTC_Lib_Loc=D:\CompileLinkA2AD\NWTC_Lib_v1.07.00
SET AeroDyn_Loc=D:\CompileLinkA2AD\AD_v13.00.02a
SET Wind_Loc=D:\CompileLinkA2AD\InflowWind v1.01.00b
SET FAST_Loc=D:\CompileLinkA2AD\FAST_v7.0200d
SET A2AD_Loc=D:\CompileLinkA2AD\A2AD_v13.0100b
REM ----------------------------------------------------------------------------
REM -------------------- LIST OF ALL SOURCE FILES ------------------------------
REM -------- please note that all source files must have a blank line ----------
REM -------- at the end so that they can be concatenated properly ----------
REM ----------------------------------------------------------------------------
SET NWTC_Files=
SET NWTC_Files=%NWTC_Files% “%NWTC_Lib_Loc%\SingPrec.f90”
SET NWTC_Files=%NWTC_Files% + “%A2AD_Loc%\SysIVF_ADAMS.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_IO.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_Num.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_Aero.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\ModMesh.f90”
SET NWTC_Files=%NWTC_Files% + “%NWTC_Lib_Loc%\NWTC_Library.f90”
SET Wind_Files=
SET Wind_Files=%Wind_Files% “%Wind_Loc%\SharedInflowDefs.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\HHWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\FFWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\HAWCWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\FDWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\CTWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\UserWind.f90”
SET Wind_Files=%Wind_Files% + “%Wind_Loc%\InflowWindMod.f90”
SET AeroDyn_Files=
SET AeroDyn_Files=%AeroDyn_Files% “%AeroDyn_Loc%\SharedTypes.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\AeroMods.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\GenSubs.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\AeroSubs.f90”
SET AeroDyn_Files=%AeroDyn_Files% + “%AeroDyn_Loc%\AeroDyn.f90”
SET Fixed_Files =
SET Fixed_Files=%Fixed_Files% “%FAST_Loc%\fftpack.f”
SET FAST_Files=
SET FAST_Files=%FAST_Files% “%FAST_Loc%\FFTMod.f90”
SET FAST_Files=%FAST_Files% + “%FAST_Loc%\HydroCalc.f90”
SET FAST_Files=%FAST_Files% + “%A2AD_Loc%\FAST_Params.f90”
IF /I “%1”==“DLL” GOTO dllFiles
SET FAST_Files=%FAST_Files% + “%FAST_Loc%\UserSubs.f90”
SET FAST_Files=%FAST_Files% + “%FAST_Loc%\UserVSCont_KP.f90”
SET FAST_Files=%FAST_Files% + “%FAST_Loc%\PitchCntrl_ACH.f90”
GOTO endFASTfiles
:dllFiles
SET FAST_Files=%FAST_Files% + “%FAST_LOC%\UserSubs_forBladedDLL.f90”
SET FAST_Files=%FAST_Files% + “%FAST_LOC%\UserVSCont_KP_forBladedDLL.f90”
SET FAST_Files=%FAST_Files% + “%FAST_LOC%\BladedDLLInterface.f90”
REM NOTE: UserSubs_forBladedDLL.f90 is a copy of UserSubs.f90 with SUBROUTINES UserHSSBr() and UserYawCont() commented out
REM UserVSCont_KP_forBladedDLL.f90 is a copy of UserVSCont_KP.f90 with SUBROUTINE UserVSCont() commented out
:endFASTfiles
SET A2AD_Files=
SET A2AD_Files=%A2AD_Files% “%A2AD_Loc%\A2AD_Mod.f90”
SET A2AD_Files=%A2AD_Files% + “%A2AD_Loc%\Adams_Subs.f90”
REM echo File list
REM ----------------------------------------------------------------------------
REM ----------- Concatenate them into one file for free-format -----------------
REM ----------- Fortran and one file for fixed-format Fortran -----------------
REM ----------------------------------------------------------------------------
COPY %NWTC_Files% + %Wind_Files% + %AeroDyn_Files% + %FAST_Files% + %A2AD_Files% %ROOT_NAME%.f90
COPY %Fixed_Files% %ROOT_NAME%.f
REM ----------------------------------------------------------------------------
REM ------- SET CREATE OBJECT FILE BASED ON SPECIFIED COMPILER -----------------
REM ----------------------------------------------------------------------------
REM ----------------------------------------------------------------------------
REM --------------------- INTEL VISUAL FORTRAN ---------------------------------
REM --------------------- with Adams 2008 ---------------------------------
REM ----------------------------------------------------------------------------
REM …
REM … set compiler options …
REM …
REM SET COPTS= /c /automatic /architecture:pn4 /Ob2 /MD /Gm /O1 /traceback /real_size:32 /assume:byterecl /stand:f95 /check:bounds
REM SET COPTS= /c /automatic /architecture:pn4 /Ob2 /MD /Gm /Ot /O3 /traceback /real_size:32 /assume:byterecl /stand:f95 /Qdiag-disable:5268
SET COPTS= /c /automatic /Ob2 /MD /Gm /traceback /Qzero /Qsave /real_size:32 /assume:byterecl /Qdiag-disable:5268
REM …
REM … compile …
REM …
ECHO.
ECHO Compiling ADAMS2AD and AeroDyn routines to create ADAMS.obj:
ifort %COPTS% /object:%ROOT_NAME%.obj %ROOT_NAME%.f90
ifort %COPTS% /object:%ROOT_NAME%f.obj %ROOT_NAME%.f
REM …
REM … link with Adams …
REM …
ECHO Linking ADAMS2AD and AeroDyn routines with ADAMS 2008:
SET DLLName=%ROOT_NAME%08r1
IF /I “%1”==“DLL” SET DLLName=%DLLName%_forBladedDLL
CALL ADAMS08r1 cr-user n %ROOT_NAME%.obj %ROOT_NAME%f.obj -n %DLLName%.dll exit < NewLine.txt
GOTO end
:end
REM ----------------------------------------------------------------------------
REM ------------------------- CLEAR MEMORY -------------------------------------
REM ------------- and delete all .mod and .obj files ---------------------------
REM ----------------------------------------------------------------------------
REM ECHO a
DEL *.mod
DEL *.obj
SET MyCompiler=
SET DF_LOC=
SET IVF_LOC=CALL “C:\Program Files (x86)\Intel\ComposerXE-2011\bin\ipsxe-comp-vars.bat” ia32 vs2008
SET ROOT_NAME=
SET COPTS=
SET NWTC_Files=
SET Wind_Files=
SET AeroDyn_Files=
SET FAST_Files=
SET A2AD_Files=
SET Fixed_Files=
SET NWTC_Lib_Loc=
SET Wind_Loc=
SET AeroDyn_Loc=
SET A2AD_Loc=
SET FAST_Loc=
SET DLLName=[/code]
When I execute it in the cmd, I find this errors:
[code]D:\CompileLinkA2AD>CompileLinkA2AD
Intel(R) Parallel Studio XE 2011
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
Intel(R) Composer XE 2011 Update 5 (package 221)
Setting environment for using Microsoft Visual Studio 2008 x86 tools.
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\SingPrec.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\SysIVF_ADAMS.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_IO.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_Num.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_Aero.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\ModMesh.f90
D:\CompileLinkA2AD\NWTC_Lib_v1.07.00\NWTC_Library.f90
D:\CompileLinkA2AD\InflowWind\SharedInflowDefs.f90
D:\CompileLinkA2AD\InflowWind\HHWind.f90
D:\CompileLinkA2AD\InflowWind\FFWind.f90
D:\CompileLinkA2AD\InflowWind\HAWCWind.f90
D:\CompileLinkA2AD\InflowWind\FDWind.f90
D:\CompileLinkA2AD\InflowWind\CTWind.f90
D:\CompileLinkA2AD\InflowWind\UserWind.f90
D:\CompileLinkA2AD\InflowWind\InflowWindMod.f90
D:\CompileLinkA2AD\AD_v13.00.02a\SharedTypes.f90
D:\CompileLinkA2AD\AD_v13.00.02a\AeroMods.f90
D:\CompileLinkA2AD\AD_v13.00.02a\GenSubs.f90
D:\CompileLinkA2AD\AD_v13.00.02a\AeroSubs.f90
D:\CompileLinkA2AD\AD_v13.00.02a\AeroDyn.f90
D:\CompileLinkA2AD\FAST_v7.0200d\FFTMod.f90
D:\CompileLinkA2AD\FAST_v7.0200d\HydroCalc.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\FAST_Params.f90
D:\CompileLinkA2AD\FAST_v7.0200d\UserSubs.f90
D:\CompileLinkA2AD\FAST_v7.0200d\UserVSCont_KP.f90
D:\CompileLinkA2AD\FAST_v7.0200d\PitchCntrl_ACH.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\A2AD_Mod.f90
D:\CompileLinkA2AD\A2AD_v13.0100b\Adams_Subs.f90
1 archivos copiados.
1 archivos copiados.
Compiling ADAMS2AD and AeroDyn routines to create ADAMS.obj:
Intel(R) Visual Fortran Compiler XE for applications running on IA-32, Version 1
2.0.5.221 Build 20110719
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
ifort: command line remark #10010: option ‘/automatic’ is deprecated and will be
removed in a future release. See ‘/help deprecated’
ifort: command line warning #10121: overriding ‘/automatic’ with ‘/Qsave’
Intel(R) Visual Fortran Compiler XE for applications running on IA-32, Version 1
2.0.5.221 Build 20110719
Copyright (C) 1985-2011 Intel Corporation. All rights reserved.
ifort: command line remark #10010: option ‘/automatic’ is deprecated and will be
removed in a future release. See ‘/help deprecated’
ifort: command line warning #10121: overriding ‘/automatic’ with ‘/Qsave’
Linking ADAMS2AD and AeroDyn routines with ADAMS 2008:
Linking Adams/Solver (User) DLL…
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
“ADAMS.obj”
“ADAMSf.obj”
“-out:ADAMS2008.dll”
-def:mysolver.def
-debug:none
-nodefaultlib
-dll
“-libpath:C:\MSC~1.SOF\Adams\2008\win32”
msvcrt.lib msvcprt.lib
ws2_32.lib
kernel32.lib
libifcoremd.lib libmmd.lib libifportmd.lib
libirc.lib svml_dispmd.lib
asutility_imp.lib mdiloader_imp.lib
abgtire_imp.lib vpgutility_imp.lib
tire_imp.lib amd_imp.lib
Creating library ADAMS08r1.lib and object ADAMS08r1.exp
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_round2 referenced
in function _A2AD_MOD_mp_PSEUDO_HANDLER.@12
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_tanhf4 referenced
in function _FLOATINGPLATFORM_mp_INITFLTNGPTFMLD.@96
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_cosf4 referenced i
n function _AERODYN_mp_AD_INIT.@16
ADAMS.obj : error LNK2019: unresolved external symbol ___svml_sinf4 referenced i
n function _AERODYN_mp_AD_INIT.@16
ADAMSf.obj : error LNK2001: unresolved external symbol ___svml_sinf4
ADAMS08r1.dll : fatal error LNK1120: 4 unresolved externals
Adams/Solver (User) has been linked…
Microsoft (R) Manifest Tool version 5.2.3790.2075
Copyright (c) Microsoft Corporation 2005.
All rights reserved.
0H : general error c10100b1: Failed to load file “ADAMS08r1.dll”. {q~
D:\CompileLinkA2AD>[/code]
I don’t know how to debug the error and it confuses me for a long time.
Could help me, please? tks
Jason.Lai