mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'dsmc'
This commit is contained in:
@ -299,7 +299,7 @@ void Foam::DsmcCloud<ParcelType>::collisions()
|
|||||||
// Temporary storage for subCells
|
// Temporary storage for subCells
|
||||||
List<DynamicList<label> > subCells(8);
|
List<DynamicList<label> > subCells(8);
|
||||||
|
|
||||||
scalar deltaT = mesh_.time().deltaT().value();
|
scalar deltaT = cachedDeltaT();
|
||||||
|
|
||||||
label collisionCandidates = 0;
|
label collisionCandidates = 0;
|
||||||
|
|
||||||
@ -778,6 +778,9 @@ Foam::DsmcCloud<ParcelType>::~DsmcCloud()
|
|||||||
template<class ParcelType>
|
template<class ParcelType>
|
||||||
void Foam::DsmcCloud<ParcelType>::evolve()
|
void Foam::DsmcCloud<ParcelType>::evolve()
|
||||||
{
|
{
|
||||||
|
// cache the value of deltaT for this timestep
|
||||||
|
storeDeltaT();
|
||||||
|
|
||||||
typename ParcelType::trackData td(*this);
|
typename ParcelType::trackData td(*this);
|
||||||
|
|
||||||
// Reset the surface data collection fields
|
// Reset the surface data collection fields
|
||||||
|
|||||||
@ -116,6 +116,10 @@ class DsmcCloud
|
|||||||
//- Random number generator
|
//- Random number generator
|
||||||
Random rndGen_;
|
Random rndGen_;
|
||||||
|
|
||||||
|
//- In-cloud cache of deltaT, lookup in submodels and parcel is
|
||||||
|
// expensive
|
||||||
|
scalar cachedDeltaT_;
|
||||||
|
|
||||||
|
|
||||||
// References to the macroscopic fields
|
// References to the macroscopic fields
|
||||||
|
|
||||||
@ -243,6 +247,12 @@ public:
|
|||||||
//- Return refernce to the random object
|
//- Return refernce to the random object
|
||||||
inline Random& rndGen();
|
inline Random& rndGen();
|
||||||
|
|
||||||
|
//- Store (cache) the current value of deltaT
|
||||||
|
inline void storeDeltaT();
|
||||||
|
|
||||||
|
//- Return the cached value of deltaT
|
||||||
|
inline scalar cachedDeltaT() const;
|
||||||
|
|
||||||
|
|
||||||
// References to the surface data collection fields
|
// References to the surface data collection fields
|
||||||
|
|
||||||
|
|||||||
@ -120,6 +120,20 @@ inline Foam::Random& Foam::DsmcCloud<ParcelType>::rndGen()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ParcelType>
|
||||||
|
inline void Foam::DsmcCloud<ParcelType>::storeDeltaT()
|
||||||
|
{
|
||||||
|
cachedDeltaT_ = mesh().time().deltaT().value();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<class ParcelType>
|
||||||
|
inline Foam::scalar Foam::DsmcCloud<ParcelType>::cachedDeltaT() const
|
||||||
|
{
|
||||||
|
return cachedDeltaT_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class ParcelType>
|
template<class ParcelType>
|
||||||
inline const Foam::volScalarField& Foam::DsmcCloud<ParcelType>::q() const
|
inline const Foam::volScalarField& Foam::DsmcCloud<ParcelType>::q() const
|
||||||
{
|
{
|
||||||
|
|||||||
@ -44,7 +44,7 @@ bool Foam::DsmcParcel<ParcelType>::move
|
|||||||
const polyMesh& mesh = td.cloud().pMesh();
|
const polyMesh& mesh = td.cloud().pMesh();
|
||||||
const polyBoundaryMesh& pbMesh = mesh.boundaryMesh();
|
const polyBoundaryMesh& pbMesh = mesh.boundaryMesh();
|
||||||
|
|
||||||
const scalar deltaT = mesh.time().deltaT().value();
|
const scalar deltaT = td.cloud().cachedDeltaT();
|
||||||
scalar tEnd = (1.0 - p.stepFraction())*deltaT;
|
scalar tEnd = (1.0 - p.stepFraction())*deltaT;
|
||||||
const scalar dtMax = tEnd;
|
const scalar dtMax = tEnd;
|
||||||
|
|
||||||
@ -145,7 +145,7 @@ void Foam::DsmcParcel<ParcelType>::hitWallPatch
|
|||||||
|
|
||||||
const scalar fA = mag(wpp.faceAreas()[wppLocalFace]);
|
const scalar fA = mag(wpp.faceAreas()[wppLocalFace]);
|
||||||
|
|
||||||
const scalar deltaT = td.cloud().mesh().time().deltaT().value();
|
const scalar deltaT = td.cloud().cachedDeltaT();
|
||||||
|
|
||||||
scalar deltaQ = td.cloud().nParticle()*(preIE - postIE)/(deltaT*fA);
|
scalar deltaQ = td.cloud().nParticle()*(preIE - postIE)/(deltaT*fA);
|
||||||
|
|
||||||
|
|||||||
@ -126,7 +126,7 @@ void Foam::FreeStream<CloudType>::inflow()
|
|||||||
|
|
||||||
const polyMesh& mesh(cloud.mesh());
|
const polyMesh& mesh(cloud.mesh());
|
||||||
|
|
||||||
const scalar deltaT = mesh.time().deltaT().value();
|
const scalar deltaT = cloud.cachedDeltaT();
|
||||||
|
|
||||||
Random& rndGen(cloud.rndGen());
|
Random& rndGen(cloud.rndGen());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user