Instructions for Compiling FAST

Provide feedback, request enhancements, and get help with wind-turbine computer-aided engineering tools.

Moderators: Bonnie.Jonkman, Jason.Jonkman

Borchersen.Anders
Posts: 2
Joined: Mon May 20, 2013 4:40 am
Organization: Aalborg University
Location: Denmark

Instructions for Compiling FAST on Linux 64 bit

Postby Borchersen.Anders » Wed May 22, 2013 4:45 am

For those interested I have put a small guide including a patch for FAST such that FAST and TurbSim can be compiled and run in Linux.
The FAST SIMULINK® interface is also compiled and all seems to work.
The guide can be found at here: http://kom.aau.dk/~anb/fast/fastinstall.html

Marshall.Buhl
Posts: 437
Joined: Fri Oct 21, 2005 10:22 am
Organization: NREL/NWTC
Location: Boulder, CO
Location: Boulder, CO
Contact:

Re: Instructions for Compiling FAST

Postby Marshall.Buhl » Wed May 22, 2013 11:00 am

Dear Borchersen,

Thanks so much for posting this! We've been debating porting FAST with the DISCON to Linux, but have not had time to figure out how to turn it into a shared library.


Marshall
Mr. Marshall L. Buhl Jr.
NWTC-3811
National Renewable Energy Laboratory
Golden, CO 80401 USA
Marshall.Buhl@nrel.gov
Voice: +1 (303) 384-6914
Cell: +1 (303) 915-6623
Fax: +1 (303) 384-7079

Lucia.RicoFdez
Posts: 12
Joined: Thu Apr 18, 2013 12:55 am
Organization: UC
Location: Spain

Re: Instructions for Compiling FAST

Postby Lucia.RicoFdez » Thu May 30, 2013 3:23 am

Hi,

I'm using:

1. Adams 2008
2. Intel Visual Fortran 2013
3. Microsoft Visual Studio 2010
4. Fast

I'm triying to create de .dll with de CompileLinkA2AD.bat, mi script is:

Code: Select all

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    https://wind.nrel.gov/forum/wind/viewtopic.php?f=4&t=642
REM .............................................................................

REM IF "%INTEL_SHARED%"=="" CALL "CALL "C:\Archivos de programa\Intel\Composer XE 2013\bin\IFORTVARS.bat"
IF "%INTEL_SHARED%"=="" CALL "C:\Archivos de programa\Intel\Composer XE 2013\bin\IFORTVARS.bat" ia32

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=C:\Documents and Settings\Lucia\Escritorio\PROYECTO\NWTC_Lib\source
SET AeroDyn_Loc=C:\Documents and Settings\Lucia\Escritorio\PROYECTO\AERODYN\Source
SET Wind_Loc=C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source
SET FAST_Loc=C:\Documents and Settings\Lucia\Escritorio\PROYECTO\FAST\Source
SET A2AD_Loc=C:\Documents and Settings\Lucia\Escritorio\PROYECTO\ADAMSADAMS\Source

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 2008R1  ---------------------------------
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 2008r1:
SET DLLName=%ROOT_NAME%08r1
IF /I "%1"=="DLL" SET DLLName=%DLLName%_forBladedDLL

CALL C:\MSC.Software\MD_Adams\R3\common\mdi.bat 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

DEL *.mod
DEL *.obj

SET MyCompiler=
SET DF_LOC=

SET IVF_LOC=
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=


When I execute it in the cmd, I find this errors:

