Exawind / amr-wind

AMReX-based structured wind solver
https://exawind.github.io/amr-wind
Other
103 stars 78 forks source link

Uniform CT Disk Validation with 1-D Momentum Theory #977

Closed StormMata closed 1 week ago

StormMata commented 4 months ago

Description

We are implementing the uniform CT disk in uniform inflow. In checking that we have set up the problem correctly, we have tried validating the velocity at the disk and in the wake against 1-D momentum theory. We find that both deviate from what we expect. A plot of the AMR-Wind centerline velocity is provided below with the expected values from momentum theory. We have tried tuning the epsilon parameter, but are unable to find a value that changes the results materially. Have others experienced similar issues with this disk model?

Screenshots

Streamwise_velocity

To Reproduce

The issue should be reproducible with the input file provided below. The build details are provided in the file attached below.

Input File

uni_ct.txt

Build Information

amr_build.txt

psakievich commented 4 months ago

@lawrenceccheung

psakievich commented 4 months ago

@StormMata have you tried adjusting Actuator.UniformCtDisk.diameters_to_sample? This variable tells it how far upstream to sample for computing the free-stream velocity. 1 Diameter is very close. From your plot it looks like you want to set this to at least 3 or 4.

Another parameter you can adjust is the number of points in r. This really just determines how much blending there is radially since the uniform ct disk has no span-wise variations.

With 5 points in R you are going to have forcing applied over an extra 24m beyond the disk (linearly decaying)

lawrenceccheung commented 4 months ago

Hi @StormMata,

Also, what you're showing with AMR-Wind is generally the correct behavior in front of the turbine. There's an induction zone ahead of the rotor which causes the flow to decelerate before it hits the turbine. There's a formula from Medici et al (2011) $$u(x) = U_\infty\left[ 1 - a\left( 1 + \frac{x/R}{\sqrt{1 + (x/R)^2}} \right)\right]$$ which gives the centerline velocity in terms of the induction factor $a$ on the rotor. Our previous studies have usually shown that AMR-Wind matches that behavior pretty well using the UniformCtDisk model, with minor deviations at high Ct: image

On the downstream side there isn't a perfect analytical formula which describes the wake velocity, but it does seem like the wake deficit is a bit stronger than it should be. However, that is sensitive to the numerical setup of the problem. I should note that your mesh is relatively coarse for this problem:

amr.n_cell                                  = 64 32 32      # Grid cells at coarsest AMRlevel
amr.max_level                               = 0             # Max AMR level in hierarchy
geometry.prob_lo                            = -1200.0 -1200.0 -1200.0
geometry.prob_hi                            =  2400.0  1200.0  1200.0
geometry.is_periodic                        = 0   1   0     # Periodicity x y z (0/1)

So that yields cell sizes of 56.25 x 75 x 75, which for a 240m rotor is pretty coarse.

Lawrence

StormMata commented 4 months ago

Hi @psakievich and @lawrenceccheung,

Thanks to you both for your help. We've increased the mesh resolution (now 200 x 128 x 128) and the sampling distance (now 4.0D) and attached the updated input file for reference.

We still find with this setup that the disk velocity is about 6.4% lower than expected (both from Medici and standard momentum theory, which give the same result). Moreover, we see that the wake velocity is around 35% off of the expected value from $U{wake} = U{\infty} \times (1 - 2a)$. Would we not expect that for a disk with $CT = 0.75$ in laminar and uniform inflow, the induction would be around $a = 0.25$ and the wake velocity would be around $0.5U{\infty}$? Could this still be an issue of sensitivity to the mesh resolution or some other parameter?

Streamwise_velocity (2)

Input file

uni_ct.txt

lawrenceccheung commented 4 months ago

hi @StormMata,

Regarding the induction values, the uniform Ct disk model should get a pretty good value for the rotor disk velocities, but it won't be perfect, especially for higher Ct values. Here's the comparison that we've observed: image where the BEM theory curve is given by $$Ct = 4a(1-a)$$

Note that the rotor disks velocities depend on the numerical parameters used in AMR-Wind. One possible rule of thumb is to keep the num_points_r parameter approximately the same as rotor diameter/mesh spacing. If you use too many or too few points then there are effects that can be observed at the edge of the rotor disk. image

Another thing to note is that things also heavily depend on the epsilon parameter. I would set epsilon to be smaller than the mesh size, maybe in the range $$0.5 \Delta x \le \epsilon \le \Delta x.$$ A larger epsilon might take more momentum out from the flow and lead to deeper wakes, although I don't know if that accounts for everything that you're seeing.

Lawrence

psakievich commented 3 months ago

@StormMata another parameter you can toy with is the actual spreading function being used. We offer two additional varieties beyond the default you are using.

A description of what the spreading functions are is here: https://www.osti.gov/servlets/purl/1870580

Slide 12 left figure is the default you are currently using Slide 12 right figure is the Actuator.UniformCtDisk.spreading = LinearBasis Slide 11 is the same method and is Actuator.UniformCtDisk.spreading = UniformGaussian

For the uniform_ct disk the first two options should give the same results. These spreading functions and improving them is a line of research that has been put on the back burner for a bit. Happy to discuss further if you find any notable differences in behavior.

github-actions[bot] commented 2 months ago

This issue is stale because it has been open 30 days with no activity.

marchdf commented 2 months ago

@StormMata were you able to try some of the proposed fixes? If so, can you close the issue if you feel like it has been resolved?

github-actions[bot] commented 1 month ago

This issue is stale because it has been open 30 days with no activity.

marchdf commented 1 week ago

Closing for lack of activity. Please reopen if there still needs to be discussion.