Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issure for coupling running SOWFA and openFAST2.6.0 as "example.NREL5MW.ALMAdvancedFAST8" #95

Open
chatianming opened this issue Aug 26, 2022 · 5 comments

Comments

@chatianming
Copy link

I install the SOWFA and openFAST 2.6.0.
I have some problems when I run the case named "example.NREL5MW.ALMAdvancedFAST8", becaue the case named "example.NREL5MW.ALMAdvancedFAST8" is for fastV8, so I copy the relevant files in r-test2.6.0 and mend the .fst.
All my files are uploaded in attachment.
Could you give the case that can be running if possible, very thank you.
best wishes
the errors are as follow:

openFAST input file heading:
FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running BeamDyn.
Nodal outputs section of BeamDyn input file not found or improperly formatted.
Running BeamDyn.
Nodal outputs section of BeamDyn input file not found or improperly formatted.
Running BeamDyn.
Nodal outputs section of BeamDyn input file not found or improperly formatted.
Running AeroDyn.
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted.
Skipping nodal outputs.
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 1, blade 1)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 2, blade 1)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 3, blade 1)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 4, blade 1)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 1, blade 2)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 2, blade 2)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 3, blade 2)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 4, blade 2)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 1, blade 3)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 2, blade 3)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 3, blade 3)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 4, blade 3)
[0] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[0] #1 Foam::sigSegv::sigHandler(int) at ??:?
[0] #2 ? in "/lib/x86_64-linux-gnu/libpthread.so.0"
[0] #3 __fast_subs_MOD_fast_initializeall at ??:?
[0] #4 __fast_subs_MOD_fast_initializeall_t at ??:?
[0] #5 FAST_OpFM_Init at ??:?
[0] #6 fast::OpenFAST::init() at ??:?
[0] #7 Foam::turbineModels::horizontalAxisWindTurbinesALMOpenFAST::initialize() at ??:?
[0] #8 Foam::turbineModels::horizontalAxisWindTurbinesALMOpenFAST::horizontalAxisWindTurbinesALMOpenFAST(Foam::GeometricField<Foam::Vector, Foam::fvPatchField, Foam::volMesh> const&) at ??:?
[0] #9 ? in "/home/zhao/OpenFOAM/zhao-2.4.x/platforms/linux64GccDPOpt/bin/pisoFoamTurbine.ALMAdvancedOpenFAST"
[0] #10 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #11 ? in "/home/zhao/OpenFOAM/zhao-2.4.x/platforms/linux64GccDPOpt/bin/pisoFoamTurbine.ALMAdvancedOpenFAST"
[ubuntu:04880] *** Process received signal ***
[ubuntu:04880] Signal: Segmentation fault (11)
[ubuntu:04880] Signal code: (-6)
-----------------------------------------------------------------------------------------------------------------------
example.NREL5MW.ALMAdvancedFAST8.zip

@ewquon
Copy link
Collaborator

ewquon commented Aug 26, 2022

