mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Added support for sub-cycling
This commit is contained in:
@ -184,7 +184,8 @@ CoEulerDdtScheme<Type>::fvcDdt
|
||||
);
|
||||
|
||||
tdtdt().internalField() =
|
||||
rDeltaT.internalField()*dt.value()*(1.0 - mesh().V0()/mesh().V());
|
||||
rDeltaT.internalField()*dt.value()
|
||||
*(1.0 - mesh().Vsc0()/mesh().Vsc());
|
||||
|
||||
return tdtdt;
|
||||
}
|
||||
@ -237,7 +238,7 @@ CoEulerDdtScheme<Type>::fvcDdt
|
||||
rDeltaT.internalField()*
|
||||
(
|
||||
vf.internalField()
|
||||
- vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
- vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.boundaryField()*
|
||||
(
|
||||
@ -289,7 +290,7 @@ CoEulerDdtScheme<Type>::fvcDdt
|
||||
rDeltaT.internalField()*rho.value()*
|
||||
(
|
||||
vf.internalField()
|
||||
- vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
- vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.boundaryField()*rho.value()*
|
||||
(
|
||||
@ -342,7 +343,7 @@ CoEulerDdtScheme<Type>::fvcDdt
|
||||
(
|
||||
rho.internalField()*vf.internalField()
|
||||
- rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
*vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.boundaryField()*
|
||||
(
|
||||
@ -387,15 +388,15 @@ CoEulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
scalarField rDeltaT(CorDeltaT()().internalField());
|
||||
|
||||
fvm.diag() = rDeltaT*mesh().V();
|
||||
fvm.diag() = rDeltaT*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().V0();
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().V();
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
@ -422,17 +423,17 @@ CoEulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
scalarField rDeltaT(CorDeltaT()().internalField());
|
||||
|
||||
fvm.diag() = rDeltaT*rho.value()*mesh().V();
|
||||
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().V0();
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().V();
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
@ -459,19 +460,19 @@ CoEulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
scalarField rDeltaT(CorDeltaT()().internalField());
|
||||
|
||||
fvm.diag() = rDeltaT*rho.internalField()*mesh().V();
|
||||
fvm.diag() = rDeltaT*rho.internalField()*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V0();
|
||||
*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V();
|
||||
*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
|
||||
@ -74,7 +74,7 @@ EulerDdtScheme<Type>::fvcDdt
|
||||
);
|
||||
|
||||
tdtdt().internalField() =
|
||||
rDeltaT.value()*dt.value()*(1.0 - mesh().V0()/mesh().V());
|
||||
rDeltaT.value()*dt.value()*(1.0 - mesh().Vsc0()/mesh().Vsc());
|
||||
|
||||
return tdtdt;
|
||||
}
|
||||
@ -127,7 +127,7 @@ EulerDdtScheme<Type>::fvcDdt
|
||||
rDeltaT.value()*
|
||||
(
|
||||
vf.internalField()
|
||||
- vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
- vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.value()*
|
||||
(
|
||||
@ -179,7 +179,7 @@ EulerDdtScheme<Type>::fvcDdt
|
||||
rDeltaT.value()*rho.value()*
|
||||
(
|
||||
vf.internalField()
|
||||
- vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
- vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.value()*rho.value()*
|
||||
(
|
||||
@ -232,7 +232,7 @@ EulerDdtScheme<Type>::fvcDdt
|
||||
(
|
||||
rho.internalField()*vf.internalField()
|
||||
- rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
*vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.value()*
|
||||
(
|
||||
@ -277,15 +277,15 @@ EulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
|
||||
|
||||
fvm.diag() = rDeltaT*mesh().V();
|
||||
fvm.diag() = rDeltaT*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().V0();
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().V();
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
@ -312,17 +312,17 @@ EulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
|
||||
|
||||
fvm.diag() = rDeltaT*rho.value()*mesh().V();
|
||||
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().V0();
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().V();
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
@ -349,19 +349,19 @@ EulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
|
||||
|
||||
fvm.diag() = rDeltaT*rho.internalField()*mesh().V();
|
||||
fvm.diag() = rDeltaT*rho.internalField()*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V0();
|
||||
*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V();
|
||||
*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
|
||||
@ -81,7 +81,8 @@ localEulerDdtScheme<Type>::fvcDdt
|
||||
);
|
||||
|
||||
tdtdt().internalField() =
|
||||
rDeltaT.internalField()*dt.value()*(1.0 - mesh().V0()/mesh().V());
|
||||
rDeltaT.internalField()*dt.value()
|
||||
*(1.0 - mesh().Vsc0()/mesh().Vsc());
|
||||
|
||||
return tdtdt;
|
||||
}
|
||||
@ -134,7 +135,7 @@ localEulerDdtScheme<Type>::fvcDdt
|
||||
rDeltaT.internalField()*
|
||||
(
|
||||
vf.internalField()
|
||||
- vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
- vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.boundaryField()*
|
||||
(
|
||||
@ -186,7 +187,7 @@ localEulerDdtScheme<Type>::fvcDdt
|
||||
rDeltaT.internalField()*rho.value()*
|
||||
(
|
||||
vf.internalField()
|
||||
- vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
- vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.boundaryField()*rho.value()*
|
||||
(
|
||||
@ -239,7 +240,7 @@ localEulerDdtScheme<Type>::fvcDdt
|
||||
(
|
||||
rho.internalField()*vf.internalField()
|
||||
- rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V0()/mesh().V()
|
||||
*vf.oldTime().internalField()*mesh().Vsc0()/mesh().Vsc()
|
||||
),
|
||||
rDeltaT.boundaryField()*
|
||||
(
|
||||
@ -284,15 +285,15 @@ localEulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
const scalarField& rDeltaT = localRDeltaT().internalField();
|
||||
|
||||
fvm.diag() = rDeltaT*mesh().V();
|
||||
fvm.diag() = rDeltaT*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().V0();
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().V();
|
||||
fvm.source() = rDeltaT*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
@ -319,17 +320,17 @@ localEulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
const scalarField& rDeltaT = localRDeltaT().internalField();
|
||||
|
||||
fvm.diag() = rDeltaT*rho.value()*mesh().V();
|
||||
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().V0();
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().V();
|
||||
*rho.value()*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
@ -356,19 +357,19 @@ localEulerDdtScheme<Type>::fvmDdt
|
||||
|
||||
const scalarField& rDeltaT = localRDeltaT().internalField();
|
||||
|
||||
fvm.diag() = rDeltaT*rho.internalField()*mesh().V();
|
||||
fvm.diag() = rDeltaT*rho.internalField()*mesh().Vsc();
|
||||
|
||||
if (mesh().moving())
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V0();
|
||||
*vf.oldTime().internalField()*mesh().Vsc0();
|
||||
}
|
||||
else
|
||||
{
|
||||
fvm.source() = rDeltaT
|
||||
*rho.oldTime().internalField()
|
||||
*vf.oldTime().internalField()*mesh().V();
|
||||
*vf.oldTime().internalField()*mesh().Vsc();
|
||||
}
|
||||
|
||||
return tfvm;
|
||||
|
||||
Reference in New Issue
Block a user