I am doing research in wind turbine blade design. The Doctorate I am currently working under used RunNTM in previous research as a way to easily run many cases in FAST with minimal “babysitting” of the process. We were surprised to see that RunNTM has been eliminated from the NREL software library. Is there a replacement program that people are using to manage runs in FAST, or are most of you using manually generated batch files at this time?
We have been using a much more sophisticated Perl script that we call RunIEC. It is not the same as the RunIEC that was previously available on our website.
Unfortunately, RunIEC is a very complicated program and we do not feel it is sufficiently polished (and not documented) enough for us to release it to the public. We just do not have the time to answer all the questions that would be inevitable. I’d like to get back to working on it, but there are just too many higher-priority projects in the way. Sorry.
I am using Perl script too, for running FAST. I am not sure how correct my perl code is but it seems work well. I checked the parameters and all of them replaced the original parameters in FAST_inp.fst file.
But the problem I encountered is that the result of simulation by using perl script is different with using fast alone. The differences is very small in outputs except some parameters like torque on tower basement (difference is 194 kN.m out of about 20000) and blade root torque (20 kN.m out of about 1000). Although the percentage of variation in results is low, but we expect exactly the same result out of the two method.
This question arose when one of DLCs didn’t run by perl script due to an error (seems instability problem) while it completely ran by FAST.
Are you saying that you can create a Perl script that only runs the system command “FAST_Win32.exe FASTInputFile.inp”, and the model won’t run to completion, but if you call “FAST_Win32.exe FASTInputFile.inp” from a command prompt in the same directory, it runs?
That doesn’t make sense to me. Are you sure you’re calling the same FAST executable and using the exact same input file(s)? If so, what version of FAST are you running and what are you modeling?
No, please forget about the error, because it causes misunderstandings.
I have a perl script that runs completely and I readjust the perl in order to run just one load case to compare the perl and method. Exactly I run the same input file and the same FAST executable in the same directory, once by command prompt and then by perl.
What I found is that when the run by “fast.exe fast_inp.fst” is accomplished and immediately I start the run by perl, the results are not the same and have small variation. But, when after accomplishing run by “fast.exe fast_inp.fst”, I close the command prompt and reopen it again and run the perl script, the result is exactly the same.
Because the perl script is supposed to run lots of load cases in batch mode without reopening command prompt in each time, are these results correct and reliable?
Even it’s not related to the perl. By repeating a single fast run twice without closing command prompt, the results are different. Considering that this situation is just for large wind files like turbulent (NTM: normal turbulent model).
The FAST version is (v7.01.00a-bjj, 16-Feb-2012). I compiled the FAST by using 64-bit system, “Compile_FAST.bat” file (IVF_LOC=C:\Program Files (x86)\Intel\ComposerXE-2011\bin\ia32) and “Intel Parallel Studio XE2011” program.
The interesting thing is that the differences is just happen by running FAST in 64-bit systems. I tried it in 32-bit system and the results were exactly the same.
I attached an excel file which contains differences. Book2.xlsx (14.9 KB)
I am using the FAST v8 right now to do the simulations for offshore floating wind turbine (such as OC4 submersible ). My problem is I need to do massive simulations, sort of like the Monte Carlo simulations using FAST to get the structural response, for instance, to change the wind speed (and seed), wave height, and wave peak period or the other parameters in FAST. So it will be extremely difficult or impossible for me to run thousands of simulation one by one manually.
I read the forum, and know about the perl script like RUNIEC and RUNNTM for automation. I have following questions:
My understanding is that those script can only deal with changing different wind input file, while I also need to change the Hs and Tp in HydroDyn input file, right?, if so, it is also not doable for the problem by using RUNNTM?
if I simulate the cases for fatigue analysis for onshore wind turbine, so I need to change the built-in FAST_AD program to the FAST program that I use?
Here are my answers to your questions. But please keep in mind that RunIEC and RunNTM are very old and no longer supported. Most users of FAST who need to run many simulations have written there own scripts for their own purposes. For example, the scripts in the MATLAB Toolbox (github.com/OpenFAST/matlab-toolbox) can be used to read and write FAST input files, so–using these scripts–it would not be difficult to write your own MATLAB script to generate FAST input files for a large set of cases based on a master set of FAST input files. I know similar scripts have been written in Python.
Correct, RunNTM only changed the wind speed for an old version of FAST (FAST_AD v3 instead of FAST) and an old turbulence wind generator (SNwind instead of TurbSim) and an old post-processor (Crunch instead of MCrunch, MLife and/or MExtremes). You would need to use TurbSim and FAST v8 input files and ideally, you’d also need to make other changes to these files, e.g. to the mean wind speed, initial rotor speed, initial blade-pitch angles, WaveHs, WaveTp, WaveSeed, etc.
Following your informative reply, I think using MATLAB is a promising direction for my problem. May I ask you some questions in more detail:
I plan to park the OC4 submesible, as I need to simulate the cases that wind speed at hub height exceeds V-cutout, say 25 m/s. So initial rotor speed will be 0, initial blade-pitch angles 90°, I only need to change wind speed including windseed for each bin, wave seed, wave hight Hs, wave period Tp. Such that, changing wave seed, wave hight Hs, wave period Tp can be easy done by using MATLAB to generate many HrdroDyn input files. But for each wind speed and wind seed, my understanding is that I also need to use MATLAB script to generate many Turbsim input files to prepare .wnd files that can be read by InflowWind module, right?
2)if so, can you clue me info or posts about which MATLAB script in the MATLAB-toolbox that I can use to do this? Though I have scanned through all the MATLAB scripts in the above link, and the post discuss MATLAB script is massive by using search function in the forum.
Even I have generated many FAST input files with the changed parameters or files (e.g. .wnd) that I desire, then the problem is how can I run them automatically instead of one by one in window command?
Using the Matlab toolbox, I think the following code should do what you want. It reads the primary TurbSim file called ‘TurbSim.inp’ , sets the wind speed to 5 m/s, and writes a new TurbSim file called ‘NewTurbSimFile.inp’, using the format in a template TurbSim file called ‘TurbSim_template.inp’ (which could also be the ‘TurbSim.inp’ file you originally read.
TS = FAST2Matlab('TurbSim.inp',2); % this contains 2 header lines
TS = SetFASTPar(TS,'URef',5);
Matlab2FAST(TS,'TurbSim_template.inp','NewTurbSimFile.inp',2); % there are 2 header lines
You can run this in the Matlab command window:
system('turbsim_x64.exe NewTurbSimFile.inp' )
You can put all this code in a loop in Matlab to run all the cases you want, and you can also call the FAST executable in a similar way.
Thanks very much for your help! Now I am working on the MATLAB script to do the massive FAST simulations. Following your instruction, I have another question due to my inexperience for MATLAB.
I plan to generate massive .inp file with the different file name though Matlab2FAST function and then submit them to Turbsim_x64.exe to generate corresponding .wnd files. But, when I use the MATLAB function ‘system’ to execute Turbsim_x64.exe (as you have indicated ‘turbsim_x64.exe NewTurbSimFile.inp’ ), the file name to be executed seems to be the absolutely name. And I cannot change its name automatically through the string in the MATLAB loop.
Filename=[‘Uref=’ num2str(VV(ii)) ‘_Seed=’ num2str(jj) ‘.inp’];
Matlab2FAST(TS,‘TurbSimOC4.inp’,Filename,2); % This line can work
system(“turbsim64.exe Filename” ); Then the MATLAB will give error: The input file, “Filename”, was not found.
I am wondering whether you also encounter this problem before, and how to solve it? Looking forward to your reply.