39 namespace functionObjects
105 word rhoNMeanName =
"rhoNMean";
106 word rhoMMeanName =
"rhoMMean";
107 word momentumMeanName =
"momentumMean";
108 word linearKEMeanName =
"linearKEMean";
109 word internalEMeanName =
"internalEMean";
110 word iDofMeanName =
"iDofMean";
111 word fDMeanName =
"fDMean";
148 if (
min(
mag(rhoNMean)).value() > vSmall)
150 Info<<
"Calculating dsmcFields." <<
endl;
152 Info<<
" Calculating UMean field." <<
endl;
158 obr_.time().timeName(),
162 momentumMean/rhoMMean
165 Info<<
" Calculating translationalT field." <<
endl;
171 obr_.time().timeName(),
177 *(linearKEMean - 0.5*rhoMMean*(UMean & UMean))
180 Info<<
" Calculating internalT field." <<
endl;
186 obr_.time().timeName(),
193 Info<<
" Calculating overallT field." <<
endl;
199 obr_.time().timeName(),
204 *(linearKEMean - 0.5*rhoMMean*(UMean & UMean) + internalEMean)
207 Info<<
" Calculating pressure field." <<
endl;
213 obr_.time().timeName(),
222 forAll(mesh_.boundaryMesh(), i)
226 if (isA<wallPolyPatch>(patch))
229 fDMean.boundaryField()[i]
234 Info<<
" mag(UMean) max/min : " 235 <<
max(
mag(UMean)).value() <<
" " 238 Info<<
" translationalT max/min : " 239 <<
max(translationalT).value() <<
" " 240 <<
min(translationalT).value() <<
endl;
242 Info<<
" internalT max/min : " 243 <<
max(internalT).value() <<
" " 244 <<
min(internalT).value() <<
endl;
246 Info<<
" overallT max/min : " 247 <<
max(overallT).value() <<
" " 248 <<
min(overallT).value() <<
endl;
250 Info<<
" p max/min : " 251 <<
max(
p).value() <<
" " 256 translationalT.
write();
271 <<
") found in rhoNMean field. " 272 <<
"Not calculating dsmcFields to avoid division by zero."
#define forAll(list, i)
Loop across all elements in list.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
virtual Ostream & write(const char)=0
Write character.
A list of keyword definitions, which are a keyword followed by any number of values (e...
const polyBoundaryMesh & boundaryMesh() const
Return boundaryMesh reference.
Ostream & endl(Ostream &os)
Add newline and flush stream.
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 &)
virtual wordList fields() const
Return the list of fields required.
A class for handling words, derived from string.
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const vectorField::subField faceAreas() const
Return face areas.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
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.