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

The Actuator Disk Model (ADM) implementation #84

Open
hcOnel opened this issue Oct 16, 2021 · 7 comments
Open

The Actuator Disk Model (ADM) implementation #84

hcOnel opened this issue Oct 16, 2021 · 7 comments

Comments

@hcOnel
Copy link

hcOnel commented Oct 16, 2021

Hi,
I know that SOWFA has an Actuator Disk Model (ADM) implemented, i.e. pisoFoamTurbine.ADM. I'm interested in running ADM in steady state using a RANS turbulence model, but I'm not sure if its possible since the solver is based on pisoFoam.
Also I've been reading through the SOWFA training document 2017 but it only includes details on ALM. Are details on the ADM implementation documented somewhere? If not, can you refer me to the paper it is based on?
I would also appreciate your thoughts on the possibility of the implementation of steady-state RANS-ADM in SOWFA.
Thanks in advance

@Bartdoekemeijer
Copy link
Contributor

I believe SOWFA's implementation is comparable to the "ADM-R" model that is described in the article "Large-Eddy Simulation of Wind-Turbine Wakes: Evaluation of Turbine Parametrisations" by Wu and Porte-Agel, 2010 (URL). Though, I haven't looked at the ADM code in too much detail, so I can't tell you the subtleties and how SOWFA would differ from that paper, if at all.

I'm not sure about steady-state simulations with SOWFA. I have never seen anyone do that before, but it may be possible.

@hcOnel
Copy link
Author

hcOnel commented Oct 23, 2021

Thanks for the reference.
An unsteady simulation is a must for ALM, as it requires dynamic rotation due to the model definition.
If we consider RANS for a moment (since LES is unsteady only), theoretically, steady ADM-R should yield the same results as that of a quasi-equilibrium unsteady. The formulation of ADM-R (force projection, velocity and AoA sampling methods) should allow this. I've been reading through the horizontalAxisWindTurbinesADM.C code and could not find anything that would make unsteadiness necessary. I was thinking of using/implementing it in a steady solver, such as simpleFoam.
I'm new to OpenFOAM coding so that is why I'm asking for your valuable input :)
Regards

@Prabs8815
Copy link

Hello,

I have read your post and immediately i started wondering if you have considered the following things before planning to change the source code

  1. Firstly, in the U file of openFOAM you could change the "internalField" to "uniform" and set a constant velocity.
  2. In the turbulence properties file in constant folder, you could change it to RASModel instead of LESModel
  3. Remember that the turbine models in SOWFA are coded in such a way that the force calculation itself "is not seen" by the solver. I mean even if you copy paste the ALM code in the ADM code the solver will assume you are performing simulations of ADM because what it is being fed into Navier stokes equation by the turbine model is only the force finally calculated.
  4. i agree the resources describing ADM model implementations are sparse but did you go through the reference "Wind Turbine Modeling for Computational Fluid Dynamics December 2010 — December 2012 L.A. Martinez Tossas and S. Leonardi"
  5. if turbulence modelling is your only problem. I would suggest trying different things without changing the code first and exploit all the features of file structure in OpenFOAM which enables you to individually define different parameters of your simulation. Also, reading about what the solvers do and their differences will give you some more ideas.

So there are many things to think about, let me know if i am mistaking something !

All the best and happy FOAMing !!

Best regards

@hcOnel
Copy link
Author

hcOnel commented Oct 24, 2021

Hi @Prabs8815,
Thanks for your response! Regarding your 1st and 2nd statements, yes I know those, but what I'm specifically interested in is to run ADM in a steady solver.
3. I am also aware of that. Adding the body force to the momentum equation in the solver results in a new solver. What I'm considering is to use the addSup functionality of fvOptions as @petebachant did instead, hence, ADM can be used in any solver. However, I've seen your post where you mention the requirement of numerous modifications to the code. Since I'm new to OpenFOAM coding, I'm trying to make a sense of it and estimate the coding required.
4. Yes I've checked that paper and what I understand is they've run unsteady simulations. I'm still not able to find a steady ADM-R study. However, I've heard from a colleague today that the CFD++ software (which I've never used before) has a fully functional rotor disk application that can be run in steady-state, so I think that it is possible.
5. I know that SOWFA's ADM-R can be run with RANS as Dr. Churchfield @mchurchf says in this document (p.29), but he also says that it is untested, which I'm interested in.

Regards

@Prabs8815
Copy link

Hello @hcOnel

Good that you already explored all those options already.

I still don't understand why you are searching for steady solver in SOWFA libraries whose complexity is more inclined to capture wind farm physics. With a steady solver i doubt if you could go close to description of wake properties like expansion. pressure deficit and meandering etc.
On the other hand with 3D LES simulations in SOWFA you are aiming at a very high resolution of the flow. If your project does not require that accuracy in predicting the flow around the turbine

  1. Did you consider using other methods based on vortex theories or to that matter BEM ?
  2. http://www.tfd.chalmers.se/~hani/kurser/OS_CFD_2010/erikSvenning/erikSvenningReport.pdf maybe this for you, the author develops an actuator disk computation with a simpleFOAM solver.

In any case i can help you better if you describe your motivation towards doing ADM simulations in steady solver and why you think that approach best suits your problem statement.

Best regards

@hcOnel
Copy link
Author

hcOnel commented Oct 26, 2021

Dear @Prabs8815,
There are modified k-eps turbulence models that can replicate turbine wakes reasonably well. Some are:
https://www.sciencedirect.com/science/article/pii/S0167610507000943?via%3Dihub
https://onlinelibrary.wiley.com/doi/full/10.1002/we.1736
For example, application of ADM on wind farms with complex topography, and even with time-varying boundary conditions. It is quite difficult and complicated to generate the inflow and atmospheric turbulence with LES in such cases and RANS might suit better depending on your computational power. Or, a 3D Navier-Stokes based optimization problem would require a steady-state simulation. In any case, I just want to compare steady and transient solutions.
I totally agree with you on LES and free vortex wake methods, but I think RANS still offers a good trade-off between them.
I'm just considering SOWFA's ADM library for that purpose, not criticizing SOWFA's models :) Maybe I couldn't make myself clear.
Regards

@dcsale
Copy link

dcsale commented Oct 27, 2021 via email

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