29 #include "surfaceInterpolate.H" 57 mesh().time().timeName(),
73 tdtdt.
ref().primitiveFieldRef() =
100 "ddt("+vf.
name()+
')',
101 mesh().time().timeName(),
150 "ddt("+
rho.name()+
','+vf.
name()+
')',
151 mesh().time().timeName(),
176 return tmp<GeometricField<Type, fvPatchField, volMesh>>
178 new GeometricField<Type, fvPatchField, volMesh>
200 "ddt("+
rho.name()+
','+vf.
name()+
')',
201 mesh().time().timeName(),
221 -
rho.oldTime().boundaryField()
229 return tmp<GeometricField<Type, fvPatchField, volMesh>>
231 new GeometricField<Type, fvPatchField, volMesh>
255 mesh().time().timeName(),
278 alpha.boundaryField()
282 -
alpha.oldTime().boundaryField()
283 *
rho.oldTime().boundaryField()
291 return tmp<GeometricField<Type, fvPatchField, volMesh>>
293 new GeometricField<Type, fvPatchField, volMesh>
318 "ddt("+sf.
name()+
')',
319 mesh().time().timeName(),
352 scalar rDeltaT = 1.0/
mesh().time().deltaTValue();
387 scalar rDeltaT = 1.0/
mesh().time().deltaTValue();
424 scalar rDeltaT = 1.0/
mesh().time().deltaTValue();
426 fvm.
diag() = rDeltaT*
rho.primitiveField()*
mesh().Vsc();
431 *
rho.oldTime().primitiveField()
437 *
rho.oldTime().primitiveField()
464 scalar rDeltaT = 1.0/
mesh().time().deltaTValue();
467 rDeltaT*
alpha.primitiveField()*
rho.primitiveField()*
mesh().Vsc();
472 *
alpha.oldTime().primitiveField()
473 *
rho.oldTime().primitiveField()
479 *
alpha.oldTime().primitiveField()
480 *
rho.oldTime().primitiveField()
498 fluxFieldType phiUf0(
mesh().Sf() &
Uf.oldTime());
499 fluxFieldType phiCorr
510 "ddtCorr(" +
U.name() +
',' +
Uf.name() +
')',
511 mesh().time().timeName(),
514 this->fvcDdtPhiCoeff(
U.oldTime(), phiUf0, phiCorr)
526 const fluxFieldType&
phi 531 fluxFieldType phiCorr
542 "ddtCorr(" +
U.name() +
',' +
phi.name() +
')',
543 mesh().time().timeName(),
546 this->fvcDdtPhiCoeff(
U.oldTime(),
phi.oldTime(), phiCorr)
572 rho.oldTime()*
U.oldTime()
575 fluxFieldType phiUf0(
mesh().Sf() &
Uf.oldTime());
585 +
rho.name() +
',' +
U.name() +
',' +
Uf.name() +
')',
586 mesh().time().timeName(),
589 this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr,
rho.oldTime())
600 fluxFieldType phiUf0(
mesh().Sf() &
Uf.oldTime());
601 fluxFieldType phiCorr
613 +
rho.name() +
',' +
U.name() +
',' +
Uf.name() +
')',
614 mesh().time().timeName(),
630 <<
"dimensions of Uf are not correct" 633 return fluxFieldType::null();
644 const fluxFieldType&
phi 657 rho.oldTime()*
U.oldTime()
660 fluxFieldType phiCorr
672 +
rho.name() +
',' +
U.name() +
',' +
phi.name() +
')',
673 mesh().time().timeName(),
692 fluxFieldType phiCorr
697 return tmp<fluxFieldType>
704 +
rho.name() +
',' +
U.name() +
',' +
phi.name() +
')',
705 mesh().time().timeName(),
721 <<
"dimensions of phi are not correct" 724 return fluxFieldType::null();
const Type & value() const noexcept
Return const reference to value.
const GeometricField< Type, PatchField, GeoMesh > & oldTime() const
Return old time field.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const word & name() const noexcept
Return the object name.
T & ref() const
Return non-const reference to the contents of a non-null managed pointer.
static tmp< GeometricField< typename innerProduct< vector, Type >::type, fvsPatchField, surfaceMesh > > dotInterpolate(const surfaceVectorField &Sf, const GeometricField< Type, fvPatchField, volMesh > &tvf)
Interpolate field onto faces.
const dimensionSet dimVol(dimVolume)
Older spelling for dimVolume.
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcDdt(const dimensioned< Type > &)
Generic GeometricField class.
Generic dimensioned Type class.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
tmp< fluxFieldType > fvcDdtPhiCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const fluxFieldType &phi)
tmp< surfaceScalarField > meshPhi(const GeometricField< Type, fvPatchField, volMesh > &)
This boundary condition is not designed to be evaluated; it is assmued that the value is assigned via...
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
autoPtr< surfaceVectorField > Uf
const dimensionSet & dimensions() const noexcept
Return const reference to dimensions.
errorManip< error > abort(error &err)
tmp< fluxFieldType > fvcDdtUfCorr(const GeometricField< Type, fvPatchField, volMesh > &U, const GeometricField< Type, fvsPatchField, surfaceMesh > &Uf)
Calculate the divergence of the given field.
const word & name() const noexcept
Return const reference to name.
Field< Type > & source() noexcept
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
A special matrix type and solver, designed for finite volume solutions of scalar equations.
A class for managing temporary objects.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
Defines the attributes of an object for which implicit objectRegistry management is supported...
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
tmp< fvMatrix< Type > > fvmDdt(const GeometricField< Type, fvPatchField, volMesh > &)
const dimensionSet dimArea(sqr(dimLength))
const dimensionSet & dimensions() const noexcept
Return dimensions.
static constexpr const zero Zero
Global zero (0)
const dimensionSet dimVelocity