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

Multiple Reference Frame

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

Reply
 
LinkBack Thread Tools Display Modes
Old   June 25, 2007, 05:10
Default I have implemented (with the h
  #1
New Member
 
Gabriel Barroso
Join Date: Mar 2009
Posts: 23
Rep Power: 8
gabriel is on a distinguished road
I have implemented (with the help of you all) rotating wall boundary conditions and single reference frame for simpleFoam. Now i want to implement Multiple Reference Frame (rotor / stator). I don't need topological change, just one mesh is rotating and the other is static.

Thanks for your hints.

Bests Gabriel
gabriel is offline   Reply With Quote

Old   June 25, 2007, 05:50
Default Hello Gabriel, it's already i
  #2
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,894
Rep Power: 26
alberto will become famous soon enoughalberto will become famous soon enough
Hello Gabriel,
it's already implemented in OF 1.4. See OpenFOAM-1.4/tutorials/MRFSimpleFoam

Regards,
A.
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as live DVD/USB, hard drive image and virtual image.
OpenQBMM - An open-source implementation of quadrature-based moment methods
alberto is offline   Reply With Quote

Old   June 26, 2007, 07:47
Default Sorry, thanks. I just looked i
  #3
New Member
 
Gabriel Barroso
Join Date: Mar 2009
Posts: 23
Rep Power: 8
gabriel is on a distinguished road
Sorry, thanks. I just looked in FoamX.

Regards,

Gabriel
gabriel is offline   Reply With Quote

Old   February 7, 2008, 07:06
Default Hi, everyone! I've tried to r
  #4
Member
 
Paul Mauk
Join Date: Mar 2009
Posts: 39
Rep Power: 8
plmauk is on a distinguished road
Hi, everyone!
I've tried to run tutorial-case MixerVessel2D (MRFSimpleFoam), but I've got an Error message

--> FOAM FATAL ERROR : cannot find MRF faceZone rotor

From function Foam::MRFZone::MRFZone(const fvMesh& , const dictionary&)
in file cfdTools/general/MRF/MRFZone.C at line 71.

FOAM exiting

thanks,
Paul.
plmauk is offline   Reply With Quote

Old   February 7, 2008, 09:22
Default Hi, I think you have to exe
  #5
Member
 
Jason Dale
Join Date: Mar 2009
Location: UK
Posts: 65
Rep Power: 8
jason is on a distinguished road
Hi,

I think you have to execute the mixerVessel2D\makeMesh script first. This builds the mesh and sets up the case before you can run it.

Regards

Jason
jason is offline   Reply With Quote

Old   February 12, 2008, 06:31
Default Hallo, the question may be qu
  #6
Member
 
Paul Mauk
Join Date: Mar 2009
Posts: 39
Rep Power: 8
plmauk is on a distinguished road
Hallo,
the question may be quite stupid, but how can I execute makeMesh-script?
I've tried allready simple double-click, but that does not lead to any positive results - MRF face Zone were not found...
plmauk is offline   Reply With Quote

Old   February 12, 2008, 06:42
Default I'M sorry, I ran setsToZones
  #7
Member
 
Paul Mauk
Join Date: Mar 2009
Posts: 39
Rep Power: 8
plmauk is on a distinguished road
I'M sorry,
I ran setsToZones .. mixerVessel2D -noFlipMap manually, and error message disapeared. But instead of that following mistake comes:

Starting time loop

Time = 1

smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.0404075, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.0403676, No Iterations 2
#0 Foam::error::printStack(Foam:stream&) in "/home/plmauk/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#1 Foam::sigSegv::sigSegvHandler(int) in "/home/plmauk/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libOpenFOAM.so"
#2 Uninterpreted: [0x110420]
#3 Foam::MRFZone::relativeFlux(Foam::GeometricField<d ouble,>&) const in "/home/plmauk/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfiniteVolume.so"
#4 Foam::MRFZones::relativeFlux(Foam::GeometricField< double,>&) const in "/home/plmauk/OpenFOAM/OpenFOAM-1.4.1/lib/linuxGccDPOpt/libfiniteVolume.so"
#5 main in "/home/plmauk/OpenFOAM/plmauk-1.4.1/applications/bin/linuxGccDPOpt/MRFSimpleFoam "
#6 __libc_start_main in "/lib/libc.so.6"
#7 Foam::regIOobject::readIfModified() in "/home/plmauk/OpenFOAM/plmauk-1.4.1/applications/bin/linuxGccDPOpt/MRFSimpleFoam "
Speicherzugriffsfehler

Have anybody an idea, what does it mean?
plmauk is offline   Reply With Quote

Old   February 12, 2008, 06:52
Default Hi Go to the mixerVessel2D
  #8
Member
 
Jason Dale
Join Date: Mar 2009
Location: UK
Posts: 65
Rep Power: 8
jason is on a distinguished road
Hi

Go to the mixerVessel2D directory and type

./makeMesh

it should then run through blockMesh etc automatically.

Then go up one directory and type

MRFSimpleFoam . mixerVessel2D

and it should work

Jason
jason is offline   Reply With Quote

Old   February 12, 2008, 07:05
Default Thank you very much, Jason, i
  #9
Member
 
Paul Mauk
Join Date: Mar 2009
Posts: 39
Rep Power: 8
plmauk is on a distinguished road
Thank you very much, Jason,
it works actually!

best regards,
Paul.
plmauk is offline   Reply With Quote

Old   February 12, 2008, 07:23
Default Great, One other thing, I d
  #10
Member
 
Jason Dale
Join Date: Mar 2009
Location: UK
Posts: 65
Rep Power: 8
jason is on a distinguished road
Great,

One other thing, I dont think you need the dynamicMeshDict file in the constant directory (left there by mistake?), you only need the MRFZones file which states the zone which is rotating, an origin point, the axis (at the origin point) which the rotation occurs around and the omega (i think its in rpm but Im not sure).

And I think its based on an incompressible solver so you need to multiply the calculated pressure by the density to get the real pressure in Pa.

Jason
jason is offline   Reply With Quote

Old   October 27, 2008, 13:07
Default Hello everyone, I want to s
  #11
Member
 
Sebastian Vogl
Join Date: Mar 2009
Location: Munich, Germany
Posts: 62
Rep Power: 8
sebastian_vogl is on a distinguished road
Hello everyone,

I want to simulate the aerodynamics of a car using MRFsimpleFoam. The car computer model is imported as .stl file. It was meshed with snappyHexMesh in OpenFoam 1.5 (that's why it must be an .stl file).
The reason why I post my problem here, is that I want to take into consideration the movement of the wheels of the car, as they have a great influence on the aerodynamics of the car. This can be generally done by using a multiple reference frame (MRF) boundary condition. For this reason I need MRFsimpleFoam.
My question is, how can I define the wheels of my .stl-car as patches which can be written in the MRFZones input file? Is there a possibility to get the names of the mesh elements which form the wheels and put them together to patches?

For your ideas I would be very grateful,
Yours
Sebastian Vogl
sebastian_vogl is offline   Reply With Quote

Old   October 29, 2008, 05:46
Default Dear Sebastian, Seems a bit
  #12
Senior Member
 
Gavin Tabor
Join Date: Mar 2009
Posts: 181
Rep Power: 8
grtabor is on a distinguished road
Dear Sebastian,

Seems a bit strange - surely all you need for the wheels is a moving wall, not a separate reference frame?

Gavin
grtabor is offline   Reply With Quote

Old   October 29, 2008, 13:05
Default Dear Gavin, thank you very
  #13
Member
 
Sebastian Vogl
Join Date: Mar 2009
Location: Munich, Germany
Posts: 62
Rep Power: 8
sebastian_vogl is on a distinguished road
Dear Gavin,

thank you very much for your reply.
Meanwhile I could solve this problem on my own.

Yours,
Sebastian
sebastian_vogl is offline   Reply With Quote

Old   December 5, 2008, 08:27
Default Continuing this nicely named t
  #14
Member
 
Niklas Wikstrom
Join Date: Mar 2009
Posts: 85
Rep Power: 8
wikstrom is on a distinguished road
Continuing this nicely named thread with another topic:

The MRF class reside in the "general" section of cfdTools. However, it seems to me that it must be modified for compressible or possibly multiphase codes. I mean, the relative flux in MRFZone.C is calculated as the volume swept by a face, whereas in the compressible case (rho!=1) where phi is massflux the relative flux should contain rho, right?

So, I have overloaded the MRFZone::relativeFlux function to allow const volScalarField& rho in the arguments and calculate phi as
phi[facei] -= rhof[facei] * ((Omega ^ (Cf[facei] - origin))) & Sf[facei];

However, the solver bails out (p-solver) after a number of iterations. (Hence this post.)

Am I wrong in my assumptions about compressible MRFZones?

cheers
Niklas
wikstrom is offline   Reply With Quote

Old   December 5, 2008, 10:30
Default Seems to work if the density i
  #15
Member
 
Niklas Wikstrom
Join Date: Mar 2009
Posts: 85
Rep Power: 8
wikstrom is on a distinguished road
Seems to work if the density is considered in the application code instead for in the MRF. Using the volumetric relative flux from MRFZone I added density in pEqn.H of rhoSimpleFoam as follows:


{
surfaceScalarField phiv = fvc::interpolate(U) & mesh.Sf();
surfaceScalarField rhof = fvc::interpolate(rho);
mrfZones.relativeFlux(phiv);
phi = phiv*rhof;


}

No problems with that during test, so far.

Niklas
wikstrom 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
Multiple reference frame Lim FLUENT 1 April 19, 2008 10:46
Multiple reference frame in centrifugal fan Peter Main CFD Forum 0 April 8, 2008 05:37
Multiple reference frame H.A.S FLUENT 0 April 18, 2007 11:13
Multiple reference frame Boundaries H.A.S FLUENT 0 April 3, 2007 12:45
Multiple reference frame H.A.S FLUENT 2 April 3, 2007 04:32


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