43 Foam::SRF::SRFModel::SRFModel
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();
232 const volVectorField::GeometricBoundaryField& bvf = Urel_.boundaryField();
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];
Freestream velocity condition to be used in conjunction with the single rotating frame (SRF) model (s...
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensioned< scalar > mag(const dimensioned< Type > &)
tmp< DimensionedField< vector, volMesh > > Su() const
Source term component for momentum equation.
tmp< volVectorField > Uabs() const
Return absolute velocity for complete mesh.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
defineTypeNameAndDebug(rpm, 0)
tmp< volVectorField > U() const
Return velocity of SRF for complete mesh.
const dimensionedVector & origin() const
Return the origin of rotation.
A class for handling words, derived from string.
defineRunTimeSelectionTable(SRFModel, dictionary)
const vector & axis() const
Return the axis of rotation.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
const word & constant() const
Return constant name.
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, pimple.dict(), pRefCell, pRefValue);mesh.setFluxRequired(p.name());Info<< "Creating SRF model\n"<< endl;autoPtr< SRF::SRFModel > SRF(SRF::SRFModel::New(Urel))
stressControl lookup("compactNormalStress") >> compactNormalStress
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
virtual bool read()
Read object.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
virtual ~SRFModel()
Destructor.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
vectorField velocity(const vectorField &positions) const
Return velocity vector from positions.
GeometricField< vector, fvPatchField, volMesh > volVectorField
const dimensionedVector & omega() const
Return the angular velocity field [rad/s].
tmp< DimensionedField< vector, volMesh > > Fcentrifugal() const
Return the centrifugal force.
tmp< DimensionedField< vector, volMesh > > Fcoriolis() const
Return the coriolis force.
const Time & time() const
Return time.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
const Switch & relative() const
Return const access to the relative flag.
const objectRegistry & db() const
Return the local objectRegistry.
A class for managing temporary objects.
virtual bool read()
Read radiationProperties dictionary.