Code: Select all

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\ADAMSADAMS\DLL>CompileLinkA2
AD.bat
Intel(R) Parallel Studio XE 2013
Copyright (C) 1985-2013 Intel Corporation. All rights reserved.
Intel(R) Composer XE 2013 Update 3 (package 171)
Setting environment for using Microsoft Visual Studio 2010 x86 tools.

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\NWTC_Lib\source\SingPrec.f90

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\ADAMSADAMS\Source\SysIVF_ADA
MS.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\NWTC_Lib\source\NWTC_IO.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\NWTC_Lib\source\NWTC_Num.f90

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\NWTC_Lib\source\NWTC_Aero.f9
0
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\NWTC_Lib\source\ModMesh.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\NWTC_Lib\source\NWTC_Library
.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\SharedInfl
owDefs.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\HHWind.f90

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\FFWind.f90

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\HAWCWind.f
90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\FDWind.f90

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\CTWind.f90

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\UserWind.f
90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\inflowWind\Source\InflowWind
Mod.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\AERODYN\Source\SharedTypes.f
90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\AERODYN\Source\AeroMods.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\AERODYN\Source\GenSubs.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\AERODYN\Source\AeroSubs.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\AERODYN\Source\AeroDyn.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\FAST\Source\FFTMod.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\FAST\Source\HydroCalc.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\ADAMSADAMS\Source\FAST_Param
s.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\FAST\Source\UserSubs.f90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\FAST\Source\UserVSCont_KP.f9
0
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\FAST\Source\PitchCntrl_ACH.f
90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\ADAMSADAMS\Source\A2AD_Mod.f
90
C:\Documents and Settings\Lucia\Escritorio\PROYECTO\ADAMSADAMS\Source\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
3.1.1.171 Build 20130313
Copyright (C) 1985-2013 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'
30 DAY EVALUATION LICENSE

ifort: NOTE: The evaluation period for this product ends on 7-jun-2013 UTC.
ADAMS.f90(996): error #6848: This attribute specification is valid only in the s
pecification part of a module.   [PUBLIC]
   TYPE, PUBLIC :: ProgDesc
---------^
ADAMS.f90(1002): error #6848: This attribute specification is valid only in the
specification part of a module.   [PUBLIC]
   TYPE, PUBLIC :: FASTdataType
 ! The derived type for holding FAST binary output data.
---------^
ADAMS.f90(1159): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLCARY1]
   SUBROUTINE AllCAry1 ( Ary, AryDim, Descr, ErrStat )
--------------^
ADAMS.f90(1192): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLCARY2]
   SUBROUTINE AllCAry2 ( Ary, AryDim1, AryDim2, Descr, ErrStat )
--------------^
ADAMS.f90(1225): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLCARY3]
   SUBROUTINE AllCAry3 (  Ary, AryDim1, AryDim2, AryDim3, Descr, ErrStat )
--------------^
ADAMS.f90(1261): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLIARY1]
   SUBROUTINE AllIAry1 ( Ary, AryDim, Descr, ErrStat )
--------------^
ADAMS.f90(1293): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLIARY2]
   SUBROUTINE AllIAry2 (  Ary, AryDim1, AryDim2, Descr, ErrStat )
--------------^
ADAMS.f90(1326): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLIARY3]
   SUBROUTINE AllIAry3 (  Ary, AryDim1, AryDim2, AryDim3, Descr, ErrStat )
--------------^
ADAMS.f90(1361): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLLARY1]
   SUBROUTINE AllLAry1 ( Ary, AryDim, Descr, ErrStat )
--------------^
ADAMS.f90(1395): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLLARY2]
   SUBROUTINE AllLAry2 (  Ary, AryDim1, AryDim2, Descr, ErrStat )
--------------^
ADAMS.f90(1430): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLLARY3]
   SUBROUTINE AllLAry3 (  Ary, AryDim1, AryDim2, AryDim3, Descr, ErrStat )
--------------^
ADAMS.f90(1466): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLRARY1]
   SUBROUTINE AllRAry1 ( Ary, AryDim, Descr, ErrStat )
--------------^
ADAMS.f90(1500): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLRARY2]
   SUBROUTINE AllRAry2 (  Ary, AryDim1, AryDim2, Descr, ErrStat )
--------------^
ADAMS.f90(1535): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLRARY3]
   SUBROUTINE AllRAry3 (  Ary, AryDim1, AryDim2, AryDim3, Descr, ErrStat )
