1. Adams2007r1 and A2AD 2.FAST and Crunch 3. G95 Compiler

[color=blue]Hallo all,

Thanks for the account activation. As a beginner i am now learning fast codes. And till now i have some questions.

  1. Does Adams2007r1 also need IVF compiler? When i run the CompileLinkA2AD.bat file, there is a fatal error, that adams can not find a libifcoremd.lib file. So i looked for the Hardware and Software requirements on the Adams website and the manual tells Adams2007r1 needs IVF but not CVF compiler. In the CompileLinkA2AD.bat file, is @call adams05 cr-user n …obj -n…dll an error. It works with @call adams05r2 cr-user n …obj -n…dll

  2. when i test the fast CertTest.bat file with Crunchv3.00.00 version, an error happens and Crunch is aborted.
    [color=blue]Error like this:
    [color=red]Linked with the NWTC Subroutine LIbrary <v1.01.06, 06-April-2007>
    Invalid string for the numerical-output format specifier . The form at string is “FALSE”.

Aborting Crunch.
** An error has occurred in Test #01 **
Processing complete

[color=blue]In the older Version of Crunch, it works well.

[color=blue]3. How to compile Fast with g95 compiler in Windows XP system. I have read the Script that somebody wrote and put on his Website. But i can not understand it. It seems very complicated.

It seems too many questions. Anyway, thanks for your help. :slight_smile:

Hi Yinping Yang,

I’ll try to answer your questions:

  1. MSC.ADAMS 2007R1:
    The @CALL ADAMS05 statement is used to invoke MSC.ADAMS 2005R1 and the @CALL ADAMS05r2 statement is used to invoke MSC.ADAMS 2005R2. MSC.ADAMS 2007R1 (and newer releases) no longer support the CVF compiler. You will need to use the IVF compiler unless you want to keep using MSC.ADAMS 2005R2. We at NREL have not yet converted FAST, A2AD, and AeroDyn to be compatible with IVF. Instead, we still use CVF and continue to use MSC.ADAMS 2005R2 for this reason. That said, we have worked with several users to develop workarounds to get FAST, A2AD, and AeroDyn compiled with IVF. I can send you some guidance on how to do this if you wish; just let me know. In our next official releases of FAST, A2AD, and AeroDyn, we plan to resolve the compatibility problems and release versions that are directly compatible with IVF.

  2. FAST CertTest and Crunch v3.00.00:
    The CertTest for FAST v6.01 uses Crunch input files that are only compatible with Crunch v2.9. Running this CertTest with Crunch v3.00 will generate the error you’re reporting. We simply haven’t had the time to upgrade the FAST CertTest to work with Crunch v3.00. To get around this, I suggest you download Crunch v2.9 and rerun the FAST CertTest. Here is a link to Crunch v.2.91: [url]National Wind Technology Center's Information Portal | Wind Research | NREL.

  3. FAST with G95:
    I’m not sure what website you’re referring to. (Perhaps this one: [url]http://www.stefanocottafavi.com/en/polimi/11-fast-mexing-with-eclipse-photran-and-g95-compiler[/url]?) Regardless, we at NREL don’t use the G95 compiler and so don’t supply code that is directly compatible with it. However, I do know that a couple of FAST users do use the G95 compiler. One of those users has given me source code and a makefile of FAST v6.01 that is supposed to be compatible with G95. I’ve put that version for your use here: [url]National Wind Technology Center's Information Portal | Wind Research | NREL. I have never used this version and so cannot offer support for it, but perhaps it will be useful for you.

I hope that helps.

Best regards,

[color=blue]Hi Mr. Jonkman,

Thanks for your rapid reply and your help for the account activation. I now know the answers of the questions.

It will be very nice if you can send me the guidance about the Fast Compiling using IVF compiler. I also would like to learn it. The Website you mentioned is exactly the one i have refferred to. I have only noticed the PDF file. Maybe I should read the Website guidance again. Thanks for the link of G95 file, I will try it.

Best Regards,

Hi Yinping Yang,

Although we at NREL have not yet converted FAST, A2AD, and AeroDyn to work with IVF, we have worked with several users to develop workarounds. We have come up with the following list of changes:

(1) Replace the ModCVF.f90 and SysCVF.f90 files supplied with FAST with the Modifort.f90 and Sysifort.f90 source files found here: [url]National Wind Technology Center's Information Portal | Wind Research | NREL.
(2) Change the precision from single (ReKi = 4, /real-size:32) to double (ReKi = 8, /real-size:64). That is, in AeroMods.f90/Precision() change ReKi = 8 and use compile option /real_size:64.
(3) Enable Qsave in IVF. This compile option is required because variables are not SAVEd by default in IVF (but are in CVF).
(4) In FAST.f90/Solver(), change the ALLOCATE( ZK* ) statements to “IF( .NOT. ALLOCATED( ZK* ) ) ALLOCATE( ZK* )” for all ZK* variables. This change is required because IVF generates (but CVF doesn’t generate) an error if you ALLOCATE a variable that is already ALLOCATED.
(5) In AeroSubs.f90/ADIn(), split the “IF ((IndPrint > 0) .AND. (LINE(IndPrint-2:IndPrint-1) /= “NO”)) THEN” statement into two by moving the 2nd condition into a separate IF statement. This change is required because IVF doesn’t (but CVF does) use “shortcutting”.

Again, I have not developed these steps myself, but hopefully they will be of use to you. In our next official releases of FAST, A2AD, and AeroDyn, we plan to resolve the compatibility problems and release versions that are directly compatible with IVF.

Best regards,

Thanks for your patient reply and the useful information!

Hi
I have also faced with same error during linking process as follows:
link : fatal error LNK1181 : cannot open input file ‘libifcoremd.lib’.

What is the problem?
How I can solve this to create my dll file?

Note I am using Windows 7 x64 and IVF v11.066 x32 compiler, MD ADAMS 2010 x32 and I installed ADAMS after installing IVF.

Thanks,

It looks like your PATH is not set properly for the compiler to find the libraries it needs. The PATH gets set in the call to IFORTVARS.bat, but I have also seen instances where the compiler puts things in places not specified in the path (probably because of a compiler installation issue).