Exawind / nalu-wind

Solver for wind farm simulations targeting exascale computational platforms
https://nalu-wind.readthedocs.io
Other
119 stars 81 forks source link

Power difference between Nalu+openfast vs stand-alone openfast #670

Closed tchatte3 closed 3 years ago

tchatte3 commented 3 years ago

Hi Nalu dev. team,

I am running a wind turbine simulation at on-design operating point condition (pitch angle, rotor rpm and free stream wind speed). I do not have a controller and the genDOF is switched off and I am just computing RtAeroPwr (as well as Cp, Ct) from the Aerodyn output channel. The operating point Aero power is 2.2 mW.

I have the following observations.

openfast standalone

1) Stand-alone openfast run: uniform velocity at 10.05 m/s, I get power equilibriate at ~ 1.9 mW. I provide 10.05 m/s steady, plug-flow wind @ InflowWind module. When I channel output from the inFlow wind output channel at hub-height, I get 10.05 m/s

openfast+Naluwind

2) openfast + Nalu-wind. uniform steady velocity at 10.05 m/s through CFD inlet condition. (simple laminar model, no turbulence no shear, plug flow profile). This inlet condition is 2.5 km upstream of the turbine. For the same operating condition (blade pitch, rotor rpm), note the output channel from the inflow wind at hub-height is around 7.5 m/s (I understand that is because of blockage effect). The Aero power equilibriate to 1.5 mW.

Note all the openfast inputs corresponding to Elastodyn, Aerodyn are same for 1) and 2). For 1) I am actually providing free stream velocity at 10.05 m/s through Inflow wind [InflowWind switch 0] but for 2) 10.05 m/s is through Nalu-wind (CFD code) inflow condition [InflowWind switch 1 -- external from openFOAM or other CFD]. Additionally, I use actuator disc model, where I understand that the CFD Code is actually supplying induced velocities at the actuator nodes at openfast, right?

Having said that, I am puzzled to see such a difference in Aero power between 1) and 2). Any suggestions or guidance @sayerhs , @psakievich, @lawrenceccheung or @gantech as to why we observe this?. Note, I have established the NREL 5MW wind power for stand-alone openfast vs nalu+openfast. I am working with a different turbine now.

I tried contacting the openfast dev. team, but unfortunately was unable to secure a response.

Sincere Regards,

tchatte3 commented 3 years ago

Also, the C_p and C_t calculated for openfast vs nalu+openfast are in the similar range, despite differences in the power for this turbine. Is the induced velocity used in the denominator for normalization?

lawrenceccheung commented 3 years ago

hi @tchatte3,

I'm wondering if the difference can be caused by how openFAST is set up to run between the two cases. I have a couple of questions/checks that might help answer the question.

  1. You can check that the blade pitch and the rotor rpm in the output of openFAST are exactly what you specified to begin with. With the controller and genDOF turned off there should be nothing modifying this behavior, but it's always good to check.

  2. Check that the air densities (and any other duplicated parameters) between Nalu-Wind and openFAST input files are the same.

  3. Check the WakeMod parameter in the AeroDyn input file between the openFAST and the Nalu-Wind run. My understanding is to use WakeMod=0 for Nalu-Wind simulations, but WakeMod=1 for openFAST stand-alone simulations. The reason being that openFAST will use BEM theory to calculate the axial induction, but Nalu-Wind wind will account for it, so it should be turned off when run in a coupled manner. Compare this input https://github.com/OpenFAST/r-test/blob/master/glue-codes/openfast/5MW_Land_BD_DLL_WTurb/NRELOffshrBsline5MW_Onshore_AeroDyn15.dat with this input: https://github.com/Exawind/nalu-wind/blob/master/reg_tests/test_files/nrel5MWactuatorLine/5MW_Baseline/NRELOffshrBsline5MW_Onshore_AeroDyn15.dat

  4. Finally, if all else fails, you can also check the individual velocity outputs on the blades through the aeroDyn outputs, by looking at this specification: https://github.com/Exawind/nalu-wind/blob/faa64517c5e93510f5b4f59b0ce3c57d5dbc23c0/reg_tests/test_files/nrel5MWactuatorLine/5MW_Baseline/NRELOffshrBsline5MW_Onshore_AeroDyn15.dat#L73-L79 This will be more involved, but give you the complete picture of what's going on with the blades.

There might also be some differences because of the mesh discretization and the epsilon used in the the actuator disk model, but I would start with questions 1-3, and see if that leads to anything first.

Cheers,

Lawrence

tchatte3 commented 3 years ago

@lawrenceccheung. This is a great start. I already accounted for 1 and 2 in the beginning of the simulation. There are 4/5 places in nalu and openFAST where density is needed. But I think 3) could be a possible difference. I have wakeMod=1 also in Nalu+openfast, which means perhaps it it double counting induction effects. I will definitely work towards point 3 as you suggested.

tchatte3 commented 3 years ago

@lawrenceccheung . It was indeed the WakeMod parameter. It was accounting for double-counting induction effects twice. Thanks very much for the guidance. Setting WakeMod = 0, did the trick. The issue is resolved now.

Best Regards,