--------------^
ADAMS.f90(1571): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [ALLRARY4]
   SUBROUTINE AllRAry4 (  Ary, AryDim1, AryDim2, AryDim3, AryDim4, Descr, ErrSta
t )
--------------^
ADAMS.f90(1998): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [DISPNVD0]
   SUBROUTINE DispNVD0
--------------^
ADAMS.f90(2012): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [DISPNVD1]
   SUBROUTINE DispNVD1 ( ProgInfo )
--------------^
ADAMS.f90(2030): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [DISPNVD2]
   SUBROUTINE DispNVD2 ( Name, Ver )
--------------^
ADAMS.f90(2357): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [INT2LSTR]
   FUNCTION Int2LStr ( Intgr )
------------^
ADAMS.f90(2990): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [R2LSTR4]
   FUNCTION R2LStr4 ( FltNum )
------------^
ADAMS.f90(3025): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [R2LSTR8]
   FUNCTION R2LStr8 ( FltNum )
------------^
ADAMS.f90(3060): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [R2LSTR16]
   FUNCTION R2LStr16 ( FltNum )
------------^
ADAMS.f90(3096): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [READCARY]
   SUBROUTINE ReadCAry ( UnIn, Fil, CharAry, AryLen, AryName, AryDescr, ErrStat
)
--------------^
ADAMS.f90(3140): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [READCARYLINES]
   SUBROUTINE ReadCAryLines ( UnIn, Fil, CharAry, AryLen, AryName, AryDescr, Err
Stat )
--------------^
ADAMS.f90(3226): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [READCVAR]
   SUBROUTINE ReadCVar ( UnIn, Fil, CharVar, VarName, VarDescr, ErrStat )
--------------^
ADAMS.f90(3570): error #6275: This statement is invalid for an internal procedur
e
   CONTAINS
---^
ADAMS.f90(3616): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [READIARY]
   SUBROUTINE ReadIAry ( UnIn, Fil, IntAry, AryLen, AryName, AryDescr, ErrStat )

--------------^
ADAMS.f90(3662): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [READIVAR]
   SUBROUTINE ReadIVar ( UnIn, Fil, IntVar, VarName, VarDescr, ErrStat )
--------------^
ADAMS.f90(3712): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [READLARY]
   SUBROUTINE ReadLAry ( UnIn, Fil, LogAry, AryLen, AryName, AryDescr, ErrStat )

--------------^
ADAMS.f90(3759): error #8095: The name of the internal procedure conflicts with
a procedure name in the MODULE PROCEDURE statement.   [READLVAR]
   SUBROUTINE ReadLVar ( UnIn, Fil, LogVar, VarName, VarDescr, ErrStat )
--------------^
ADAMS.f90(4574): catastrophic error: Too many errors, exiting
compilation aborted for ADAMS.f90 (code 1)
Intel(R) Visual Fortran Compiler XE for applications running on IA-32, Version 1
3.1.1.171 Build 20130313
Copyright (C) 1985-2013 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 2008r1:

 *** Error:  File ADA not found.

 Enter name of next user object or source file (<CR>=none),  or EXIT:
forrtl: severe (24): end-of-file during read, unit -4, file CONIN$
Image              PC        Routine            Line        Source
libifcoremd.dll    1003E1F6  Unknown               Unknown  Unknown
libifcoremd.dll    1003B480  Unknown               Unknown  Unknown
libifcoremd.dll    100034F6  Unknown               Unknown  Unknown
libifcoremd.dll    10003109  Unknown               Unknown  Unknown
libifcoremd.dll    1006648A  Unknown               Unknown  Unknown
cru.exe            004038AA  Unknown               Unknown  Unknown
cru.exe            00407350  Unknown               Unknown  Unknown
cru.exe            00405545  Unknown               Unknown  Unknown
kernel32.dll       7C81776F  Unknown               Unknown  Unknown

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\ADAMSADAMS\DLL>


I don't know if the error could be of the Compiler, if the IVF 2013 version it's not compatible with the ADAMS 2008. Could help me, please?


