35 namespace PDRDragModels
45 Foam::PDRDragModels::basic::basic
47 const dictionary& PDRProperties,
55 Csu(
"Csu",
dimless, PDRDragModelCoeffs_),
56 Csk(
"Csk",
dimless, PDRDragModelCoeffs_),
63 U_.
mesh().facesInstance(),
76 U_.
mesh().facesInstance(),
96 tmp<volSymmTensorField> tDragDcu
103 U_.mesh().time().constant(),
121 (0.5*rho_)*CR_*
mag(U_) + (Csu*
I)*
betav*turbulence_.muEff()*
sqr(Aw_);
130 tmp<volScalarField> tGk
137 U_.mesh().time().constant(),
158 (0.5*rho_)*
mag(U_)*(U_ & CT & U_)
170 PDRDragModelCoeffs_.readEntry(
"Csu", Csu.value());
171 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)
Ignore writing from objectRegistry::writeObject()
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.
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)
Internal & ref(const bool updateAccessTime=true)
Same as internalFieldRef()
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
static constexpr const zero Zero
Global zero (0)