39 namespace functionObjects
90 word rhoNMeanName =
"rhoNMean";
91 word rhoMMeanName =
"rhoMMean";
92 word momentumMeanName =
"momentumMean";
93 word linearKEMeanName =
"linearKEMean";
94 word internalEMeanName =
"internalEMean";
95 word iDofMeanName =
"iDofMean";
96 word fDMeanName =
"fDMean";
133 if (
min(
mag(rhoNMean)).value() > vSmall)
135 Info<<
"Calculating dsmcFields." <<
endl;
137 Info<<
" Calculating UMean field." <<
endl;
143 obr_.time().timeName(),
147 momentumMean/rhoMMean
150 Info<<
" Calculating translationalT field." <<
endl;
156 obr_.time().timeName(),
162 *(linearKEMean - 0.5*rhoMMean*(UMean & UMean))
165 Info<<
" Calculating internalT field." <<
endl;
171 obr_.time().timeName(),
178 Info<<
" Calculating overallT field." <<
endl;
184 obr_.time().timeName(),
189 *(linearKEMean - 0.5*rhoMMean*(UMean &
UMean) + internalEMean)
192 Info<<
" Calculating pressure field." <<
endl;
198 obr_.time().timeName(),
205 volScalarField::Boundary& pBf =
p.boundaryFieldRef();
207 forAll(mesh_.boundaryMesh(), i)
211 if (isA<wallPolyPatch>(patch))
214 fDMean.boundaryField()[i]
219 Info<<
" mag(UMean) max/min : " 220 <<
max(
mag(UMean)).value() <<
" " 223 Info<<
" translationalT max/min : " 224 <<
max(translationalT).value() <<
" " 225 <<
min(translationalT).value() <<
endl;
227 Info<<
" internalT max/min : " 228 <<
max(internalT).value() <<
" " 229 <<
min(internalT).value() <<
endl;
231 Info<<
" overallT max/min : " 232 <<
max(overallT).value() <<
" " 233 <<
min(overallT).value() <<
endl;
235 Info<<
" p max/min : " 236 <<
max(
p).value() <<
" " 241 translationalT.
write();
256 <<
") found in rhoNMean field. " 257 <<
"Not calculating dsmcFields to avoid division by zero."
#define forAll(list, i)
Loop across all elements in list.
virtual Ostream & write(const char)=0
Write character.
A list of keyword definitions, which are a keyword followed by any number of values (e...
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
Ostream & endl(Ostream &os)
Add newline and flush stream.
volVectorField UMean(UMeanHeader, mesh)
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
virtual bool write()
Calculate and write the DSMC fields.
virtual ~dsmcFields()
Destructor.
Macros for easy insertion into run-time selection tables.
virtual bool execute()
Do nothing.
bool read(const char *, int32_t &)
A class for handling words, derived from string.
const vectorField::subField faceAreas() const
Return face areas.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
const scalarField::subField magFaceAreas() const
Return face area magnitudes.
const dimensionedScalar k
Boltzmann constant.
dimensioned< scalar > mag(const dimensioned< Type > &)
Specialisation of Foam::functionObject for an Foam::fvMesh, providing a reference to the Foam::fvMesh...
virtual bool write(const bool write=true) const
Write using setting from DB.
A patch is a list of labels that address the faces in the global face list.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
dsmcFields(const word &name, const Time &runTime, const dictionary &dict)
Construct from Time and dictionary.
virtual bool read(const dictionary &)
Read the dsmcFields data.