In the other hand, in other older post, you said me:
If you can use Adams 2008 and aren't making changes to any of the A2AD source code, you can use the dlls supplied in the A2AD archive instead of trying to compile them.
Well, I try to do in this way. I follow this steps:
1- run "ADAMS - Commnad"
2- choose "ru-user"
3- User DLL: "<path>\ADAMS08r1.dll"
4- Adams command file: "<path>\Test01_ADAMS.acf"

The command window closes quickly, and I could not see any error message on it. But I run the normal cmd, and I call the Test01_ADAMS.acf to see the errors and I get:

Code: Select all

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA>test01_ADAMS.acf






   *********************************************************************
   *                                                                   *
   *                      MSC.Software Corporation                     *
   *                                                                   *
   *                             A d a m s                             *
   *                                                                   *
   *          Automatic Dynamic Analysis of Mechanical Systems         *
   *                                                                   *
   *********************************************************************
   *                                                                   *
   *                         LEGAL INFORMATION                         *
   *                                                                   *
   *  Warning:  This computer  program is protected  by copyright law  *
   *  and  international  treaties.    Unauthorized  reproduction  or  *
   *  distribution  of this  computer program, or any  portion of it,  *
   *  may result in severe civil and criminal penalties.               *
   *                                                                   *
   *  Copyright (C) 2008 MSC.Software Corporation and  its licensors.  *
   *                        All rights reserved.                       *
   *                                                                   *
   *  This computer program may contain certain  third-party software  *
   *  that is protected by  copyright and licensed from  MSC.Software  *
   *  suppliers.  Portions of this  software are owned by UGS Corp.    *
   *  (C)  Copyright  1997.    All  Rights  Reserved.    Portions,     *
   *  (C) 1998 Spacetec IMC Corporation ("Spacetec").                  *
   *                                                                   *
   *  The  MSC.Software logo,  MSC,  MSC Adams,  MD Adams,  Adams and  *
   *  Adams/  are trademarks or registered trademarks of MSC.Software  *
   *  Corporation  or its  subsidiaries in  the United States  and/or  *
   *  other   countries.   FLEXlm  is  a   registered   trademark  of  *
   *  Macrovision Corporation. Parasolid is a registered trademark of  *
   *  UGS  Corp.   All  other trademarks are  the property  of  their  *
   *  respective owners.                                               *
   *                                                                   *
   *********************************************************************
   *                                                                   *
   *                      A d a m s / S o l v e r                      *
   *                                                                   *
   *      2013-05-30 11:17:47              Version MD R3               *
   *                                                                   *
   *      Customer Entitlement ID:         56943D12-BC5G45FC           *
   *                                                                   *
   *********************************************************************


   Enter ADAMS model file name or Carriage Return or ? (or STOP):

   C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.adm

   Enter ADAMS output file name or ? (default is same as input):

   C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.adm

     Adams model file ..
     C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.
     adm


   Default file names for output files

     Tabular output file:
     C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.
     out

     Diagnostic file    :
     C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.
     msg

     Message Database file    :
     C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.
     mdb

     Graphics file      :
     C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.
     gra

     Request file       :
     C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.
     req

     Results file       :
     C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA\test01_ADM.
     res


   Input Phase - Reading in Model


   ***********************************************************
   Adams/Solver dataset Title:
   !ADAMS/View model name: FAST certification Test #01: AWT-27CR2 with many DOFs
 wi
   ***********************************************************

   Reading of model complete.


   Input Phase - Populating Solver database


 ---- WARNING ----
   IP data specified for PART test01_ADM.Nacelle_P is not physically
   meaningful, since it does not satisfy the requirement
   that Ixx + Iyy must be greater than or equal to Izz.
   The moments of inertia about the Center of Mass are:
   Ixx = 9.9990E-04, Iyy = 9.9990E-04, Izz = 4418.0


 ---- WARNING ----
   IP data specified for PART test01_ADM.Generator_P is not physically
   meaningful, since it does not satisfy the requirement
   that Iyy + Izz must be greater than or equal to Ixx.
   The moments of inertia about the Center of Mass are:
   Ixx = 30000., Iyy = 9.9990E-04, Izz = 9.9990E-04


   Input Phase Complete.


   CPU time is 4.68750E-02 seconds.

 ---- ERROR ----
   Subroutine SFOSUB is not supplied for SFORCE test01_ADM.Generator_SF.


      Adams/Solver execution terminated by subprogram NO_USERSUB


   CPU time used = 4.68750E-02 seconds

