Go to the documentation of this file.
54 Urel.time().constant(),
56 IOobject::MUST_READ_IF_MODIFIED,
64 SRFModelCoeffs_(subDict(
type +
"Coeffs")),
85 lookup(
"origin") >> origin_;
92 SRFModelCoeffs_ = subDict(
type() +
"Coeffs");
131 mesh_.time().timeName(),
152 mesh_.time().timeName(),
157 omega_ ^ (omega_ ^ (mesh_.C() - origin_))
166 return Fcoriolis() + Fcentrifugal();
178 (positions - origin_.value())
179 - axis_*(axis_ & (positions - origin_.value()))
195 mesh_.time().timeName(),
201 ^ ((mesh_.C() - origin_) - axis_*(axis_ & (mesh_.C() - origin_)))
218 mesh_.time().timeName(),
229 tUabs().internalField() += Urel_.internalField();
236 if (isA<SRFVelocityFvPatchVectorField>(bvf[i]))
241 refCast<const SRFVelocityFvPatchVectorField>(bvf[i]);
244 tUabs().boundaryField()[i] += Urel_.boundaryField()[i];
249 tUabs().boundaryField()[i] += Urel_.boundaryField()[i];
Info<< "Reading field p\n"<< endl;volScalarField p(IOobject("p", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Reading field Urel\n"<< endl;volVectorField Urel(IOobject("Urel", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Reading/calculating face flux field phi\n"<< endl;surfaceScalarField phi(IOobject("phi", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), linearInterpolate(Urel) &mesh.Sf());label pRefCell=0;scalar pRefValue=0.0;setRefCell(p, simple.dict(), pRefCell, pRefValue);mesh.setFluxRequired(p.name());Info<< "Creating SRF model\n"<< endl;autoPtr< SRF::SRFModel > SRF(SRF::SRFModel::New(Urel))
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
A class for handling words, derived from string.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
virtual ~SRFModel()
Destructor.
tmp< volVectorField > Uabs() const
Return absolute velocity for complete mesh.
virtual bool read()
Read object.
SRFModel(const SRFModel &)
Disallow default bitwise copy construct.
dimensioned< scalar > mag(const dimensioned< Type > &)
vectorField velocity(const vectorField &positions) const
Return velocity vector from positions.
defineRunTimeSelectionTable(SRFModel, dictionary)
tmp< DimensionedField< vector, volMesh > > Fcoriolis() const
Return the coriolis force.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
Pre-declare SubField and related Field type.
const vector & axis() const
Return the axis of rotation.
virtual bool read()
Read radiationProperties dictionary.
tmp< DimensionedField< vector, volMesh > > Su() const
Source term component for momentum equation.
const dimensionedVector & omega() const
Return the angular velocity field [rad/s].
Generic dimensioned Type class.
const dimensionedVector & origin() const
Return the origin of rotation.
Velocity condition to be used in conjunction with the single rotating frame (SRF) model (see: SRFMode...
tmp< DimensionedField< vector, volMesh > > Fcentrifugal() const
Return the centrifugal force.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
Generic GeometricField class.
defineTypeNameAndDebug(rpm, 0)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
tmp< volVectorField > U() const
Return velocity of SRF for complete mesh.
const Switch & relative() const
Return const access to the relative flag.
stressControl lookup("compactNormalStress") >> compactNormalStress