Reference frame solver with GGI

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

 August 25, 2010, 23:34 Reference frame solver with GGI #1 Senior Member   Pavan Join Date: May 2009 Location: Melbourne Posts: 101 Rep Power: 10 Sponsored Links 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.

 August 26, 2010, 10:03 #2 Senior Member   Pavan Join Date: May 2009 Location: Melbourne Posts: 101 Rep Power: 10 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?

 August 27, 2010, 04:01 #3 Senior Member   Pavan Join Date: May 2009 Location: Melbourne Posts: 101 Rep Power: 10 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)?

 August 30, 2010, 05:08 #4 Senior Member   Pavan Join Date: May 2009 Location: Melbourne Posts: 101 Rep Power: 10 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() ??

 September 5, 2010, 04:55 #5 Senior Member   Pavan Join Date: May 2009 Location: Melbourne Posts: 101 Rep Power: 10 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?

 Thread Tools Display Modes Linear Mode

 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 OffTrackbacks are On Pingbacks are On Refbacks are On Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post Jiuan FLUENT 4 May 24, 2010 21:58 Pytthon OpenFOAM 1 February 2, 2010 12:05 rystokes CFX 0 January 12, 2010 07:14 QinxueTan FLUENT 0 May 7, 2008 06:59 Lim FLUENT 1 April 19, 2008 10:46