CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Applying momentum source which depends on non-local variables (https://www.cfd-online.com/Forums/cfx/126147-applying-momentum-source-depends-non-local-variables.html)

mrshives November 8, 2013 17:08

Applying momentum source which depends on non-local variables
 
1 Attachment(s)
Hello;

Background
I'm doing Actuator-Disk based simulations of turbine rotors. This approach calculates the turbine blade forces from calculated flow velocities and tabulated airfoil coefficients. A volume region is created in the mesh which extends upstream and downstream of the rotor-plane. So this region is a cylinder of radius R=rotor radius, and arbitrary thickness dx. Within this region, momentum source terms are applied to the flow to model the effect of the turbine.

The problem
Presently, I'm using CEL to calculate the rotor forces which are then applied as momentum source terms in the rotor subdomain. These forces are evaluated based on the local element velocity field. This situation is somewhat inconsistent with theory, because in fact the forces should be evaluated only at the midplane of the subdomain. (i.e. within the plane swept out by the 1/4 chord line of the blade.) So I'd like to be able to write CEL expressions that can define the momentum sources at any location (S=S(x,y,z)) based on the flow-field at the midplane of the subdomain. (i.e. S(x,y,z)=fn(u(x0,y,z),v(x0,y,z),w(x0,y,z)). See attached image if that helps visualize.

Potential solution strategy
I considered using monitor points at nodes on the midplane, but then i'd still need to somehow write a CEL expression which would do a 2d interpolation betewwn those points to create a spatially-continuous expression. his doesn't seen easy to me.

I guess this could be done with USER FORTRAN, but i'm a bit put-off by the learning curve involved.

Another option may be to shrink the subdomain thickness to a single element, however I'm concerned that may cause numerical issues and problems with accuracy, especially at the edge of the subdomain.

I thought there might be some kind of cool trick in CEL to do this... Any suggestions?

ghorrocks November 9, 2013 04:29

Most people would do an average over the entire inlet face and use the average. This is easy with functions like areaAve() and massFlowAve().

mrshives November 10, 2013 13:51

Thank Glenn. But the area average over the whole inlet face would only apply if using thrust coefficient to define the rotor forces. I'm using lift and drag coefficients and the spanwise chord distribution to define the rotor forces, which vary along the blade span, but may also vary in other ways due to non-uniform inflows etc. The idea is to make a general model applicable for various inflow conditions and for use in arrays of turbines.

From your reply i'm guessing that it's not simple to do what I was asking. Would I be correct in saying that I'd have to resort to making a user fortran routine to define source terms that depend on the velocity somewhere in the sub-domain other than where the sources are being applied?

ghorrocks November 10, 2013 17:15

Oh, I see what you are trying to achieve now.

I suspect that you might be pushing the momentum source simplification a little too far - if you want to account for non-uniform inflows, spanwise chord distribution and all that sort of detail you might have to bite the bullet and model the fan.

Alternately if you make your source a plane rather than a volume (by defining it as an interface and putting some interface conditions on it) then you can simply make the source a function of the local flow conditions (p,v,T etc). This is very simple to do. I suspect this might be a better way to implement this than the source volume.


All times are GMT -4. The time now is 00:29.