43 tmp<GeometricField<Type, fvPatchField, volMesh>>
50 4.0/
sqr(
mesh().time().deltaT() +
mesh().time().deltaT0());
54 "d2dt2("+vf.
name()+
')',
55 mesh().time().timeName(),
61 scalar deltaT =
mesh().time().deltaTValue();
62 scalar deltaT0 =
mesh().time().deltaT0Value();
64 scalar coefft = (deltaT + deltaT0)/(2*deltaT);
65 scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
66 scalar coefft0 = coefft + coefft00;
70 scalar halfRdeltaT2 = rDeltaT2.
value()/2.0;
86 - (coefft*VV0 + coefft00*V0V00)
89 + (coefft00*V0V00)*vf.
oldTime().oldTime().primitiveField()
94 - coefft0*vf.
oldTime().boundaryField()
95 + coefft00*vf.
oldTime().oldTime().boundaryField()
111 + coefft00*vf.
oldTime().oldTime()
128 4.0/
sqr(
mesh().time().deltaT() +
mesh().time().deltaT0());
132 "d2dt2("+rho.
name()+
','+vf.
name()+
')',
133 mesh().time().timeName(),
139 scalar deltaT =
mesh().time().deltaTValue();
140 scalar deltaT0 =
mesh().time().deltaT0Value();
142 scalar coefft = (deltaT + deltaT0)/(2*deltaT);
143 scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
147 scalar halfRdeltaT2 = 0.5*rDeltaT2.
value();
148 scalar quarterRdeltaT2 = 0.25*rDeltaT2.
value();
176 - (coefft*VV0rhoRho0 + coefft00*V0V00rho0Rho00)
179 + (coefft00*V0V00rho0Rho00)
180 *vf.
oldTime().oldTime().primitiveField()
205 )*vf.
oldTime().oldTime().boundaryField()
225 - (coefft*rhoRho0 + coefft00*rho0Rho00)*vf.
oldTime()
226 + coefft00*rho0Rho00*vf.
oldTime().oldTime()
252 scalar deltaT =
mesh().time().deltaTValue();
253 scalar deltaT0 =
mesh().time().deltaT0Value();
255 scalar coefft = (deltaT + deltaT0)/(2*deltaT);
256 scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
257 scalar coefft0 = coefft + coefft00;
259 scalar rDeltaT2 = 4.0/
sqr(deltaT + deltaT0);
263 scalar halfRdeltaT2 = rDeltaT2/2.0;
268 fvm.
diag() = (coefft*halfRdeltaT2)*VV0;
270 fvm.
source() = halfRdeltaT2*
272 (coefft*VV0 + coefft00*V0V00)
275 - (coefft00*V0V00)*vf.
oldTime().oldTime().primitiveField()
280 fvm.
diag() = (coefft*rDeltaT2)*
mesh().V();
284 coefft0*vf.
oldTime().primitiveField()
285 - coefft00*vf.
oldTime().oldTime().primitiveField()
313 scalar deltaT =
mesh().time().deltaTValue();
314 scalar deltaT0 =
mesh().time().deltaT0Value();
316 scalar coefft = (deltaT + deltaT0)/(2*deltaT);
317 scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
319 scalar rDeltaT2 = 4.0/
sqr(deltaT + deltaT0);
323 scalar halfRdeltaT2 = 0.5*rDeltaT2;
328 fvm.
diag() = rho.
value()*(coefft*halfRdeltaT2)*VV0;
332 (coefft*VV0 + coefft00*V0V00)
335 - (coefft00*V0V00)*vf.
oldTime().oldTime().primitiveField()
344 (coefft + coefft00)*vf.
oldTime().primitiveField()
345 - coefft00*vf.
oldTime().oldTime().primitiveField()
373 scalar deltaT =
mesh().time().deltaTValue();
374 scalar deltaT0 =
mesh().time().deltaT0Value();
376 scalar coefft = (deltaT + deltaT0)/(2*deltaT);
377 scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
379 scalar rDeltaT2 = 4.0/
sqr(deltaT + deltaT0);
383 scalar quarterRdeltaT2 = 0.25*rDeltaT2;
400 fvm.
diag() = (coefft*quarterRdeltaT2)*VV0rhoRho0;
402 fvm.
source() = quarterRdeltaT2*
404 (coefft*VV0rhoRho0 + coefft00*V0V00rho0Rho00)
407 - (coefft00*V0V00rho0Rho00)
408 *vf.
oldTime().oldTime().primitiveField()
413 scalar halfRdeltaT2 = 0.5*rDeltaT2;
427 fvm.
diag() = (coefft*halfRdeltaT2)*
mesh().V()*rhoRho0;
431 (coefft*rhoRho0 + coefft00*rho0Rho00)
434 - (coefft00*rho0Rho00)
435 *vf.
oldTime().oldTime().primitiveField()
const GeometricField< Type, PatchField, GeoMesh > & oldTime() const
Return old time field.
const word & name() const
Return name.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
T & ref() const
Return non-const reference or generate a fatal error.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimVol(dimVolume)
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
Generic GeometricField class.
tmp< fvMatrix< Type > > fvmD2dt2(const GeometricField< Type, fvPatchField, volMesh > &)
const dimensionSet & dimensions() const
Return dimensions.
const Type & value() const
Return const reference to value.
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.
Calculate the divergence of the given field.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
A special matrix type and solver, designed for finite volume solutions of scalar equations.
const dimensionSet & dimensions() const
Return const reference to dimensions.
A class for managing temporary objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
tmp< GeometricField< Type, fvPatchField, volMesh > > fvcD2dt2(const GeometricField< Type, fvPatchField, volMesh > &)