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

Dynamic mesh simulation (pimpleDyMFoam) problem

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By Lieven

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 25, 2013, 12:30
Default Dynamic mesh simulation (pimpleDyMFoam) problem
  #1
New Member
 
Petr Sidlof
Join Date: Apr 2012
Location: Liberec, Czech Republic
Posts: 2
Rep Power: 0
sidlof is on a distinguished road
Dear Foamers,

I have a problem running a dynamic mesh simulation, which worked fine in OF 1.7, under OF 2.1. I am using pimpleDyMFoam and the velocityLaplacian solver for the incompressible low Mach-number flow in a channel with moving boundaries. The flow is driven by constant pressure difference between inlet and outlet, so I use a combination of totalPressure (300Pa) / fixedValue (0 Pa) BCs for pressure and pressureInletOutlet / inletOutlet for velocity at inlet/outlet.

Everything worked fine both in serial and parallel under OF1.7, but when I tried to transfer the simulation to OF2.1, I got a very mysterious error. Between versions 1.7 and 2.1 I had to modify a line in vfSchemes from

Code:
div((nuEff*dev(grad(U).T()))) Gauss linear; // OF1.7
to

Code:
div((nuEff*dev(T(grad(U))))) Gauss linear; // OF2.1,
,

otherwise everything was kept the same. I should also note that the 2.1 OF version is installed on a different machine (SGI Altix UV 100 with SGI MPT library, but I reckon this should not make difference).

Symptoms:
  • Simulation starts fine and computes what it should. However, after certain time the DILUPBiCG solver for the Uz starts to diverge and the simulation crashes. This did not happen in OF 1.7!
  • The time when the crash occurs DEPENDS on the number of processors I am running on (e.g. 0.0011 for 4 processors, 0.006 on 16 processors)
  • The same simulation with static mesh (pimpleFoam solver) works fine both in 1.7 and 2.1

I have already tried quite a couple of things:
  • Tightening/loosening tolerances for the Ufinal solver in fvSolution
  • Switching from PBiCG to GAMG for U/Ufinal
  • Setting maxCo to 0.5
  • Checking the mesh with checkMesh in all steps up to the crash
  • Playing around with the relaxation parameters
  • Trying different decomposition methods (scotch, simple)
Nothing helps, only in some cases the disaster is slightly delayed. I suspect there is some numeric instability hidden in my settings, but do not see where.. I would by mostly grateful for any hints. The important files are attached for completeness.

Thanks!
Petr
Attached Files
File Type: zip simulation-setup-files.zip (16.1 KB, 34 views)
sidlof is offline   Reply With Quote

Old   April 2, 2013, 10:37
Default
  #2
Member
 
Akshay Kumar
Join Date: Aug 2010
Location: India
Posts: 84
Rep Power: 16
Akshay is on a distinguished road
Hi petr!

Use GAMG for p and pFinal (which I believe you are using) and also switch to smoothsolver for the other variables viz. U, UFinal and turb variables.
Let relTol be set to 0 for the final variables.
Let me know what happens!
Cheers!

Akshay
Akshay is offline   Reply With Quote

Old   April 4, 2013, 01:23
Default
  #3
Member
 
任芸
Join Date: Jun 2009
Posts: 75
Rep Power: 17
renyun0511 is on a distinguished road
Hi Akshay,

I'm studying the unsteady simulation of pump by transienSimpleDyMFoam, and I'm confused by some professional terms about relTol, tolerance, maxCo,maxDeltaT, deltaT, can you give me some details about them, please? Thank you very much!


Best Regards,

Yun Ren
renyun0511 is offline   Reply With Quote

Old   April 4, 2013, 03:35
Default
  #4
Senior Member
 
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 299
Rep Power: 23
Lieven will become famous soon enough
Hi Yun Ren,


tolerance: the absolute residual when solving a matrix system (e.g. Ux), iterating stops after the tolerance has been reached: residual < tolerance
relTol: relative tolerance with respect to the initial residual. iterating will stop when residual < (initial residual)*relTol
maxCo: the maximal Courant number in the domain, (see http://en.wikipedia.org/wiki/Courant...Lewy_condition for the definition). Or the maximum Courant number you want to have in your domain if the time step changes dynamically.
maxDeltaT: It the time step changes dynamically based on the Courant number, this is the maximal time step you allow
deltaT: simply the actual time step size.

Just as a note regarding tolerance and relTol: both can be set at the same time i.e. iterating will stop after the least stringent criterion is reached.

Cheers,

L
dawnrain likes this.
Lieven is offline   Reply With Quote

Old   April 11, 2013, 11:52
Default
  #5
New Member
 
Petr Sidlof
Join Date: Apr 2012
Location: Liberec, Czech Republic
Posts: 2
Rep Power: 0
sidlof is on a distinguished road
Hi Ashkay,

thank you for your hint! The code DOES work with smoothsolver for U/Ufinal, as you suggested, even under OF2.1.0.

By the way, meanwhile I managed to compile OF1.7.0 on the machine. The simulation with the original settings (PBiCG for U) runs ok under the old OF version. So it is now confirmed that the problem is OF-version-dependent, not machine-dependent.

To summarize: I now know two ways how to circumvent the problem (running the old OF version, or switching to smoothsolver for U/Ufinal), but I do not still understand why the original settings cause a crash under OF 2.1..

Petr
sidlof is offline   Reply With Quote

Old   April 11, 2013, 23:10
Default
  #6
Member
 
任芸
Join Date: Jun 2009
Posts: 75
Rep Power: 17
renyun0511 is on a distinguished road
Thank you very much for the information, Lieven.
Quote:
Originally Posted by Lieven View Post
Hi Yun Ren,

tolerance: the absolute residual when solving a matrix system (e.g. Ux), iterating stops after the tolerance has been reached: residual < tolerance
relTol: relative tolerance with respect to the initial residual. iterating will stop when residual < (initial residual)*relTol
maxCo: the maximal Courant number in the domain, (see http://en.wikipedia.org/wiki/Courant...Lewy_condition for the definition). Or the maximum Courant number you want to have in your domain if the time step changes dynamically.
maxDeltaT: It the time step changes dynamically based on the Courant number, this is the maximal time step you allow
deltaT: simply the actual time step size.

Just as a note regarding tolerance and relTol: both can be set at the same time i.e. iterating will stop after the least stringent criterion is reached.

Cheers,

L
renyun0511 is offline   Reply With Quote

Old   April 12, 2013, 12:24
Default
  #7
Member
 
Akshay Kumar
Join Date: Aug 2010
Location: India
Posts: 84
Rep Power: 16
Akshay is on a distinguished road
Hey Petr
Ye it is a little weird. I've been looking into it for a while now. Hope someone else can throw some light on this issue.
Akshay is offline   Reply With Quote

Reply

Tags
dynamic mesh, incompressible flows, internal flow


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Dynamic mesh update problem. David FLUENT 3 March 15, 2012 06:02
Dynamic Mesh Problem peatmac FLUENT 9 March 14, 2012 07:11
Dynamic Mesh moving interface help akash.iitb FLUENT 0 August 24, 2010 00:53
Dynamic mesh for 3D artery simulation cheaklapomme FLUENT 1 July 2, 2010 22:06
problem about dynamic mesh of VOF model whpsoft FLUENT 0 September 9, 2005 00:06


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