|
[Sponsors] |
July 25, 2014, 11:16 |
nSubCycles criteria
|
#1 |
Senior Member
|
Hi Foamers,
As you know, in gas-solid flows there are two time steps; one for continuous phase and the other for disperse phase which is usually less than first one. It is introduced as nSubCycles in openFoam. when running dpmFoam we see in terminal: Code:
Courant Number mean: 0.0331165 max: 0.168717 Time = 0.00018 Evolving kinematicCloud Solving 3-D cloud kinematicCloud 2 move-collide subCycles HTML Code:
src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H Code:
// Member Functions //- Return the number of times to subcycle the current // timestep to meet the criteria of the collision model virtual label nSubCycles() const; Regards, |
|
August 9, 2023, 19:03 |
|
#2 |
Member
Shah Akib Sarwar
Join Date: Mar 2021
Posts: 41
Rep Power: 5 |
Hello. Did you ever find an answer to this?
|
|
September 1, 2023, 14:19 |
|
#3 |
Member
Utkan Caliskan
Join Date: Aug 2014
Posts: 42
Rep Power: 11 |
That firstly reads:
~/OpenFOAM/OpenFOAM-dev/src/lagrangian/parcel/submodels/Momentum/CollisionModel/PairCollision/PairCollision.C Code:
template<class CloudType> Foam::label Foam::PairCollision<CloudType>::nSubCycles() const { label nSubCycles = 1; if (pairModel_->controlsTimestep()) { label nPairSubCycles = returnReduce ( pairModel_->nSubCycles(), maxOp<label>() ); nSubCycles = max(nSubCycles, nPairSubCycles); } if (wallModel_->controlsTimestep()) { label nWallSubCycles = returnReduce ( wallModel_->nSubCycles(), maxOp<label>() ); nSubCycles = max(nSubCycles, nWallSubCycles); } return nSubCycles; } ~/OpenFOAM/OpenFOAM-dev/src/lagrangian/parcel/submodels/Momentum/CollisionModel/PairCollision/PairModel/PairSpringSliderDashpot/PairSpringSliderDashpot.C and ~/OpenFOAM/OpenFOAM-dev/src/lagrangian/parcel/submodels/Momentum/CollisionModel/PairCollision/WallModel/WallSpringSliderDashpot/WallSpringSliderDashpot.C as part of "pairModel_->nSubCycles()" and "wallModel_->nSubCycles()" nSubCycles()from PairSpringSliderDashpot is as follows: Code:
template<class CloudType> Foam::label Foam::PairSpringSliderDashpot<CloudType>::nSubCycles() const { if (!this->owner().size()) { return 1; } scalar RMin, rhoMax, UMagMax; findMinMaxProperties(RMin, rhoMax, UMagMax); // Note: pi^(7/5)*(5/4)^(2/5) = 5.429675 const scalar minCollisionDeltaT = 5.429675 *RMin *pow(rhoMax/(Estar_*sqrt(UMagMax) + rootVSmall), 0.4) /collisionResolutionSteps_; return ceil(this->owner().time().deltaTValue()/minCollisionDeltaT); } |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Steady state criteria in combustion | Aleksey_R | Main CFD Forum | 0 | November 21, 2011 10:01 |
What value shall I set for the Convergence criteria? | steventay | CFX | 7 | May 14, 2010 12:44 |
Convergence Criteria | edwin | FLUENT | 1 | February 14, 2008 19:24 |
How can I set the converge criteria properly? | Alina | FLUENT | 3 | September 7, 2007 16:55 |
CAVITATION (convergence criteria & discretization) | ROOZBEH | FLUENT | 1 | October 6, 2003 09:32 |