31#include "surfaceInterpolate.H"
43 vf.
mesh().ddtScheme(
"ddt(" + vf.
name() +
')')
57 vf.
mesh().ddtScheme(
"ddt(" +
rho.name() +
',' + vf.
name() +
')')
71 vf.
mesh().ddtScheme(
"ddt(" +
rho.name() +
',' + vf.
name() +
')')
82 if (
phi.mesh().moving())
95 if (
phi.mesh().moving())
117 surfaceScalarField&
phi,
118 const volVectorField&
U
121 if (
phi.mesh().moving())
134 if (
phi.mesh().moving())
156 const tmp<surfaceScalarField>& tphi,
157 const volVectorField&
U
160 if (tphi().
mesh().moving())
162 return tphi - fvc::meshPhi(
U);
173 const tmp<surfaceScalarField>& tphi,
174 const volScalarField&
rho,
175 const volVectorField&
U
178 if (tphi().
mesh().moving())
180 return tphi - fvc::interpolate(
rho)*fvc::meshPhi(
rho,
U);
191 const tmp<surfaceScalarField>& tphi,
192 const volVectorField&
U
195 if (tphi().
mesh().moving())
197 return tphi + fvc::meshPhi(
U);
208 const tmp<surfaceScalarField>& tphi,
209 const volScalarField&
rho,
210 const volVectorField&
U
213 if (tphi().
mesh().moving())
215 return tphi + fvc::interpolate(
rho)*fvc::meshPhi(
rho,
U);
226 autoPtr<surfaceVectorField>&
Uf,
227 const volVectorField&
U,
228 const surfaceScalarField&
phi
231 const fvMesh&
mesh =
U.mesh();
244 autoPtr<surfaceVectorField>&
rhoUf,
245 const volScalarField&
rho,
246 const volVectorField&
U,
247 const surfaceScalarField&
phi
250 const fvMesh&
mesh =
U.mesh();
255 surfaceVectorField
n(
mesh.Sf()/
mesh.magSf());
const Mesh & mesh() const noexcept
Return const reference to mesh.
const word & name() const noexcept
Return the object name.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Mesh data needed to do the Finite Volume discretisation.
static tmp< ddtScheme< Type > > New(const fvMesh &mesh, Istream &schemeData)
Return a pointer to a new ddtScheme created on freestore.
A class for managing temporary objects.
autoPtr< surfaceVectorField > rhoUf
autoPtr< surfaceVectorField > Uf
Calculate the mesh motion flux and convert fluxes from absolute to relative and back.
static tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &tvf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
void correctRhoUf(autoPtr< surfaceVectorField > &rhoUf, const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi)
tmp< surfaceScalarField > meshPhi(const volVectorField &U)
tmp< surfaceScalarField > relative(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given absolute flux in relative form.
void correctUf(autoPtr< surfaceVectorField > &Uf, const volVectorField &U, const surfaceScalarField &phi)
void makeAbsolute(surfaceScalarField &phi, const volVectorField &U)
Make the given flux absolute.
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
void makeRelative(surfaceScalarField &phi, const volVectorField &U)
Make the given flux relative.
GeometricField< vector, fvsPatchField, surfaceMesh > surfaceVectorField
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.