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())
84 phi -= fvc::meshPhi(
U);
95 if (
phi.mesh().moving())
108 if (
phi.mesh().moving())
110 phi -= fvc::interpolate(
rho)*fvc::meshPhi(
rho,
U);
121 if (
phi.mesh().moving())
123 phi += fvc::meshPhi(
U);
134 if (
phi.mesh().moving())
147 if (
phi.mesh().moving())
149 phi += fvc::interpolate(
rho)*fvc::meshPhi(
rho,
U);
160 if (tphi().
mesh().moving())
162 return tphi - fvc::meshPhi(
U);
178 if (tphi().
mesh().moving())
180 return tphi - fvc::interpolate(
rho)*fvc::meshPhi(
rho,
U);
195 if (tphi().
mesh().moving())
197 return tphi + fvc::meshPhi(
U);
213 if (tphi().
mesh().moving())
215 return tphi + fvc::interpolate(
rho)*fvc::meshPhi(
rho,
U);
235 Uf() = fvc::interpolate(
U);
const Mesh & mesh() const
Return 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.
Abstract base class for ddt schemes.
virtual tmp< surfaceScalarField > meshPhi(const GeometricField< Type, fvPatchField, volMesh > &)=0
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.
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.