31 #include "surfaceInterpolate.H"
41 template<
class BasicThermophysicalTransportModel>
51 if (mixtureDiffusionCoefficients_)
111 template<
class BasicThermophysicalTransportModel>
126 template<
class BasicThermophysicalTransportModel>
134 BasicThermophysicalTransportModel
143 mixtureDiffusionCoefficients_(true),
160 template<
class BasicThermophysicalTransportModel>
171 this->coeffDict_.lookup(
"mixtureDiffusionCoefficients")
172 >> mixtureDiffusionCoefficients_;
174 if (mixtureDiffusionCoefficients_)
195 DFuncs_[i].setSize(species.
size());
201 const word nameij(species[i] +
'-' + species[j]);
202 const word nameji(species[j] +
'-' + species[i]);
206 if (Ddict.
found(nameij) && Ddict.
found(nameji))
211 <<
"Binary mass diffusion coefficients "
212 "for Both " << nameij
213 <<
" and " << nameji <<
" provided, using "
219 else if (Ddict.
found(nameij))
223 else if (Ddict.
found(nameji))
230 <<
"Binary mass diffusion coefficient for pair "
231 << nameij <<
" or " << nameji <<
" not provided"
247 if (this->coeffDict_.found(
"DT"))
249 const dictionary& DTdict = this->coeffDict_.subDict(
"DT");
270 template<
class BasicThermophysicalTransportModel>
281 this->momentumTransport().
rho()
287 template<
class BasicThermophysicalTransportModel>
297 this->momentumTransport().
rho().boundaryField()[
patchi]
302 template<
class BasicThermophysicalTransportModel>
312 this->momentumTransport().alphaRhoPhi().
group()
378 template<
class BasicThermophysicalTransportModel>
452 template<
class BasicThermophysicalTransportModel>
465 BasicThermophysicalTransportModel::j(Yi)
480 return BasicThermophysicalTransportModel::j(Yi);
485 template<
class BasicThermophysicalTransportModel>
498 BasicThermophysicalTransportModel::divj(Yi)
517 return BasicThermophysicalTransportModel::divj(Yi);
522 template<
class BasicThermophysicalTransportModel>
525 BasicThermophysicalTransportModel::predict();
530 template<
class BasicThermophysicalTransportModel>
537 template<
class BasicThermophysicalTransportModel>
548 template<
class BasicThermophysicalTransportModel>
559 template<
class BasicThermophysicalTransportModel>
#define forAll(list, i)
Loop across all elements in list.
const dimensionSet & dimensions() const
Return dimensions.
virtual bool movePoints()
Update for mesh motion.
virtual tmp< volScalarField > DEff(const volScalarField &Yi) const
Effective mass diffusion coefficient.
virtual tmp< fvScalarMatrix > divq(volScalarField &he) const
Return the source term for the energy equation.
virtual tmp< fvScalarMatrix > divj(volScalarField &Yi) const
Return the source term for the given specie mass-fraction equation.
virtual void predict()
Update the diffusion coefficients.
virtual void mapMesh(const polyMeshMap &map)
Update from another mesh using the given map.
virtual tmp< surfaceScalarField > j(const volScalarField &Yi) const
Return the specie flux for the given specie mass-fraction [kg/m^2/s].
virtual tmp< surfaceScalarField > q() const
Return the heat flux [W/m^2].
virtual void distribute(const polyDistributionMap &map)
Redistribute or update using the given distribution map.
BasicThermophysicalTransportModel::thermoModel thermoModel
BasicThermophysicalTransportModel::momentumTransportModel momentumTransportModel
Fickian(const word &type, const momentumTransportModel &momentumTransport, const thermoModel &thermo)
Construct from a momentum transport model and a thermo model.
virtual void topoChange(const polyTopoChangeMap &map)
Update topology using the given map.
virtual bool read()
Read thermophysicalTransport dictionary.
Run-time selectable function of two variables.
static autoPtr< Function2< Type > > New(const word &name, const dictionary &dict)
Selector.
Generic GeometricField class.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &)
Return a temporary field constructed from name,.
static word groupName(Name name, const word &group)
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Specialisation of basicMixture for a mixture consisting of a number for molecular species.
virtual scalar rho(const label speciei, const scalar p, const scalar T) const =0
Density [kg/m^3].
virtual scalar Hs(const label speciei, const scalar p, const scalar T) const =0
Sensible enthalpy [J/kg].
virtual scalar Wi(const label speciei) const =0
Molecular weight of the given specie [kg/kmol].
const speciesTable & species() const
Return the table of species.
label defaultSpecie() const
Return the index of the default specie.
PtrList< volScalarField > & Y()
Return the mass-fraction fields.
label index(const volScalarField &Yi) const
Return the specie index of the given mass-fraction field.
virtual const volScalarField & T() const =0
Temperature [K].
A list of keyword definitions, which are a keyword followed by any number of values (e....
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
virtual basicSpecieMixture & composition()=0
Return the composition of the multi-component mixture.
virtual volScalarField & p()=0
Pressure [Pa].
A wordList with hashed indices for faster lookup by name.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
Class containing mesh-to-mesh mapping information.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
Base class for multi-component Fickian based temperature gradient heat flux models with optional Sore...
A class for handling words, derived from string.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Calculate the divergence of the given field.
Calculate the laplacian of the given field.
Calculate the snGrad of the given volField.
Calculate the matrix for implicit and explicit sources.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
#define WarningInFunction
Report a warning using Foam::Warning.
const char *const group
Group name for atomic constants.
static tmp< SurfaceField< Type > > interpolate(const VolField< Type > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
tmp< VolField< Type > > laplacian(const VolField< Type > &vf, const word &name)
tmp< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< SurfaceField< Type > > snGrad(const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Su(const DimensionedField< Type, volMesh > &, const VolField< Type > &)
tmp< fvMatrix< Type > > laplacianCorrection(const VolField< scalar > &gamma, const VolField< Type > &vf)
const dimensionSet dimViscosity
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionSet dimDynamicViscosity
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet dimEnergy
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimless
const dimensionSet dimTime
scalarList W(const fluidMulticomponentThermo &thermo)
VolField< scalar > volScalarField
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimMass
void evaluate(GeometricField< Type, PatchField, GeoMesh > &result, const Function1< Type > &func, const GeometricField< Type, PatchField, GeoMesh > &x)
const dimensionSet dimArea
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
basicSpecieMixture & composition
PtrList< volScalarField > & Y
fluidMulticomponentThermo & thermo