I would recommend doing a test run of your modified FAST input files with standalone openfast (you'll need to set CompInflow in the .fst from 2 to 1, and give an appropriate InflowWind input). After you've verified that that is working, then the next thing to check is your turbineArrayProperties and make sure the inputs being passed to OpenFAST are reasonable.

void horizontalAxisWindTurbinesALMOpenFAST::sendInput()
{
fi.comm = MPI_COMM_WORLD;
fi.nTurbinesGlob = numTurbines;
fi.dryRun = dryRun;
fi.debug = FASTwriteDebugInfo;
fi.tStart = tStart - timeSimulationStart;
// True restart capability is not an option
if (fi.tStart > 0) {
fi.simStart = fast::restartDriverInitFAST;
} else {
fi.simStart = fast::init;
}
Pout << "nFASTSubSteps has to be the same for all turbines" << endl ;
fi.dtFAST = dt/nFASTSubSteps[0];
fi.nEveryCheckPoint = checkPointInterval ;
fi.tMax = timeSimulationEnd-timeSimulationStart ;
fi.numScInputs = numSuperControllerOutputs ;
fi.numScOutputs = numSuperControllerInputs ;
fi.globTurbineData.resize(fi.nTurbinesGlob);
for (int iTurb=0; iTurb < fi.nTurbinesGlob; iTurb++) {
std::vector<double> baseLoc(3);
baseLoc[0] = baseLocation[iTurb].x();
baseLoc[1] = baseLocation[iTurb].y();
baseLoc[2] = baseLocation[iTurb].z();
std::vector<double> hubLoc(3);
hubLoc[0] = baseLoc[0];
hubLoc[1] = baseLoc[1];
hubLoc[2] = baseLoc[2] + 90.0;
fi.globTurbineData[iTurb].TurbID = iTurb;
fi.globTurbineData[iTurb].FASTInputFileName = FASTInputFileName[iTurb];
fi.globTurbineData[iTurb].FASTRestartFileName = FASTRestartFileName[iTurb];
fi.globTurbineData[iTurb].TurbineBasePos = baseLoc ;
fi.globTurbineData[iTurb].TurbineHubPos = hubLoc ;
fi.globTurbineData[iTurb].numForcePtsBlade = numBladePoints[iTurb];
fi.globTurbineData[iTurb].numForcePtsTwr = numTowerPoints[iTurb];
}
FAST->setInputs(fi);
FAST->allocateTurbinesToProcsSimple();
}

@chatianming
Copy link
Author

Very thank you, and I want to confirm that the SOLVERS of "pisoFoamTurbine.ALMAdvancedOpenFAST" completly installed. So I really need a complete case to test the solvers of "pisoFoamTurbine.ALMAdvancedOpenFAST" coupled of 2.4.x and openFAST 2.6, but the case in the GitHub is for fastV8, so could you upload a complete case to help me to test the solver.

in addition, I also want to know how to run a openFAST2.6 case in the linux system? where should I find or compile those files such DISCON_glin32.so for openFAST2.6 in Linux ?

very thank you!
@ewquon

@ewquon
Copy link
Collaborator

ewquon commented Aug 29, 2022

You can find an example controller here: https://github.com/OpenFAST/r-test/tree/main/glue-codes/openfast
Or you can use a more general generic controller from here: https://github.com/NREL/ROSCO

Unfortunately, we don't have the bandwidth to support any of these old codes, so I don't have any test cases to share. Given that this is open-source, you should look at https://github.com/NREL/SOWFA/tree/master/src/turbineModels/turbineModelsOpenFAST/horizontalAxisWindTurbinesALMOpenFAST to help resolve any issues you encounter at runtime.

If you use https://github.com/NREL/SOWFA-6/tree/dev, we have more up-to-date turbine ALM coupled to OpenFAST.

@Didi-X
Copy link

Didi-X commented Oct 23, 2023

@ewquon I want to confirm whether the current SOWFA does not support the operation of beamdyn module. When I set CompElast in the.fst file to 1=ElastoDyn, the coupling case can run. But when I set it to 2=ElastoDyn + BeamDyn for blades. It starts with the following error:
Running BEM.
[0] #0 Foam::error::printStack(Foam::Ostream&) at ??:?
[0] #1 Foam::sigSegv::sigHandler(int) at ??:?
[0] #2 ? in "/lib/x86_64-linux-gnu/libpthread.so.0"
[0] #3 modmesh_mp_meshcopy_ at ??:?
[0] #4 openfoam_mp_init_opfm_ at ??:?
[0] #5 fast_subs_mp_fast_initializeall_ at ??:?
[0] #6 fast_subs_mp_fast_initializeall_t_ at ??:?
[0] #7 FAST_OpFM_Init at ??:?
[0] #8 fast::OpenFAST::init() at ??:?
[0] #9 Foam::turbineModels::horizontalAxisWindTurbinesALMOpenFAST::initialize() at ??:?
[0] #10 Foam::turbineModels::horizontalAxisWindTurbinesALMOpenFAST::horizontalAxisWindTurbinesALMOpenFAST(Foam::GeometricField<Foam::Vector, Foam::fvPatchField, Foam::volMesh> const&) at ??:?

I want to confirm is whether the error is caused by the use of the beamdyn module.I checked the horizontalAxisWindTurbinesALMOpenFAST in the make/options .It contains the beamdyn library
-laerodynlib \
-lbeamdynlib \
-lelastodynlib
I look forward to hearing from you. Thank you very much

@nnn741
Copy link

nnn741 commented Dec 16, 2024

您可以在此处找到示例控制器: https://github.com/OpenFAST/r-test/tree/main/glue-codes/openfast 或者您可以从此处使用更通用的通用控制器: https://github.com/NREL/ROSCO

遗憾的是,我们没有足够的带宽来支持这些旧代码中的任何一个,因此我没有任何测试用例可以共享。鉴于这是开源的,您应该查看 https://github.com/NREL/SOWFA/tree/master/src/turbineModels/turbineModelsOpenFAST/horizontalAxisWindTurbinesALMOpenFAST 以帮助解决您在运行时遇到的任何问题。

如果您使用 https://github.com/NREL/SOWFA-6/tree/dev,我们有更多最新的涡轮 ALM 与 OpenFAST 耦合。

Hello, when I use the Rosco controller, if I use its libdiscon.so file, sowfa will report an error, but if I use the libDISCON_glin64.0.so in the example NREL5MW, it can run well. I don't understand the reason and how I can use Rosco
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants