CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > CFX

Applying momentum source which depends on non-local variables

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   November 8, 2013, 18:08
Default Applying momentum source which depends on non-local variables
  #1
New Member
 
Michael Shives
Join Date: Sep 2013
Posts: 5
Rep Power: 3
mrshives is on a distinguished road
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?
Attached Images
File Type: jpg Picture1.jpg (66.8 KB, 18 views)
mrshives is offline   Reply With Quote

Old   November 9, 2013, 05:29
Default
  #2
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,797
Rep Power: 84
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
Most people would do an average over the entire inlet face and use the average. This is easy with functions like areaAve() and massFlowAve().
ghorrocks is offline   Reply With Quote

Old   November 10, 2013, 14:51
Default
  #3
New Member
 
Michael Shives
Join Date: Sep 2013
Posts: 5
Rep Power: 3
mrshives is on a distinguished road
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?
mrshives is offline   Reply With Quote

Old   November 10, 2013, 18:15
Default
  #4
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,797
Rep Power: 84
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
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.
ghorrocks is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
AMI speed performance danny123 OpenFOAM 19 October 24, 2012 07:44
Upgraded from Karmic Koala 9.10 to Lucid Lynx10.04.3 bookie56 OpenFOAM Installation 8 August 13, 2011 04:03
Momentum source coefficient and convergence meh CFX 2 November 19, 2010 17:57
DxFoam reader update hjasak OpenFOAM Post-Processing 69 April 24, 2008 01:24
IcoFoam parallel woes msrinath80 OpenFOAM Running, Solving & CFD 9 July 22, 2007 02:58


All times are GMT -4. The time now is 13:54.