|
[Sponsors] |
August 26, 2010, 00:34 |
Reference frame solver with GGI
|
#1 |
Senior Member
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 17 |
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, 11:03 |
|
#2 |
Senior Member
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 17 |
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, 05:01 |
|
#3 |
Senior Member
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 17 |
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, 06:08 |
|
#4 |
Senior Member
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 17 |
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, 05:55 |
|
#5 |
Senior Member
Pavan
Join Date: May 2009
Location: Melbourne
Posts: 101
Rep Power: 17 |
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)); |
|
|
|
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 22: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 07:59 |
Multiple reference frame | Lim | FLUENT | 1 | April 19, 2008 11:46 |