C:\Documents and Settings\Lucia\Escritorio\PROYECTO\PRUEBA>


I don't know if the error here it's about de dll.

Please I need your help, I'm very stressed becuase when I can overcome a mistake, I find another.

Thanks of all. Lucia

Bonnie.Jonkman
Posts: 566
Joined: Thu Nov 10, 2005 10:51 am
Organization: Envision Energy USA
Location: Colorado
Location: Boulder, CO
Contact:

Re: Instructions for Compiling FAST

Postby Bonnie.Jonkman » Fri May 31, 2013 1:48 pm

Hi Lucia.

It looks like Adams can't find the DLL or can't load it. Are you using a 32-bit version of Adams 2008? Our DLL was compiled for 32-bits and can't run on 64-bit versions. (I usually open a command prompt to run Adams [not the Adams-supplied shortcut; you can use Start>Run>Cmd] -- that way the window doesn't close.)

As for the compiling: I have not tried IVF 13, but I have had issues with IVF 12 and Adams 2008. I know IVF 10.1 works, and I'm pretty sure IVF 11.1 will work, too (though you might have to change the optimization levels to -O1 instead of -O2). That said, if there is an incompatibility between the compiler and Adams, it won't show up until you try to link the compiled source code. Your errors appear before that step, so it looks like there is an issue with the source code.

The errors like the one you are getting are typically caused by
  1. Using incompatible versions of the NREL archives: Make sure you are using the versions of the NREL software listed on the web site where you downloaded Adams2AD
  2. Missing files when you tried to compile the DLL: Verify that the paths listed at the top of the CompileLinkA2AD script point to the correct locations; when files are found, they are listed on the screen, so you can look at the list (compare with files listed in the .bat file) to see if you are missing anything
  3. User modifications: Check any modifications you may have made; also note that each file MUST have an empty line at the end (because all of the files are concatenated into one big .f90 file)

If you haven't changed any source code, I'd guess the problem is likely a result of (1). Otherwise, your error message says that it occurred at line 996 in ADAMS.f90. You can look at that line and see if anything looks strange before it. Because the error indicates that it isn't in the specification part of a module (ProgDesc should be in Module NWTC_IO), I would look to see if there was an issue with the file concatenation between SysIVF_ADAMS.f90 and NWTC_IO.f90.

Hope that helps.

P.S. If you are using 64-bit Adams, you will need to compile the DLL using a 64-bit compiler, too.
Bonnie Jonkman

Envision Energy USA, 2016-
National Renewable Energy Laboratory, 2003-2016

Lucia.RicoFdez
Posts: 12
Joined: Thu Apr 18, 2013 12:55 am
Organization: UC
Location: Spain

Re: Instructions for Compiling FAST

Postby Lucia.RicoFdez » Thu Jun 06, 2013 10:08 am

Bonnie, thanks for your reply.

I try to do everithing that you said me.

1. About using incompatible versions of the NREL archives, i'm sure that it isn't the problem. Instead I dowload every archives again, and I continue with the same error.

2.About missing files when I tried to compile the DLL, I checked and it's good, and the corrects location.

You told me something about the ProgDesc, the error indicates that it isn't in the specification part of a module but I don't udnderstand here, what I have to do.I checked that there wasn't an issue with the file concatenation between SysIVF_ADAMS.f90 and NWTC_IO.f90, and apparently, there isn't.
I try to create the dll one archive by one and the problems become with the NWTC_IO.

