64 SRFModelCoeffs_(optionalSubDict(type +
"Coeffs")),
85 lookup(
"origin") >> origin_;
92 SRFModelCoeffs_ = optionalSubDict(
type() +
"Coeffs");
138 omega_ ^ (omega_ ^ (mesh_.C() - origin_))
146 return Fcoriolis() + Fcentrifugal();
158 (positions - origin_.value())
159 - axis_*(axis_ & (positions - origin_.value()))
171 omega_ ^ ((mesh_.C() - origin_) - axis_*(axis_ & (mesh_.C() - origin_)))
192 const volVectorField::Boundary& bvf = Urel_.boundaryField();
196 if (isA<SRFVelocityFvPatchVectorField>(bvf[i]))
201 refCast<const SRFVelocityFvPatchVectorField>(bvf[i]);
204 Uabsbf[i] += Urel_.boundaryField()[i];
209 Uabsbf[i] += Urel_.boundaryField()[i];
defineTypeNameAndDebug(rpm, 0)
#define forAll(list, i)
Loop across all elements in list.
static tmp< DimensionedField< Type, GeoMesh > > New(const word &name, const Mesh &mesh, const dimensionSet &)
Return a temporary field constructed from name, mesh.
const Switch & relative() const
Return const access to the relative flag.
virtual bool read()
Read object.
T & ref() const
Return non-const reference or generate a fatal error.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
defineRunTimeSelectionTable(SRFModel, dictionary)
const vector & axis() const
Return the axis of rotation.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
static tmp< GeometricField< vector, fvPatchField, volMesh > > New(const word &name, const Mesh &, const dimensionSet &, const word &patchFieldType=fvPatchField< vector >::calculatedType())
Return a temporary field constructed from name, mesh, dimensionSet.
virtual bool read()
Read radiationProperties dictionary.
stressControl lookup("compactNormalStress") >> compactNormalStress
A class for handling words, derived from string.
const word & constant() const
Return constant name.
const dimensionedVector & omega() const
Return the angular velocity field [rad/s].
const dimensionedVector & origin() const
Return the origin of rotation.
Internal::FieldType & primitiveFieldRef()
Return a reference to the internal field.
tmp< volVectorField::Internal > Fcoriolis() const
Return the coriolis force.
tmp< volVectorField::Internal > Su() const
Source term component for momentum equation.
tmp< volVectorField > U() const
Return velocity of SRF for complete mesh.
tmp< volVectorField::Internal > Fcentrifugal() const
Return the centrifugal force.
SRFModel(const word &type, const volVectorField &Urel)
Construct from components.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Info<< "Reading field p\"<< endl;volScalarField p(IOobject("p", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Reading field Urel\"<< endl;volVectorField Urel(IOobject("Urel", runTime.timeName(), mesh, IOobject::MUST_READ, IOobject::AUTO_WRITE), mesh);Info<< "Reading/calculating face flux field phi\"<< 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, pimple.dict(), pRefCell, pRefValue);mesh.setFluxRequired(p.name());Info<< "Creating SRF model\"<< endl;autoPtr< SRF::SRFModel > SRF(SRF::SRFModel::New(Urel))
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
const Time & time() const
Return time.
tmp< volVectorField > Uabs() const
Return absolute velocity for complete mesh.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
virtual ~SRFModel()
Destructor.
dimensioned< scalar > mag(const dimensioned< Type > &)
A class for managing temporary objects.
const objectRegistry & db() const
Return the local objectRegistry.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
vectorField velocity(const vectorField &positions) const
Return velocity vector from positions.
Velocity condition to be used in conjunction with the single rotating frame (SRF) model (see: SRFMode...