CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Programming & Development

Sub-iterations for transport equation in drift-flux

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

Like Tree1Likes
  • 1 Post By KlasJ

LinkBack Thread Tools Display Modes
Old   July 5, 2013, 03:11
Default Sub-iterations for transport equation in drift-flux
New Member
Siemen Dasselaar
Join Date: Jul 2013
Posts: 3
Rep Power: 6
Siemen is on a distinguished road
Hi all,

I am currently working on a drift-flux (or algebraic-slip) model to simulate the sedimentation of sand in water.
After solving the transport equation for sand, I use the packingLimiter.H like in twoPhaseEulerFoam in order to maintain the maximum packing concentration of sand (say 0.6).

If I take the time-step dt too large, a certain computational cell can be filled with an amount of sand such that the packingLimiter cannot reduce the sand to the maximum packing concentration. If the packing concentration exceeds a value of 1.0, the solving process is aborted by the solver.

I am wondering if I could decrease the timestep dt only for solving the transport equation. Say, 10 sub-iterations on the transport equation are chosen with for each sub-iteration the timestep 0.1*dt. Each time the packingLimiter is applied after a sub-iteration.

Does anybody know how I can call the magnitude of the timestep in the source code, such that I can modify it?

Thanks in advance!
Siemen is offline   Reply With Quote

Old   July 5, 2013, 04:03
New Member
Klas J
Join Date: Oct 2011
Location: Göteborg, Sweden
Posts: 10
Rep Power: 8
KlasJ is on a distinguished road
Hi Siemen,

For the twoPhaseEulerFoam solver the time step is set from the include of:

#include "setDeltaT.H"
The code included (found in $FOAM_SRC/finiteVolume/cfdTools/general/include/setDeltaT.H) will set a new deltaT based on the Courant number. So, for your second question, this is where you could start if you want to modify the time step and the choice of deltaT.

For subiterations, perhaps you would find some interest in:

I guess you would like to use subCycles to achieve subiterations for some part of the code. Have a look at e.g the alphaEqn.H in twoPhaseEulerFoam. There a subCycle is used to solve the dispersed phase continuity equation. Inside the loop the deltaT is split according to how many sub-iterations you have specified. The code, subCycle.H and subCycleTime.H, will help you with the time step splitting.

Best regards,

happydogy likes this.
KlasJ is offline   Reply With Quote

Old   July 5, 2013, 06:06
New Member
Siemen Dasselaar
Join Date: Jul 2013
Posts: 3
Rep Power: 6
Siemen is on a distinguished road
Thanks Klas!
I will have a look at it.
I think that is indeed what I searched for.

Siemen is offline   Reply With Quote


drift-flux, sub-iterations, transport equation

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
Moving mesh Niklas Wikstrom (Wikstrom) OpenFOAM Running, Solving & CFD 122 June 15, 2014 06:20
pimpleFoam: turbulence->correct(); is not executed when using residualControl hfs OpenFOAM Running, Solving & CFD 3 October 29, 2013 09:35
Interfoam blows on parallel run danvica OpenFOAM Running, Solving & CFD 16 December 22, 2012 03:09
Differences between serial and parallel runs carsten OpenFOAM Bugs 11 September 12, 2008 11:16
Convergence moving mesh lr103476 OpenFOAM Running, Solving & CFD 30 November 19, 2007 15:09

All times are GMT -4. The time now is 14:42.