Thanks, Lucia.

Bonnie.Jonkman
Posts: 566
Joined: Thu Nov 10, 2005 10:51 am
Organization: Envision Energy USA
Location: Colorado
Location: Boulder, CO
Contact:

Re: Instructions for Compiling FAST

Postby Bonnie.Jonkman » Thu Jun 06, 2013 11:18 am

Hi, Lucia.

Could you attach the Adams.f90 file that is generated when you run the script?
Bonnie Jonkman

Envision Energy USA, 2016-
National Renewable Energy Laboratory, 2003-2016

Sanghyeon.Jeon
Posts: 1
Joined: Thu Jun 06, 2013 2:49 am
Organization: Jeju National University
Location: South Korea - Jeju Island

Re: Instructions for Compiling FAST

Postby Sanghyeon.Jeon » Wed Jun 19, 2013 11:01 am

Hello,

I am a biginner for FAST code.
According to "Instructions for Compiling FAST using IVF for Windows", there are specifying the version of codes.

In NREL website, only I can download the FAST code, version of 7.02.00 and with this version I tried to compile NREL OffshrBsline 5MW in index/public/jjonkman according to written instruction for the practice.
But I face lots of errors.

Do I have to use only specified version of codes as mentioned in instruction?

Please give any advice.

Best regards.

Bonnie.Jonkman
Posts: 566
Joined: Thu Nov 10, 2005 10:51 am
Organization: Envision Energy USA
Location: Colorado
Location: Boulder, CO
Contact:

Re: Instructions for Compiling FAST

Postby Bonnie.Jonkman » Mon Jun 24, 2013 10:09 am

You should be able to compile FAST v7.02.00 using the instructions posted at the beginning of this topic. When you compile it, you need to make sure that you are using appropriate versions of the other modules (AeroDyn, InflowWind, NWTC Library)--the versions you need are listed on the FAST web site. You may need to add a source file for the new version of the NWTC Library.

I am not exactly sure what this means:
I tried to compile NREL OffshrBsline 5MW in index/public/jjonkman

Are you trying to compile the FAST so that you can use the Bladed DLL Interface? (and comparing with the executables Jason provides?) If so, you will need to make some changes to the source code--those changes are documented in the compiling instructions.

I can't give more help without seeing specific compiling errors (if you receive many errors, the first errors are the most important to list here).
Bonnie Jonkman

Envision Energy USA, 2016-
National Renewable Energy Laboratory, 2003-2016

Kaveh.Jalili
Posts: 4
Joined: Thu Jun 27, 2013 8:42 pm
Organization: University of Texas at Dallas
Location: Texas

Re: Instructions for Compiling FAST

Postby Kaveh.Jalili » Mon Jul 01, 2013 7:58 pm

Hello all,

I am trying to compile Fast.
Where can I download the AeroDyn v13.00.00a-bjj source files? (I need this version v13.00.00a-bjj)

Thanks.

Marshall.Buhl
Posts: 437
Joined: Fri Oct 21, 2005 10:22 am
Organization: NREL/NWTC
Location: Boulder, CO
Location: Boulder, CO
Contact:

Re: Instructions for Compiling FAST

Postby Marshall.Buhl » Tue Jul 02, 2013 1:53 pm

Kaveh,

The current release of AeroDyn is v13.00.02a-bjj. The fact that only the last digit was changed should mean that nothing that would significantly affect the results was changed. You can get the latest release here:

http://wind.nrel.gov/designcodes/simulators/aerodyn/
Mr. Marshall L. Buhl Jr.
NWTC-3811
National Renewable Energy Laboratory
Golden, CO 80401 USA
Marshall.Buhl@nrel.gov
Voice: +1 (303) 384-6914
Cell: +1 (303) 915-6623
Fax: +1 (303) 384-7079

Kaveh.Jalili
Posts: 4
Joined: Thu Jun 27, 2013 8:42 pm
Organization: University of Texas at Dallas
Location: Texas

