CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Reference frame solver with GGI

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

Reply
 
LinkBack Thread Tools Display Modes
Old   August 25, 2010, 23:34
Default Reference frame solver with GGI
  #1
Senior Member
 
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 8
rieuk is on a distinguished road
Hey guys, I'm simulating 2D flapping wing flow and I've so far got rotation to work using GGI -I'm trying to incorporate translation now which should be a straightforward application of a non-inertial reference frame but I'm wondering if there's any solver already designed to do this.
rieuk is offline   Reply With Quote

Old   August 26, 2010, 10:03
Default
  #2
Senior Member
 
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 8
rieuk is on a distinguished road
Now that I think about it, it seems like it might be a little more complicated that I first thought with respect to the boundary conditions. At the moment I have flow over a rotating wing section. But now I'd like to translate it up and down as well. What's the simplest way to do this in OpenFOAM?
rieuk is offline   Reply With Quote

Old   August 27, 2010, 04:01
Default
  #3
Senior Member
 
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 8
rieuk is on a distinguished road
Any ideas? ...If it's just a matter of adding a time dependent acceleration term into the momentum equation then it's simple but do I need to derive the pressure boundary condition at the wing wall or can I leave it as zero-gradient (which is non-physical)?
rieuk is offline   Reply With Quote

Old   August 30, 2010, 05:08
Default
  #4
Senior Member
 
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 8
rieuk is on a distinguished road
What's the syntax to add a sinusoidally varying acceleration term to my momentum equation? Do I create a volScalarField and multiply with mesh().C()? And how do I reference the current time? Using time().value() ??
rieuk is offline   Reply With Quote

Old   September 5, 2010, 04:55
Default
  #5
Senior Member
 
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 8
rieuk is on a distinguished road
Anyway the solution was the following:

Code:
scalar Pi = mathematicalConstant::pi;
dimensionedScalar accCt("accCt",dimensionSet(0,1,-2,0,0,0,0),10000*Foam::cos(2*Pi*runTime.value()/0.5));
 dimensionedVector acc("acc",dimensionSet(0,1,-2,0,0,0,0), vector::zero);

 acc.component(vector::X) = 0.5 * accCt;

acc.component(vector::Y) = 0.5 * Foam::sqrt(3.0) * accCt;

        fvVectorMatrix UEqn
         (
             fvm::ddt(U)
          + fvm::div(phi, U)
            - fvm::laplacian(nu, U)
              ==
          acc
         );
 

        solve(UEqn == -fvc::grad(p));
Now I need to take care of the BCs using sinusoidally varying velocity conditions. What BC can do this? groovyBC?
rieuk 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
how to treat the rotating zone in multiple reference frame (MRF) Jiuan FLUENT 4 May 24, 2010 21:58
Building OF 1.6 - CentOS 4.x Pytthon OpenFOAM 1 February 2, 2010 12:05
question about governing equation in CFX using rotating/non rotating reference frame rystokes CFX 0 January 12, 2010 07:14
Gravity in single rotating reference frame QinxueTan FLUENT 0 May 7, 2008 06:59
Multiple reference frame Lim FLUENT 1 April 19, 2008 10:46


All times are GMT -4. The time now is 15:23.