36 namespace PDRDragModels
46 Foam::PDRDragModels::basic::basic
48 const dictionary& PDRProperties,
56 Csu(
"Csu",
dimless, PDRDragModelCoeffs_),
57 Csk(
"Csk",
dimless, PDRDragModelCoeffs_),
64 U_.
mesh().facesInstance(),
77 U_.
mesh().facesInstance(),
104 auto& DragDcu = tDragDcu.ref();
112 (0.5*rho_)*CR_*
mag(U_) + (Csu*
I)*
betav*turbulence_.muEff()*
sqr(Aw_);
128 auto& Gk = tGk.ref();
139 (0.5*rho_)*
mag(U_)*(U_ & CT & U_)
151 PDRDragModelCoeffs_.readEntry(
"Csu", Csu.value());
152 PDRDragModelCoeffs_.readEntry(
"Csk", Csk.value());
GeometricField< symmTensor, fvPatchField, volMesh > volSymmTensorField
const Type & lookupObject(const word &name, const bool recursive=false) const
Lookup and return const reference to the object of the given Type. Fatal if not found or the wrong ty...
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
virtual bool read()
Read object.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimless
Dimensionless.
virtual ~basic()
Destructor.
GeometricField< vector, fvPatchField, volMesh > volVectorField
virtual tmp< volSymmTensorField > Dcu() const
Return the momentum drag coefficient.
Macros for easy insertion into run-time selection tables.
void writeFields() const
Write fields.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
const dimensionSet dimVolume(pow3(dimLength))
virtual tmp< volScalarField > Gk() const
Return the momentum drag turbulence generation rate.
static const Identity< scalar > I
const volScalarField & betav
const objectRegistry & db() const noexcept
Return the local objectRegistry.
static tmp< GeometricField< symmTensor, fvPatchField, volMesh > > New(const word &name, IOobjectOption::registerOption regOpt, const Mesh &mesh, const dimensionSet &dims, const word &patchFieldType=fvPatchField< symmTensor >::calculatedType())
Return tmp field (NO_READ, NO_WRITE) from name, mesh, dimensions and patch type. [Takes current timeN...
const wordList basic
Standard basic field types (label, scalar, vector, tensor, etc)
Info<< "Reading field U\"<< endl;volVectorField U(IOobject("U", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);volScalarField rho(IOobject("rho", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::AUTO_WRITE), thermo.rho());volVectorField rhoU(IOobject("rhoU", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *U);volScalarField rhoE(IOobject("rhoE", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), rho *(e+0.5 *magSqr(U)));surfaceScalarField pos(IOobject("pos", runTime.timeName(), mesh), mesh, dimensionedScalar("pos", dimless, 1.0));surfaceScalarField neg(IOobject("neg", runTime.timeName(), mesh), mesh, dimensionedScalar("neg", dimless, -1.0));surfaceScalarField phi("phi", fvc::flux(rhoU));Info<< "Creating turbulence model\"<< endl;autoPtr< compressible::turbulenceModel > turbulence(compressible::turbulenceModel::New(rho, U, phi, thermo))
defineTypeNameAndDebug(combustionModel, 0)
dimensioned< symmTensor > dimensionedSymmTensor
Dimensioned tensor obtained from generic dimensioned type.
RASModel< EddyDiffusivity< turbulenceModel > > RASModel
dimensionedScalar pow3(const dimensionedScalar &ds)
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Do not request registration (bool: false)
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
static constexpr const zero Zero
Global zero (0)