Re: Instructions for Compiling FAST

Postby Kaveh.Jalili » Wed Jul 10, 2013 8:51 pm

Marshall.Buhl wrote:Kaveh,

The current release of AeroDyn is v13.00.02a-bjj. The fact that only the last digit was changed should mean that nothing that would significantly affect the results was changed. You can get the latest release here:

http://wind.nrel.gov/designcodes/simulators/aerodyn/




Dear Marshall,

Thank you for your reply. Generally are you going to put the older versions of Fast and other files which are required for making the S_Function on the website?

Best Regards,
Kaveh

Lucia.RicoFdez
Posts: 12
Joined: Thu Apr 18, 2013 12:55 am
Organization: UC
Location: Spain

Re: Instructions for Compiling FAST

Postby Lucia.RicoFdez » Fri Jul 12, 2013 3:02 am

Hi Bonnie,

Thanks for your old answers.
Now I trying to get the .out file of the Test17, with the specific characteristics of my wind turbine. One of this characteristics is that my wind turbine isn't onshore, it's offshore. For that I've changed:

Code: Select all

---------------------- PLATFORM ------------------------------------------------
   3        PtfmModel   - Platform model {0: none, 1: onshore, 2: fixed bottom offshore, 3: floating offshore} (switch)
"Platform.dat"   PtfmFile    - Name of file containing platform properties (quoted string) [unused when PtfmModel=0]


And my "Platform.dat" is:

Code: Select all

--------------------------------------------------------------------------------
---------------------- FAST PLATFORM FILE --------------------------------------
Platform characteristics
---------------------- FEATURE FLAGS (CONT) ------------------------------------
True        PtfmSgDOF   - Platform horizontal surge translation DOF (flag)
True        PtfmSwDOF   - Platform horizontal sway translation DOF (flag)
True        PtfmHvDOF   - Platform vertical heave translation DOF (flag)
False       PtfmRDOF    - Platform roll tilt rotation DOF (flag)
False       PtfmPDOF    - Platform pitch tilt rotation DOF (flag)
False       PtfmYDOF    - Platform yaw rotation DOF (flag)
---------------------- INITIAL CONDITIONS (CONT) -------------------------------
   20.0     PtfmSurge   - Initial or fixed horizontal surge translational displacement of platform (meters)
   20.0     PtfmSway    - Initial or fixed horizontal sway translational displacement of platform (meters)
   20.0     PtfmHeave   - Initial or fixed vertical heave translational displacement of platform (meters)
   0.0      PtfmRoll    - Initial or fixed roll tilt rotational displacement of platform (degrees)
   0.0      PtfmPitch   - Initial or fixed pitch tilt rotational displacement of platform (degrees)
   0.0      PtfmYaw     - Initial or fixed yaw rotational displacement of platform (degrees)
---------------------- TURBINE CONFIGURATION (CONT) ----------------------------
   7.5        TwrDraft    - Downward distance from the ground level [onshore] or MSL [offshore] to the tower base platform connection (meters)
   15.0       PtfmCM      - Downward distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
   30.0       PtfmRef     - Downward distance from the ground level [onshore] or MSL [offshore] to the platform reference point (meters)
---------------------- MASS AND INERTIA (CONT) ---------------------------------
   7466.330      PtfmMass    - Platform mass (kg)
   4229230.0     PtfmRIner   - Platform inertia for roll tilt rotation about the platform CM (kg m^2)
   4229230.0     PtfmPIner   - Platform inertia for pitch tilt rotation about the platform CM (kg m^2)
   164230.0      PtfmYIner   - Platform inertia for yaw rotation about the platform CM (kg m^2)
---------------------- PLATFORM (CONT) -----------------------------------------
   1        PtfmLdMod   - Platform loading model {0: none, 1: user-defined from routine UserPtfmLd} (switch)


When I include this part I get some error like:

Code: Select all

 Error: FF wind array was exhausted at 0 seconds <trying to access data at -0.95724 seconds>.
 Error getting velocity in AeroDyn/AD_WindVelocityWIthDisturbance<>.


