EulerDdtScheme: evaluate dimensioned internal field expressions rather than primitive field expressions

Ensures dimension consistency and simplifies the expressions
This commit is contained in:
Henry Weller 2016-05-01 11:08:01 +01:00
parent 4c5052a3a1
commit a3aa589263

View File

@ -122,12 +122,10 @@ EulerDdtScheme<Type>::fvcDdt
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*vf.dimensions(),
rDeltaT.value()*
rDeltaT*
(
vf.primitiveField()
- vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
@ -174,12 +172,10 @@ EulerDdtScheme<Type>::fvcDdt
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.value()*rho.value()*
rDeltaT*rho*
(
vf.primitiveField()
- vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*rho.value()*
(
@ -226,13 +222,11 @@ EulerDdtScheme<Type>::fvcDdt
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.value()*
rDeltaT*
(
rho.primitiveField()*vf.primitiveField()
- rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
rho()*vf()
- rho.oldTime()()
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
@ -282,18 +276,15 @@ EulerDdtScheme<Type>::fvcDdt
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.value()*
(
alpha.primitiveField()
*rho.primitiveField()
*vf.primitiveField()
alpha()
*rho()
*vf()
- alpha.oldTime().primitiveField()
*rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
- alpha.oldTime()()
*rho.oldTime()()
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(