I found for this error in this forum, and I found it here: viewtopic.php?f=4&t=618
The section in AeroDyn.f90 labeled
!----------------------------------------------------------
! Turn off dynamic inflow for wind less than 8 m/s ...
! ....

is what you will have comment out. I am not an expert in aerodynamics, but I will warn you to watch for numerial issues if you do choose to go this route.


I've changed that, but I have the same error.

Hope you can help me.

Thanks for all.

Bonnie.Jonkman
Posts: 566
Joined: Thu Nov 10, 2005 10:51 am
Organization: Envision Energy USA
Location: Colorado
Location: Boulder, CO
Contact:

Re: Instructions for Compiling FAST

Postby Bonnie.Jonkman » Mon Jul 15, 2013 9:58 am

Hi, Lucia.

I doubt that your issue is related to dynamic inflow. I don't recommend commenting out the section you quoted unless you want to specifically investigate that part of the code. Many things can cause the simulation to produce an error about the wind array being exhausted.

If you are modifying CertTest #17, I'm assuming you used the same wind file, which has a width and height of only 8 meters. If you put that turbine offshore, you'll likely need to increase the size of the wind file grid. (The initial conditions you list give an initial displacement of 20 meters.) See this post for help figuring out how large your TurbSim grid should be: viewtopic.php?f=4&t=863
Bonnie Jonkman

Envision Energy USA, 2016-
National Renewable Energy Laboratory, 2003-2016

Yulin.Si
Posts: 27
Joined: Mon Jul 09, 2012 4:00 pm
Organization: Zhejiang University
Location: P.R. China
Location: Zhoushan

Re: Instructions for Compiling FAST

Postby Yulin.Si » Mon Sep 23, 2013 8:42 am

Neelabh.Gupta wrote:Dear Bonnie and Marshall,

My system OS is 64-bit.

I tried both the ways: compiling it with 32-bit version and 64-bit version of IVF compiler. When I compile it with 32-bit and give a FAST simulation I get the error which I put in my 1st post:

forrt1error.PNG


And when I do it with, 64-bit (which I thought was the correct approach due to my OS configuration??), it gives the error: 'The DLL DISCON.dll cannot be loaded'.

I am not really sure, what's the problem. Also, just for information, the executable I generated after compilation is like 9.5 MB, but the one you posted is just 2.6 MB.

But, in any case thanks a lot for the executable file you put here. It loads the DISCON.dll and I am able to fetch blade span-wise forces. I really appreciate it!

Warm Regards,
Neelabh


Hi Neelabh

Sorry to dig into this old post since that I faced the same problem when compiling FAST in order to use Bladed DLL.
I guess you only used the executable file produced in the Debug mode, and I got the same error messages as yours.
You may try to switch into Release mode when compiling. It works well for me.

Kind regards
Yulin

Yiqing.Xia
Posts: 9
Joined: Mon Mar 11, 2013 9:52 pm
Organization: Shanghai Jiao Tong University
Location: China

Re: Instructions for Compiling FAST

Postby Yiqing.Xia » Mon Oct 28, 2013 2:40 am

Bonnie.Jonkman wrote:We frequently get asked questions about compiling FAST, so I have put together a set of instructions for compiling using Intel Visual Fortran (IVF) for Windows. You can access the pdf here:

http://wind.nrel.gov/public/bjonkman/De ... ctions.pdf

Please read this document carefully before posting compiling questions.

Thanks.

Hello Bonni
I compile FAST(v8.03.02b-bjj) based on the steps(http://wind.nrel.gov/public/bjonkman/De ... ctions.pdf
).But there is something wrong. I want to ask whether the compile steps of FAST(v8.03.02b-bjj) are the same with the described above.
Thank You.
Warm Regards,
Yiqing Xia


Return to “Computer-Aided Engineering Software Tools”

Who is online

Users browsing this forum: No registered users and 1 guest