finiteVolume: Use the GeometricField::New method to construct temporary fields

Avoids database registration of temporary fields, simplifies the code and
improves maintainability.
This commit is contained in:
Henry Weller
2019-07-18 09:32:12 +01:00
parent 9bcbaea4a3
commit 0c66eb9f94
46 changed files with 974 additions and 1867 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2015-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -37,19 +37,11 @@ Foam::StationaryPhaseModel<BasePhaseModel>::zeroField
const bool cache
) const
{
return tmp<GeometricField<Type, PatchField, GeoMesh>>
return GeometricField<Type, PatchField, GeoMesh>::New
(
new GeometricField<Type, PatchField, GeoMesh>
(
IOobject
(
IOobject::groupName(name, this->name()),
this->mesh().time().timeName(),
this->mesh()
),
this->mesh(),
dimensioned<Type>("zero", dims, pTraits<Type>::zero)
)
IOobject::groupName(name, this->name()),
this->mesh(),
dimensioned<Type>("zero", dims, pTraits<Type>::zero)
);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2014-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -254,17 +254,9 @@ Foam::BlendedInterfacialModel<modelType>::F() const
tmp<GeometricField<Type, fvPatchField, volMesh>> x
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
modelType::typeName + ":F",
pair_.phase1().mesh().time().timeName(),
pair_.phase1().mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
modelType::typeName + ":F",
pair_.phase1().mesh(),
dimensioned<Type>("zero", modelType::dimF, Zero)
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -932,26 +932,31 @@ int main(int argc, char *argv[])
{
scalarFlds[i].rename(scalarNames[i]);
scalarFlds[i].writeOpt() = IOobject::AUTO_WRITE;
scalarFlds[i].checkIn();
}
forAll(vectorFlds, i)
{
vectorFlds[i].rename(vectorNames[i]);
vectorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
vectorFlds[i].checkIn();
}
forAll(sphericalTensorFlds, i)
{
sphericalTensorFlds[i].rename(sphericalTensorNames[i]);
sphericalTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
sphericalTensorFlds[i].checkIn();
}
forAll(symmTensorFlds, i)
{
symmTensorFlds[i].rename(symmTensorNames[i]);
symmTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
symmTensorFlds[i].checkIn();
}
forAll(tensorFlds, i)
{
tensorFlds[i].rename(tensorNames[i]);
tensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
tensorFlds[i].checkIn();
}
// Surface ones.
@ -959,26 +964,31 @@ int main(int argc, char *argv[])
{
surfScalarFlds[i].rename(surfScalarNames[i]);
surfScalarFlds[i].writeOpt() = IOobject::AUTO_WRITE;
surfScalarFlds[i].checkIn();
}
forAll(surfVectorFlds, i)
{
surfVectorFlds[i].rename(surfVectorNames[i]);
surfVectorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
surfVectorFlds[i].checkIn();
}
forAll(surfSphericalTensorFlds, i)
{
surfSphericalTensorFlds[i].rename(surfSphericalTensorNames[i]);
surfSphericalTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
surfSphericalTensorFlds[i].checkIn();
}
forAll(surfSymmTensorFlds, i)
{
surfSymmTensorFlds[i].rename(surfSymmTensorNames[i]);
surfSymmTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
surfSymmTensorFlds[i].checkIn();
}
forAll(surfTensorNames, i)
{
surfTensorFlds[i].rename(surfTensorNames[i]);
surfTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
surfTensorFlds[i].checkIn();
}
subsetter.subMesh().write();

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -93,7 +93,8 @@ tmp<GeometricField<Type, fvPatchField, volMesh>> fvMeshSubset::interpolate
sMesh.time().timeName(),
sMesh,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
sMesh,
vf.dimensions(),
@ -230,7 +231,8 @@ tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> fvMeshSubset::interpolate
sMesh.time().timeName(),
sMesh,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
sMesh,
vf.dimensions(),
@ -414,7 +416,8 @@ fvMeshSubset::interpolate
sMesh.time().timeName(),
sMesh.thisDb(),
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
sMesh,
vf.dimensions(),

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -143,17 +143,9 @@ Foam::motionSmootherAlgo::avg
{
tmp<GeometricField<Type, pointPatchField, pointMesh>> tres
(
new GeometricField<Type, pointPatchField, pointMesh>
GeometricField<Type, pointPatchField, pointMesh>::New
(
IOobject
(
"avg("+fld.name()+')',
fld.time().timeName(),
fld.db(),
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
"avg("+fld.name()+')',
fld.mesh(),
dimensioned<Type>("zero", fld.dimensions(), Zero)
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2016-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2016-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -45,7 +45,7 @@ Foam::tmp<Foam::volVectorField> Foam::constrainHbyA
}
else
{
tHbyANew = new volVectorField("HbyA", tHbyA);
tHbyANew = volVectorField::New("HbyA", tHbyA);
}
volVectorField& HbyA = tHbyANew.ref();

View File

@ -185,14 +185,9 @@ Foam::levelSetAverage
tmp<GeometricField<Type, fvPatchField, volMesh>> tResult
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
positiveC.name() + ":levelSetAverage",
mesh.time().timeName(),
mesh
),
positiveC.name() + ":levelSetAverage",
mesh,
dimensioned<Type>("0", positiveC.dimensions(), Zero)
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -46,70 +46,57 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT2 =
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0());
IOobject d2dt2IOobject
const dimensionedScalar rDeltaT2
(
"d2dt2("+vf.name()+')',
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0())
);
scalar deltaT = mesh().time().deltaTValue();
scalar deltaT0 = mesh().time().deltaT0Value();
const word d2dt2name("d2dt2("+vf.name()+')');
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
scalar coefft0 = coefft + coefft00;
const scalar deltaT = mesh().time().deltaTValue();
const scalar deltaT0 = mesh().time().deltaT0Value();
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
const scalar coefft0 = coefft + coefft00;
if (mesh().moving())
{
scalar halfRdeltaT2 = rDeltaT2.value()/2.0;
const dimensionedScalar halfRdeltaT2(rDeltaT2/2.0);
scalarField VV0 = mesh().V() + mesh().V0();
scalarField V0V00 = mesh().V0() + mesh().V00();
const volScalarField::Internal VV0(mesh().V() + mesh().V0());
const volScalarField::Internal V0V00(mesh().V0() + mesh().V00());
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
d2dt2name,
halfRdeltaT2*
(
d2dt2IOobject,
mesh(),
rDeltaT2.dimensions()*vf.dimensions(),
halfRdeltaT2*
(
coefft*VV0*vf.primitiveField()
coefft*VV0*vf()
- (coefft*VV0 + coefft00*V0V00)
*vf.oldTime().primitiveField()
- (coefft*VV0 + coefft00*V0V00)
*vf.oldTime()()
+ (coefft00*V0V00)*vf.oldTime().oldTime().primitiveField()
)/mesh().V(),
rDeltaT2.value()*
(
coefft*vf.boundaryField()
- coefft0*vf.oldTime().boundaryField()
+ coefft00*vf.oldTime().oldTime().boundaryField()
)
+ (coefft00*V0V00)*vf.oldTime().oldTime()()
)/mesh().V(),
rDeltaT2.value()*
(
coefft*vf.boundaryField()
- coefft0*vf.oldTime().boundaryField()
+ coefft00*vf.oldTime().oldTime().boundaryField()
)
);
}
else
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
d2dt2name,
rDeltaT2*
(
d2dt2IOobject,
rDeltaT2*
(
coefft*vf
- coefft0*vf.oldTime()
+ coefft00*vf.oldTime().oldTime()
)
coefft*vf
- coefft0*vf.oldTime()
+ coefft00*vf.oldTime().oldTime()
)
);
}
@ -124,107 +111,93 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT2 =
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0());
IOobject d2dt2IOobject
const dimensionedScalar rDeltaT2
(
"d2dt2("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0())
);
scalar deltaT = mesh().time().deltaTValue();
scalar deltaT0 = mesh().time().deltaT0Value();
const word d2dt2name("d2dt2("+rho.name()+','+vf.name()+')');
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
const scalar deltaT = mesh().time().deltaTValue();
const scalar deltaT0 = mesh().time().deltaT0Value();
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
if (mesh().moving())
{
scalar halfRdeltaT2 = 0.5*rDeltaT2.value();
scalar quarterRdeltaT2 = 0.25*rDeltaT2.value();
const dimensionedScalar halfRdeltaT2(0.5*rDeltaT2);
const dimensionedScalar quarterRdeltaT2(0.25*rDeltaT2);
const scalarField VV0rhoRho0
const volScalarField::Internal VV0rhoRho0
(
(mesh().V() + mesh().V0())
* (rho.primitiveField() + rho.oldTime().primitiveField())
(mesh().V() + mesh().V0())*(rho() + rho.oldTime()())
);
const scalarField V0V00rho0Rho00
const volScalarField::Internal V0V00rho0Rho00
(
(mesh().V0() + mesh().V00())
* (
rho.oldTime().primitiveField()
+ rho.oldTime().oldTime().primitiveField()
*(
rho.oldTime()()
+ rho.oldTime().oldTime()()
)
);
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
d2dt2name,
quarterRdeltaT2*
(
d2dt2IOobject,
mesh(),
rDeltaT2.dimensions()*rho.dimensions()*vf.dimensions(),
quarterRdeltaT2*
(
coefft*VV0rhoRho0*vf.primitiveField()
coefft*VV0rhoRho0*vf()
- (coefft*VV0rhoRho0 + coefft00*V0V00rho0Rho00)
*vf.oldTime().primitiveField()
- (coefft*VV0rhoRho0 + coefft00*V0V00rho0Rho00)
*vf.oldTime()()
+ (coefft00*V0V00rho0Rho00)
*vf.oldTime().oldTime().primitiveField()
)/mesh().V(),
halfRdeltaT2*
(
+ (coefft00*V0V00rho0Rho00)
*vf.oldTime().oldTime()()
)/mesh().V(),
halfRdeltaT2.value()*
(
coefft
*(rho.boundaryField() + rho.oldTime().boundaryField())
*vf.boundaryField()
- (
coefft
*(rho.boundaryField() + rho.oldTime().boundaryField())
*vf.boundaryField()
- (
coefft
*(
rho.boundaryField()
+ rho.oldTime().boundaryField()
)
+ coefft00
*(
rho.oldTime().boundaryField()
+ rho.oldTime().oldTime().boundaryField()
)
)*vf.oldTime().boundaryField()
*(
rho.boundaryField()
+ rho.oldTime().boundaryField()
)
+ coefft00
*(
rho.oldTime().boundaryField()
+ rho.oldTime().oldTime().boundaryField()
)*vf.oldTime().oldTime().boundaryField()
)
)
)*vf.oldTime().boundaryField()
+ coefft00
*(
rho.oldTime().boundaryField()
+ rho.oldTime().oldTime().boundaryField()
)*vf.oldTime().oldTime().boundaryField()
)
);
}
else
{
dimensionedScalar halfRdeltaT2 = 0.5*rDeltaT2;
const dimensionedScalar halfRdeltaT2 = 0.5*rDeltaT2;
const volScalarField rhoRho0(rho + rho.oldTime());
const volScalarField rho0Rho00(rho.oldTime() +rho.oldTime().oldTime());
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
d2dt2name,
halfRdeltaT2*
(
d2dt2IOobject,
halfRdeltaT2*
(
coefft*rhoRho0*vf
- (coefft*rhoRho0 + coefft00*rho0Rho00)*vf.oldTime()
+ coefft00*rho0Rho00*vf.oldTime().oldTime()
)
coefft*rhoRho0*vf
- (coefft*rhoRho0 + coefft00*rho0Rho00)*vf.oldTime()
+ coefft00*rho0Rho00*vf.oldTime().oldTime()
)
);
}
@ -249,18 +222,18 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
fvMatrix<Type>& fvm = tfvm.ref();
scalar deltaT = mesh().time().deltaTValue();
scalar deltaT0 = mesh().time().deltaT0Value();
const scalar deltaT = mesh().time().deltaTValue();
const scalar deltaT0 = mesh().time().deltaT0Value();
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
scalar coefft0 = coefft + coefft00;
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
const scalar coefft0 = coefft + coefft00;
scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
const scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
if (mesh().moving())
{
scalar halfRdeltaT2 = rDeltaT2/2.0;
const scalar halfRdeltaT2 = rDeltaT2/2.0;
const scalarField VV0(mesh().V() + mesh().V0());
const scalarField V0V00(mesh().V0() + mesh().V00());
@ -310,17 +283,17 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
fvMatrix<Type>& fvm = tfvm.ref();
scalar deltaT = mesh().time().deltaTValue();
scalar deltaT0 = mesh().time().deltaT0Value();
const scalar deltaT = mesh().time().deltaTValue();
const scalar deltaT0 = mesh().time().deltaT0Value();
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
const scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
if (mesh().moving())
{
scalar halfRdeltaT2 = 0.5*rDeltaT2;
const scalar halfRdeltaT2 = 0.5*rDeltaT2;
const scalarField VV0(mesh().V() + mesh().V0());
const scalarField V0V00(mesh().V0() + mesh().V00());
@ -370,17 +343,17 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
fvMatrix<Type>& fvm = tfvm.ref();
scalar deltaT = mesh().time().deltaTValue();
scalar deltaT0 = mesh().time().deltaT0Value();
const scalar deltaT = mesh().time().deltaTValue();
const scalar deltaT0 = mesh().time().deltaT0Value();
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
const scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
if (mesh().moving())
{
scalar quarterRdeltaT2 = 0.25*rDeltaT2;
const scalar quarterRdeltaT2 = 0.25*rDeltaT2;
const scalarField VV0rhoRho0
(
@ -410,7 +383,7 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
}
else
{
scalar halfRdeltaT2 = 0.5*rDeltaT2;
const scalar halfRdeltaT2 = 0.5*rDeltaT2;
const scalarField rhoRho0
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -46,25 +46,15 @@ steadyStateD2dt2Scheme<Type>::fvcD2dt2
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
"d2dt2("+vf.name()+')',
mesh(),
dimensioned<Type>
(
IOobject
(
"d2dt2("+vf.name()+')',
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh(),
dimensioned<Type>
(
"0",
vf.dimensions()/dimTime/dimTime,
Zero
)
"0",
vf.dimensions()/dimTime/dimTime,
Zero
)
);
}
@ -78,25 +68,15 @@ steadyStateD2dt2Scheme<Type>::fvcD2dt2
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
"d2dt2("+rho.name()+','+vf.name()+')',
mesh(),
dimensioned<Type>
(
IOobject
(
"d2dt2("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh(),
dimensioned<Type>
(
"0",
rho.dimensions()*vf.dimensions()/dimTime/dimTime,
Zero
)
"0",
rho.dimensions()*vf.dimensions()/dimTime/dimTime,
Zero
)
);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -150,20 +150,15 @@ CoEulerDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
"ddt("+dt.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+dt.name()+')');
if (mesh().moving())
{
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -184,9 +179,9 @@ CoEulerDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -210,26 +205,19 @@ CoEulerDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
"ddt("+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*
ddtName,
rDeltaT()*
(
vf.primitiveField()
- vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.boundaryField()*
(
@ -242,9 +230,9 @@ CoEulerDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*(vf - vf.oldTime())
)
);
@ -262,26 +250,19 @@ CoEulerDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*rho.value()*
ddtName,
rDeltaT()*rho.value()*
(
vf.primitiveField()
- vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.boundaryField()*rho.value()*
(
@ -294,9 +275,9 @@ CoEulerDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*rho*(vf - vf.oldTime())
)
);
@ -314,27 +295,20 @@ CoEulerDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*
ddtName,
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.boundaryField()*
(
@ -349,9 +323,9 @@ CoEulerDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
)
);
@ -370,32 +344,24 @@ CoEulerDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(CorDeltaT());
IOobject ddtIOobject
(
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*
ddtName,
rDeltaT()*
(
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.boundaryField()*
(
@ -414,9 +380,9 @@ CoEulerDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT
*(
alpha*rho*vf
@ -446,7 +412,7 @@ CoEulerDdtScheme<Type>::fvmDdt
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(CorDeltaT()().primitiveField());
const scalarField rDeltaT(CorDeltaT()().primitiveField());
fvm.diag() = rDeltaT*mesh().Vsc();
@ -481,7 +447,7 @@ CoEulerDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(CorDeltaT()().primitiveField());
const scalarField rDeltaT(CorDeltaT()().primitiveField());
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
@ -518,7 +484,7 @@ CoEulerDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(CorDeltaT()().primitiveField());
const scalarField rDeltaT(CorDeltaT()().primitiveField());
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().Vsc();
@ -558,7 +524,7 @@ CoEulerDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(CorDeltaT()().primitiveField());
const scalarField rDeltaT(CorDeltaT()().primitiveField());
fvm.diag() =
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
@ -598,19 +564,10 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
*rDeltaT*phiCorr
)
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)*rDeltaT*phiCorr
);
}
@ -630,19 +587,11 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
*rDeltaT*phiCorr
)
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
*rDeltaT*phiCorr
);
}
@ -672,20 +621,11 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
*rDeltaT*phiCorr
)
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
*rDeltaT*phiCorr
);
}
else if
@ -700,25 +640,16 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
phiUf0,
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
U.oldTime(),
phiUf0,
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else
@ -741,7 +672,7 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
if
(
@ -759,25 +690,16 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
rhoU0,
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
rhoU0,
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else if
@ -791,25 +713,16 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
U.oldTime(),
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -354,18 +354,13 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
dt.dimensions()
);
IOobject ddtIOobject
(
"ddt(" + dt.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + dt.name() + ')');
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -416,12 +411,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
vf.dimensions()
);
IOobject ddtIOobject
(
"ddt(" + vf.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + vf.name() + ')');
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
@ -450,23 +440,20 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
);
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
(
ddtIOobject,
rDtCoef*
(
rDtCoef*
(
mesh().V()*vf
- mesh().V0()*vf.oldTime()
) - mesh().V0()*offCentre_(ddt0()())
)/mesh().V(),
rDtCoef.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
)
mesh().V()*vf
- mesh().V0()*vf.oldTime()
) - mesh().V0()*offCentre_(ddt0()())
)/mesh().V(),
rDtCoef.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
);
}
else
@ -477,13 +464,10 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
- offCentre_(ddt0());
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDtCoef*(vf - vf.oldTime()) - offCentre_(ddt0())
)
ddtName,
rDtCoef*(vf - vf.oldTime()) - offCentre_(ddt0())
);
}
}
@ -504,12 +488,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
rho.dimensions()*vf.dimensions()
);
IOobject ddtIOobject
(
"ddt(" + rho.name() + ',' + vf.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
@ -538,25 +517,20 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
);
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
(
ddtIOobject,
mesh(),
rDtCoef.dimensions()*rho.dimensions()*vf.dimensions(),
rDtCoef*rho*
(
rDtCoef.value()*rho.value()*
(
mesh().V()*vf.primitiveField()
- mesh().V0()*vf.oldTime().primitiveField()
) - mesh().V0()*offCentre_(ddt0.primitiveField())
)/mesh().V(),
rDtCoef.value()*rho.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
)
mesh().V()*vf()
- mesh().V0()*vf.oldTime()()
) - mesh().V0()*offCentre_(ddt0())()
)/mesh().V(),
rDtCoef.value()*rho.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
);
}
else
@ -567,13 +541,10 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
- offCentre_(ddt0());
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDtCoef*rho*(vf - vf.oldTime()) - offCentre_(ddt0())
)
ddtName,
rDtCoef*rho*(vf - vf.oldTime()) - offCentre_(ddt0())
);
}
}
@ -594,12 +565,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
rho.dimensions()*vf.dimensions()
);
IOobject ddtIOobject
(
"ddt(" + rho.name() + ',' + vf.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
@ -632,27 +598,22 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
);
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
(
ddtIOobject,
mesh(),
rDtCoef.dimensions()*rho.dimensions()*vf.dimensions(),
rDtCoef*
(
rDtCoef.value()*
(
mesh().V()*rho.primitiveField()*vf.primitiveField()
- mesh().V0()*rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()
) - mesh().V00()*offCentre_(ddt0.primitiveField())
)/mesh().V(),
rDtCoef.value()*
(
rho.boundaryField()*vf.boundaryField()
- rho.oldTime().boundaryField()*vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
)
mesh().V()*rho()*vf()
- mesh().V0()*rho.oldTime()()
*vf.oldTime()()
) - mesh().V00()*offCentre_(ddt0())()
)/mesh().V(),
rDtCoef.value()*
(
rho.boundaryField()*vf.boundaryField()
- rho.oldTime().boundaryField()*vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
);
}
else
@ -666,14 +627,10 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
) - offCentre_(ddt0());
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDtCoef*(rho*vf - rho.oldTime()*vf.oldTime())
- offCentre_(ddt0())
)
ddtName,
rDtCoef*(rho*vf - rho.oldTime()*vf.oldTime()) - offCentre_(ddt0())
);
}
}
@ -695,11 +652,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
alpha.dimensions()*rho.dimensions()*vf.dimensions()
);
IOobject ddtIOobject
const word ddtName
(
"ddt(" + alpha.name() + ',' + rho.name() + ',' + vf.name() + ')',
mesh().time().timeName(),
mesh()
"ddt(" + alpha.name() + ',' + rho.name() + ',' + vf.name() + ')'
);
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
@ -741,39 +696,26 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
);
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
(
ddtIOobject,
mesh(),
rDtCoef.dimensions()
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
(
rDtCoef.value()*
(
mesh().V()
*alpha.primitiveField()
*rho.primitiveField()
*vf.primitiveField()
- mesh().V0()
*alpha.oldTime().primitiveField()
*rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()
) - mesh().V00()*offCentre_(ddt0.primitiveField())
)/mesh().V(),
rDtCoef.value()*
(
alpha.boundaryField()
*rho.boundaryField()
*vf.boundaryField()
mesh().V()*alpha()*rho()*vf()
- mesh().V0()*alpha.oldTime()()*rho.oldTime()()*vf.oldTime()()
) - mesh().V00()*offCentre_(ddt0())()
)/mesh().V(),
rDtCoef.value()*
(
alpha.boundaryField()
*rho.boundaryField()
*vf.boundaryField()
- alpha.oldTime().boundaryField()
*rho.oldTime().boundaryField()
*vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
)
- alpha.oldTime().boundaryField()
*rho.oldTime().boundaryField()
*vf.oldTime().boundaryField()
) - offCentre_(ff(ddt0.boundaryField()))
);
}
else
@ -792,18 +734,15 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
) - offCentre_(ddt0());
}
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDtCoef
*(
alpha*rho*vf
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
)
- offCentre_(ddt0())
ddtName,
rDtCoef
*(
alpha*rho*vf
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
)
- offCentre_(ddt0())
);
}
}
@ -1212,23 +1151,15 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
- offCentre_(dUfdt0());
}
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), mesh().Sf() & Uf.oldTime())
*(
mesh().Sf()
& (
(rDtCoef*Uf.oldTime() + offCentre_(dUfdt0()))
- fvc::interpolate(rDtCoef*U.oldTime() + offCentre_(ddt0()))
)
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), mesh().Sf() & Uf.oldTime())
*(
mesh().Sf()
& (
(rDtCoef*Uf.oldTime() + offCentre_(dUfdt0()))
- fvc::interpolate(rDtCoef*U.oldTime() + offCentre_(ddt0()))
)
)
);
@ -1273,24 +1204,16 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
- offCentre_(dphidt0());
}
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
*(
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
- fvc::dotInterpolate
(
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
*(
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
- fvc::dotInterpolate
(
mesh().Sf(),
rDtCoef*U.oldTime() + offCentre_(ddt0())
)
mesh().Sf(),
rDtCoef*U.oldTime() + offCentre_(ddt0())
)
)
);
@ -1349,34 +1272,23 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
- offCentre_(dUfdt0());
}
tmp<fluxFieldType> ddtCorr
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
rhoU0,
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*(
mesh().Sf()
& (
(rDtCoef*Uf.oldTime() + offCentre_(dUfdt0()))
- fvc::interpolate(rDtCoef*rhoU0 + offCentre_(ddt0()))
)
rhoU0,
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*(
mesh().Sf()
& (
(rDtCoef*Uf.oldTime() + offCentre_(dUfdt0()))
- fvc::interpolate(rDtCoef*rhoU0 + offCentre_(ddt0()))
)
)
);
return ddtCorr;
}
else if
(
@ -1414,30 +1326,22 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
- offCentre_(dUfdt0());
}
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*(
mesh().Sf()
& (
(rDtCoef*Uf.oldTime() + offCentre_(dUfdt0()))
- fvc::interpolate
(
rDtCoef*U.oldTime() + offCentre_(ddt0())
)
U.oldTime(),
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*(
mesh().Sf()
& (
(rDtCoef*Uf.oldTime() + offCentre_(dUfdt0()))
- fvc::interpolate
(
rDtCoef*U.oldTime() + offCentre_(ddt0())
)
)
)
@ -1506,30 +1410,19 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
- offCentre_(dphidt0());
}
tmp<fluxFieldType> ddtCorr
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
*(
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
- fvc::dotInterpolate
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
*(
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
- fvc::dotInterpolate
(
mesh().Sf(),
rDtCoef*rhoU0 + offCentre_(ddt0())
)
mesh().Sf(),
rDtCoef*rhoU0 + offCentre_(ddt0())
)
)
);
return ddtCorr;
}
else if
(
@ -1567,24 +1460,16 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
- offCentre_(dphidt0());
}
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
*(
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
- fvc::dotInterpolate
(
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
*(
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
- fvc::dotInterpolate
(
mesh().Sf(),
rDtCoef*U.oldTime() + offCentre_(ddt0())
)
mesh().Sf(),
rDtCoef*U.oldTime() + offCentre_(ddt0())
)
)
);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -47,22 +47,17 @@ EulerDdtScheme<Type>::fvcDdt
const dimensioned<Type>& dt
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+dt.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+dt.name()+')');
if (mesh().moving())
{
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -80,20 +75,17 @@ EulerDdtScheme<Type>::fvcDdt
}
else
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
mesh(),
dimensioned<Type>
(
ddtIOobject,
mesh(),
dimensioned<Type>
(
"0",
dt.dimensions()/dimTime,
Zero
),
calculatedFvPatchField<Type>::typeName
)
"0",
dt.dimensions()/dimTime,
Zero
),
calculatedFvPatchField<Type>::typeName
);
}
}
@ -106,43 +98,32 @@ EulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
rDeltaT*
(
ddtIOobject,
rDeltaT*
(
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
)
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
)
);
}
else
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDeltaT*(vf - vf.oldTime())
)
ddtName,
rDeltaT*(vf - vf.oldTime())
);
}
}
@ -156,43 +137,32 @@ EulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
rDeltaT*rho*
(
ddtIOobject,
rDeltaT*rho*
(
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*rho.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
)
vf()
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*rho.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
)
);
}
else
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDeltaT*rho*(vf - vf.oldTime())
)
ddtName,
rDeltaT*rho*(vf - vf.oldTime())
);
}
}
@ -206,46 +176,35 @@ EulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
rDeltaT*
(
ddtIOobject,
rDeltaT*
(
rho()*vf()
- rho.oldTime()()
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
rho.boundaryField()*vf.boundaryField()
- rho.oldTime().boundaryField()
*vf.oldTime().boundaryField()
)
rho()*vf()
- rho.oldTime()()
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
rho.boundaryField()*vf.boundaryField()
- rho.oldTime().boundaryField()
*vf.oldTime().boundaryField()
)
);
}
else
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
)
ddtName,
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
);
}
}
@ -260,57 +219,46 @@ EulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
ddtName,
rDeltaT*
(
ddtIOobject,
rDeltaT*
(
alpha()
*rho()
*vf()
alpha()
*rho()
*vf()
- alpha.oldTime()()
*rho.oldTime()()
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
alpha.boundaryField()
*rho.boundaryField()
*vf.boundaryField()
- alpha.oldTime()()
*rho.oldTime()()
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.value()*
(
alpha.boundaryField()
*rho.boundaryField()
*vf.boundaryField()
- alpha.oldTime().boundaryField()
*rho.oldTime().boundaryField()
*vf.oldTime().boundaryField()
)
- alpha.oldTime().boundaryField()
*rho.oldTime().boundaryField()
*vf.oldTime().boundaryField()
)
);
}
else
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
ddtIOobject,
rDeltaT
*(
alpha*rho*vf
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
)
ddtName,
rDeltaT
*(
alpha*rho*vf
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
)
);
}
@ -324,22 +272,14 @@ EulerDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvsPatchField, surfaceMesh>& sf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+sf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+sf.name()+')');
return tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
return GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
(
ddtIOobject,
rDeltaT*(sf - sf.oldTime())
)
ddtName,
rDeltaT*(sf - sf.oldTime())
);
}
@ -362,7 +302,7 @@ EulerDdtScheme<Type>::fvmDdt
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
const scalar rDeltaT = 1.0/mesh().time().deltaTValue();
fvm.diag() = rDeltaT*mesh().Vsc();
@ -397,7 +337,7 @@ EulerDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
const scalar rDeltaT = 1.0/mesh().time().deltaTValue();
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
@ -434,7 +374,7 @@ EulerDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
const scalar rDeltaT = 1.0/mesh().time().deltaTValue();
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().Vsc();
@ -474,7 +414,7 @@ EulerDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
const scalar rDeltaT = 1.0/mesh().time().deltaTValue();
fvm.diag() =
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
@ -506,7 +446,7 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
fluxFieldType phiCorr
@ -514,19 +454,10 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
*rDeltaT*phiCorr
)
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr) *rDeltaT*phiCorr
);
}
@ -539,26 +470,18 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
fluxFieldType phiCorr
(
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
*rDeltaT*phiCorr
)
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
*rDeltaT*phiCorr
);
}
@ -572,7 +495,7 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
if
(
@ -588,20 +511,11 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
*rDeltaT*phiCorr
)
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
*rDeltaT*phiCorr
);
}
else if
@ -616,25 +530,16 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
phiUf0,
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
U.oldTime(),
phiUf0,
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else
@ -657,7 +562,7 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
if
(
@ -675,25 +580,16 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
rhoU0,
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
rhoU0,
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else if
@ -707,25 +603,16 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
U.oldTime(),
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -154,20 +154,15 @@ SLTSDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
"ddt("+dt.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+dt.name()+')');
if (mesh().moving())
{
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -187,9 +182,9 @@ SLTSDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -213,27 +208,16 @@ SLTSDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
"ddt("+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*
(
vf.primitiveField()
- vf.oldTime().primitiveField()*mesh().V0()/mesh().V()
),
ddtName,
rDeltaT()*(vf() - vf.oldTime()()*mesh().V0()/mesh().V()),
rDeltaT.boundaryField()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
@ -245,9 +229,9 @@ SLTSDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*(vf - vf.oldTime())
)
);
@ -265,27 +249,16 @@ SLTSDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*rho.value()*
(
vf.primitiveField()
- vf.oldTime().primitiveField()*mesh().V0()/mesh().V()
),
ddtName,
rDeltaT()*rho*(vf() - vf.oldTime()()*mesh().V0()/mesh().V()),
rDeltaT.boundaryField()*rho.value()*
(
vf.boundaryField() - vf.oldTime().boundaryField()
@ -297,9 +270,9 @@ SLTSDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*rho*(vf - vf.oldTime())
)
);
@ -317,27 +290,19 @@ SLTSDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*
ddtName,
rDeltaT()*
(
rho.primitiveField()*vf.primitiveField()
- rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()*mesh().V0()/mesh().V()
rho()*vf()
- rho.oldTime()()*vf.oldTime()()*mesh().V0()/mesh().V()
),
rDeltaT.boundaryField()*
(
@ -352,9 +317,9 @@ SLTSDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
)
);
@ -373,32 +338,20 @@ SLTSDdtScheme<Type>::fvcDdt
{
const volScalarField rDeltaT(SLrDeltaT());
IOobject ddtIOobject
(
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.primitiveField()*
ddtName,
rDeltaT()*
(
alpha.primitiveField()
*rho.primitiveField()
*vf.primitiveField()
- alpha.oldTime().primitiveField()
*rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
alpha()*rho()*vf()
- alpha.oldTime()()*rho.oldTime()()*vf.oldTime()()
*mesh().Vsc0()/mesh().Vsc()
),
rDeltaT.boundaryField()*
(
@ -417,13 +370,12 @@ SLTSDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT
*(
alpha*rho*vf
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
alpha*rho*vf - alpha.oldTime()*rho.oldTime()*vf.oldTime()
)
)
);
@ -449,7 +401,7 @@ SLTSDdtScheme<Type>::fvmDdt
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(SLrDeltaT()().primitiveField());
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
fvm.diag() = rDeltaT*mesh().V();
@ -484,7 +436,7 @@ SLTSDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(SLrDeltaT()().primitiveField());
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
fvm.diag() = rDeltaT*rho.value()*mesh().V();
@ -521,7 +473,7 @@ SLTSDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(SLrDeltaT()().primitiveField());
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().V();
@ -561,7 +513,7 @@ SLTSDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalarField rDeltaT(SLrDeltaT()().primitiveField());
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
fvm.diag() =
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
@ -601,19 +553,11 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
*rDeltaT*phiCorr
)
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
*rDeltaT*phiCorr
);
}
@ -633,19 +577,11 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
*rDeltaT*phiCorr
)
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
*rDeltaT*phiCorr
);
}
@ -675,20 +611,11 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
*rDeltaT*phiCorr
)
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
*rDeltaT*phiCorr
);
}
else if
@ -703,25 +630,16 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
phiUf0,
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
U.oldTime(),
phiUf0,
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else
@ -744,7 +662,7 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
if
(
@ -762,25 +680,16 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
rhoU0,
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
rhoU0,
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else if
@ -794,25 +703,16 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
)
U.oldTime(),
phi.oldTime(),
phiCorr,
rho.oldTime()
)*rDeltaT*phiCorr
);
}
else

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -78,29 +78,24 @@ backwardDdtScheme<Type>::fvcDdt
const dimensioned<Type>& dt
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+dt.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+dt.name()+')');
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_();
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_();
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
if (mesh().moving())
{
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -122,9 +117,9 @@ backwardDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -146,37 +141,30 @@ backwardDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+vf.name()+')');
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*vf.dimensions(),
rDeltaT.value()*
ddtName,
rDeltaT*
(
coefft*vf.primitiveField() -
coefft*vf() -
(
coefft0*vf.oldTime().primitiveField()*mesh().V0()
- coefft00*vf.oldTime().oldTime().primitiveField()
coefft0*vf.oldTime()()*mesh().V0()
- coefft00*vf.oldTime().oldTime()()
*mesh().V00()
)/mesh().V()
),
@ -195,9 +183,9 @@ backwardDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*
(
coefft*vf
@ -218,37 +206,30 @@ backwardDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.value()*rho.value()*
ddtName,
rDeltaT*rho*
(
coefft*vf.primitiveField() -
coefft*vf() -
(
coefft0*vf.oldTime().primitiveField()*mesh().V0()
- coefft00*vf.oldTime().oldTime().primitiveField()
coefft0*vf.oldTime()()*mesh().V0()
- coefft00*vf.oldTime().oldTime()()
*mesh().V00()
)/mesh().V()
),
@ -267,9 +248,9 @@ backwardDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*rho*
(
coefft*vf
@ -290,39 +271,32 @@ backwardDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.value()*
ddtName,
rDeltaT*
(
coefft*rho.primitiveField()*vf.primitiveField() -
coefft*rho()*vf() -
(
coefft0*rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()*mesh().V0()
- coefft00*rho.oldTime().oldTime().primitiveField()
*vf.oldTime().oldTime().primitiveField()*mesh().V00()
coefft0*rho.oldTime()()
*vf.oldTime()()*mesh().V0()
- coefft00*rho.oldTime().oldTime()()
*vf.oldTime().oldTime()()*mesh().V00()
)/mesh().V()
),
rDeltaT.value()*
@ -342,9 +316,9 @@ backwardDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*
(
coefft*rho*vf
@ -366,48 +340,34 @@ backwardDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
IOobject ddtIOobject
(
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
if (mesh().moving())
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
mesh(),
rDeltaT.dimensions()
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
rDeltaT.value()*
ddtName,
rDeltaT*
(
coefft
*alpha.primitiveField()
*rho.primitiveField()
*vf.primitiveField() -
(
coefft*alpha()*rho()*vf()
- (
coefft0
*alpha.oldTime().primitiveField()
*rho.oldTime().primitiveField()
*vf.oldTime().primitiveField()*mesh().V0()
*alpha.oldTime()()*rho.oldTime()()
*vf.oldTime()()*mesh().V0()
- coefft00
*alpha.oldTime().oldTime().primitiveField()
*rho.oldTime().oldTime().primitiveField()
*vf.oldTime().oldTime().primitiveField()*mesh().V00()
*alpha.oldTime().oldTime()()*rho.oldTime().oldTime()()
*vf.oldTime().oldTime()()*mesh().V00()
)/mesh().V()
),
rDeltaT.value()*
@ -435,9 +395,9 @@ backwardDdtScheme<Type>::fvcDdt
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*
(
coefft*alpha*rho*vf
@ -469,14 +429,14 @@ backwardDdtScheme<Type>::fvmDdt
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/deltaT_();
const scalar rDeltaT = 1.0/deltaT_();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
fvm.diag() = (coefft*rDeltaT)*mesh().V();
@ -520,14 +480,14 @@ backwardDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/deltaT_();
const scalar rDeltaT = 1.0/deltaT_();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
fvm.diag() = (coefft*rDeltaT*rho.value())*mesh().V();
@ -571,14 +531,14 @@ backwardDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/deltaT_();
const scalar rDeltaT = 1.0/deltaT_();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
fvm.diag() = (coefft*rDeltaT)*rho.primitiveField()*mesh().V();
@ -626,14 +586,14 @@ backwardDdtScheme<Type>::fvmDdt
);
fvMatrix<Type>& fvm = tfvm.ref();
scalar rDeltaT = 1.0/deltaT_();
const scalar rDeltaT = 1.0/deltaT_();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
fvm.diag() =
(coefft*rDeltaT)*alpha.primitiveField()*rho.primitiveField()*mesh().V();
@ -681,35 +641,27 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(U);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(U);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
(
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), (mesh().Sf() & Uf.oldTime()))
*rDeltaT
*(
mesh().Sf()
& (
(coefft0*Uf.oldTime() - coefft00*Uf.oldTime().oldTime())
- fvc::interpolate
(
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
)
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), (mesh().Sf() & Uf.oldTime()))
*rDeltaT
*(
mesh().Sf()
& (
(coefft0*Uf.oldTime() - coefft00*Uf.oldTime().oldTime())
- fvc::interpolate
(
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
)
)
)
@ -725,34 +677,26 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(U);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(U);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
*rDeltaT
*(
(coefft0*phi.oldTime() - coefft00*phi.oldTime().oldTime())
- fvc::dotInterpolate
(
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
*rDeltaT
*(
(coefft0*phi.oldTime() - coefft00*phi.oldTime().oldTime())
- fvc::dotInterpolate
(
mesh().Sf(),
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
)
mesh().Sf(),
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
)
)
);
@ -768,14 +712,14 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(U);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(U);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
if
(
@ -783,40 +727,31 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
&& Uf.dimensions() == rho.dimensions()*dimVelocity
)
{
GeometricField<Type, fvPatchField, volMesh> rhoU0
const GeometricField<Type, fvPatchField, volMesh> rhoU0
(
rho.oldTime()*U.oldTime()
);
GeometricField<Type, fvPatchField, volMesh> rhoU00
const GeometricField<Type, fvPatchField, volMesh> rhoU00
(
rho.oldTime().oldTime()*U.oldTime().oldTime()
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
rhoU0,
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*rDeltaT
*(
mesh().Sf()
& (
(coefft0*Uf.oldTime() - coefft00*Uf.oldTime().oldTime())
- fvc::interpolate(coefft0*rhoU0 - coefft00*rhoU00)
)
rhoU0,
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*rDeltaT
*(
mesh().Sf()
& (
(coefft0*Uf.oldTime() - coefft00*Uf.oldTime().oldTime())
- fvc::interpolate(coefft0*rhoU0 - coefft00*rhoU00)
)
)
);
@ -827,33 +762,24 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
&& Uf.dimensions() == rho.dimensions()*dimVelocity
)
{
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
this->fvcDdtPhiCoeff
(
IOobject
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff
(
U.oldTime(),
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*rDeltaT
*(
mesh().Sf()
& (
(coefft0*Uf.oldTime() - coefft00*Uf.oldTime().oldTime())
- fvc::interpolate
(
coefft0*U.oldTime()
- coefft00*U.oldTime().oldTime()
)
U.oldTime(),
mesh().Sf() & Uf.oldTime(),
rho.oldTime()
)
*rDeltaT
*(
mesh().Sf()
& (
(coefft0*Uf.oldTime() - coefft00*Uf.oldTime().oldTime())
- fvc::interpolate
(
coefft0*U.oldTime()
- coefft00*U.oldTime().oldTime()
)
)
)
@ -879,14 +805,14 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(U);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(U);
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
scalar coefft0 = coefft + coefft00;
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
const scalar coefft0 = coefft + coefft00;
if
(
@ -894,36 +820,27 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
)
{
GeometricField<Type, fvPatchField, volMesh> rhoU0
const GeometricField<Type, fvPatchField, volMesh> rhoU0
(
rho.oldTime()*U.oldTime()
);
GeometricField<Type, fvPatchField, volMesh> rhoU00
const GeometricField<Type, fvPatchField, volMesh> rhoU00
(
rho.oldTime().oldTime()*U.oldTime().oldTime()
);
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
*rDeltaT
*(
(coefft0*phi.oldTime() - coefft00*phi.oldTime().oldTime())
- fvc::dotInterpolate
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
*rDeltaT
*(
(coefft0*phi.oldTime() - coefft00*phi.oldTime().oldTime())
- fvc::dotInterpolate
(
mesh().Sf(),
coefft0*rhoU0 - coefft00*rhoU00
)
mesh().Sf(),
coefft0*rhoU0 - coefft00*rhoU00
)
)
);
@ -934,26 +851,17 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
)
{
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
(
IOobject
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
*rDeltaT
*(
(coefft0*phi.oldTime() - coefft00*phi.oldTime().oldTime())
- fvc::dotInterpolate
(
"ddtCorr("
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
*rDeltaT
*(
(coefft0*phi.oldTime() - coefft00*phi.oldTime().oldTime())
- fvc::dotInterpolate
(
mesh().Sf(),
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
)
mesh().Sf(),
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
)
)
);
@ -975,14 +883,14 @@ tmp<surfaceScalarField> backwardDdtScheme<Type>::meshPhi
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
scalar deltaT = deltaT_();
scalar deltaT0 = deltaT0_(vf);
const scalar deltaT = deltaT_();
const scalar deltaT0 = deltaT0_(vf);
// Coefficient for t-3/2 (between times 0 and 00)
scalar coefft0_00 = deltaT/(deltaT + deltaT0);
const scalar coefft0_00 = deltaT/(deltaT + deltaT0);
// Coefficient for t-1/2 (between times n and 0)
scalar coefftn_0 = 1 + coefft0_00;
const scalar coefftn_0 = 1 + coefft0_00;
return surfaceScalarField::New
(

View File

@ -60,18 +60,13 @@ localEulerDdtScheme<Type>::fvcDdt
const dimensioned<Type>& dt
)
{
IOobject ddtIOobject
(
"ddt(" + dt.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + dt.name() + ')');
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
mesh(),
dimensioned<Type>
(
@ -94,18 +89,13 @@ localEulerDdtScheme<Type>::fvcDdt
{
const volScalarField& rDeltaT = localRDeltaT();
IOobject ddtIOobject
(
"ddt(" + vf.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + vf.name() + ')');
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*(vf - vf.oldTime())
)
);
@ -122,18 +112,13 @@ localEulerDdtScheme<Type>::fvcDdt
{
const volScalarField& rDeltaT = localRDeltaT();
IOobject ddtIOobject
(
"ddt(" + rho.name() + ',' + vf.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*rho*(vf - vf.oldTime())
)
);
@ -150,18 +135,13 @@ localEulerDdtScheme<Type>::fvcDdt
{
const volScalarField& rDeltaT = localRDeltaT();
IOobject ddtIOobject
(
"ddt(" + rho.name() + ',' + vf.name() + ')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
)
);
@ -179,18 +159,13 @@ localEulerDdtScheme<Type>::fvcDdt
{
const volScalarField& rDeltaT = localRDeltaT();
IOobject ddtIOobject
(
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
return tmp<GeometricField<Type, fvPatchField, volMesh>>
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
ddtIOobject,
ddtName,
rDeltaT
*(
alpha*rho*vf
@ -210,20 +185,12 @@ localEulerDdtScheme<Type>::fvcDdt
{
const surfaceScalarField& rDeltaT = localRDeltaTf();
IOobject ddtIOobject
(
"ddt("+sf.name()+')',
mesh().time().timeName(),
mesh()
);
const word ddtName("ddt("+sf.name()+')');
return tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
return GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
(
ddtIOobject,
rDeltaT*(sf - sf.oldTime())
)
ddtName,
rDeltaT*(sf - sf.oldTime())
);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -46,23 +46,15 @@ steadyStateDdtScheme<Type>::fvcDdt
const dimensioned<Type>& dt
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
"ddt("+dt.name()+')',
mesh(),
dimensioned<Type>
(
IOobject
(
"ddt("+dt.name()+')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<Type>
(
"0",
dt.dimensions()/dimTime,
Zero
)
"0",
dt.dimensions()/dimTime,
Zero
)
);
}
@ -75,23 +67,15 @@ steadyStateDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
"ddt("+vf.name()+')',
mesh(),
dimensioned<Type>
(
IOobject
(
"ddt("+vf.name()+')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<Type>
(
"0",
vf.dimensions()/dimTime,
Zero
)
"0",
vf.dimensions()/dimTime,
Zero
)
);
}
@ -105,23 +89,15 @@ steadyStateDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
"ddt("+rho.name()+','+vf.name()+')',
mesh(),
dimensioned<Type>
(
IOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<Type>
(
"0",
rho.dimensions()*vf.dimensions()/dimTime,
Zero
)
"0",
rho.dimensions()*vf.dimensions()/dimTime,
Zero
)
);
}
@ -135,23 +111,15 @@ steadyStateDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
"ddt("+rho.name()+','+vf.name()+')',
mesh(),
dimensioned<Type>
(
IOobject
(
"ddt("+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<Type>
(
"0",
rho.dimensions()*vf.dimensions()/dimTime,
Zero
)
"0",
rho.dimensions()*vf.dimensions()/dimTime,
Zero
)
);
}
@ -166,23 +134,15 @@ steadyStateDdtScheme<Type>::fvcDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
mesh(),
dimensioned<Type>
(
IOobject
(
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<Type>
(
"0",
rho.dimensions()*vf.dimensions()/dimTime,
Zero
)
"0",
rho.dimensions()*vf.dimensions()/dimTime,
Zero
)
);
}
@ -195,7 +155,7 @@ steadyStateDdtScheme<Type>::fvmDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
tmp<fvMatrix<Type>> tfvm
return tmp<fvMatrix<Type>>
(
new fvMatrix<Type>
(
@ -203,8 +163,6 @@ steadyStateDdtScheme<Type>::fvmDdt
vf.dimensions()*dimVol/dimTime
)
);
return tfvm;
}
@ -216,7 +174,7 @@ steadyStateDdtScheme<Type>::fvmDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
tmp<fvMatrix<Type>> tfvm
return tmp<fvMatrix<Type>>
(
new fvMatrix<Type>
(
@ -224,8 +182,6 @@ steadyStateDdtScheme<Type>::fvmDdt
rho.dimensions()*vf.dimensions()*dimVol/dimTime
)
);
return tfvm;
}
@ -237,7 +193,7 @@ steadyStateDdtScheme<Type>::fvmDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
tmp<fvMatrix<Type>> tfvm
return tmp<fvMatrix<Type>>
(
new fvMatrix<Type>
(
@ -245,8 +201,6 @@ steadyStateDdtScheme<Type>::fvmDdt
rho.dimensions()*vf.dimensions()*dimVol/dimTime
)
);
return tfvm;
}
@ -259,7 +213,7 @@ steadyStateDdtScheme<Type>::fvmDdt
const GeometricField<Type, fvPatchField, volMesh>& vf
)
{
tmp<fvMatrix<Type>> tfvm
return tmp<fvMatrix<Type>>
(
new fvMatrix<Type>
(
@ -267,8 +221,6 @@ steadyStateDdtScheme<Type>::fvmDdt
alpha.dimensions()*rho.dimensions()*vf.dimensions()*dimVol/dimTime
)
);
return tfvm;
}
@ -280,23 +232,15 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
)
{
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh(),
dimensioned<typename flux<Type>::type>
(
IOobject
(
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<typename flux<Type>::type>
(
"0",
Uf.dimensions()*dimArea/dimTime,
Zero
)
"0",
Uf.dimensions()*dimArea/dimTime,
Zero
)
);
}
@ -310,23 +254,15 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh(),
dimensioned<typename flux<Type>::type>
(
IOobject
(
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<typename flux<Type>::type>
(
"0",
phi.dimensions()/dimTime,
Zero
)
"0",
phi.dimensions()/dimTime,
Zero
)
);
}
@ -341,25 +277,15 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
)
{
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
mesh(),
dimensioned<typename flux<Type>::type>
(
IOobject
(
"ddtCorr("
+ rho.name()
+ ',' + U.name() + ',' + Uf.name() + ')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<typename flux<Type>::type>
(
"0",
Uf.dimensions()*dimArea/dimTime,
Zero
)
"0",
Uf.dimensions()*dimArea/dimTime,
Zero
)
);
}
@ -374,25 +300,15 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr
const fluxFieldType& phi
)
{
return tmp<fluxFieldType>
return fluxFieldType::New
(
new fluxFieldType
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
mesh(),
dimensioned<typename flux<Type>::type>
(
IOobject
(
"ddtCorr("
+ rho.name()
+ ',' + U.name() + ',' + phi.name() + ')',
mesh().time().timeName(),
mesh()
),
mesh(),
dimensioned<typename flux<Type>::type>
(
"0",
phi.dimensions()/dimTime,
Zero
)
"0",
phi.dimensions()/dimTime,
Zero
)
);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -51,16 +51,9 @@ average
tmp<GeometricField<Type, fvPatchField, volMesh>> taverage
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
"average("+ssf.name()+')',
ssf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"average("+ssf.name()+')',
mesh,
dimensioned<Type>("0", ssf.dimensions(), Zero)
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -48,13 +48,10 @@ div
const GeometricField<Type, fvsPatchField, surfaceMesh>& ssf
)
{
return tmp<GeometricField<Type, fvPatchField, volMesh>>
return GeometricField<Type, fvPatchField, volMesh>::New
(
new GeometricField<Type, fvPatchField, volMesh>
(
"div("+ssf.name()+')',
fvc::surfaceIntegrate(ssf)
)
"div("+ssf.name()+')',
fvc::surfaceIntegrate(ssf)
);
}

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -63,16 +63,9 @@ reconstruct
tmp<GeometricField<GradType, fvPatchField, volMesh>> treconField
(
new GeometricField<GradType, fvPatchField, volMesh>
GeometricField<GradType, fvPatchField, volMesh>::New
(
IOobject
(
"volIntegrate("+ssf.name()+')',
ssf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"volIntegrate("+ssf.name()+')',
mesh,
dimensioned<GradType>("0", ssf.dimensions()/dimArea, Zero),
extrapolatedCalculatedFvPatchField<GradType>::typeName

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -64,16 +64,9 @@ reconstruct
tmp<GeometricField<GradType, fvPatchField, volMesh>> treconField
(
new GeometricField<GradType, fvPatchField, volMesh>
GeometricField<GradType, fvPatchField, volMesh>::New
(
IOobject
(
"reconstruct("+ssf.name()+')',
ssf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"reconstruct("+ssf.name()+')',
mesh,
dimensioned<GradType>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -87,16 +87,9 @@ surfaceIntegrate
tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
"surfaceIntegrate("+ssf.name()+')',
ssf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"surfaceIntegrate("+ssf.name()+')',
mesh,
dimensioned<Type>
(
@ -143,16 +136,9 @@ surfaceSum
tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
"surfaceSum("+ssf.name()+')',
ssf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"surfaceSum("+ssf.name()+')',
mesh,
dimensioned<Type>("0", ssf.dimensions(), Zero),
extrapolatedCalculatedFvPatchField<Type>::typeName

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -60,16 +60,9 @@ Foam::fv::LeastSquaresGrad<Type, Stencil>::calcGrad
tmp<GeometricField<GradType, fvPatchField, volMesh>> tlsGrad
(
new GeometricField<GradType, fvPatchField, volMesh>
GeometricField<GradType, fvPatchField, volMesh>::New
(
IOobject
(
name,
vtf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
name,
mesh,
dimensioned<GradType>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -72,16 +72,9 @@ Foam::fv::fourthGrad<Type>::calcGrad
tmp<GeometricField<GradType, fvPatchField, volMesh>> tfGrad
(
new GeometricField<GradType, fvPatchField, volMesh>
GeometricField<GradType, fvPatchField, volMesh>::New
(
IOobject
(
name,
vsf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
name,
secondfGrad
)
);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -50,16 +50,9 @@ Foam::fv::gaussGrad<Type>::gradf
tmp<GeometricField<GradType, fvPatchField, volMesh>> tgGrad
(
new GeometricField<GradType, fvPatchField, volMesh>
GeometricField<GradType, fvPatchField, volMesh>::New
(
IOobject
(
name,
ssf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
name,
mesh,
dimensioned<GradType>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -56,16 +56,9 @@ Foam::fv::leastSquaresGrad<Type>::calcGrad
tmp<GeometricField<GradType, fvPatchField, volMesh>> tlsGrad
(
new GeometricField<GradType, fvPatchField, volMesh>
GeometricField<GradType, fvPatchField, volMesh>::New
(
IOobject
(
name,
vsf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
name,
mesh,
dimensioned<GradType>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -100,16 +100,9 @@ gaussLaplacianScheme<Type, GType>::gammaSnGradCorr
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tgammaSnGradCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"gammaSnGradCorr("+vf.name()+')',
vf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"gammaSnGradCorr("+vf.name()+')',
mesh,
SfGammaCorr.dimensions()
*vf.dimensions()*mesh.deltaCoeffs().dimensions()

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -77,16 +77,9 @@ Foam::fv::correctedSnGrad<Type>::correction
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tssf
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"snGradCorr("+vf.name()+')',
vf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"snGradCorr("+vf.name()+')',
mesh,
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -53,16 +53,9 @@ Foam::fv::faceCorrectedSnGrad<Type>::fullGradCorrection
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"snGradCorr("+vf.name()+')',
vf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"snGradCorr("+vf.name()+')',
mesh,
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
)
@ -134,16 +127,9 @@ Foam::fv::faceCorrectedSnGrad<Type>::correction
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tssf
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"snGradCorr("+vf.name()+')',
vf.instance(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
"snGradCorr("+vf.name()+')',
mesh,
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -109,16 +109,9 @@ snGradScheme<Type>::snGrad
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsf
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
snGradName + "("+vf.name()+')',
vf.instance(),
vf.mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
snGradName + "("+vf.name()+')',
mesh,
vf.dimensions()*tdeltaCoeffs().dimensions()
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -761,16 +761,9 @@ Foam::fvMatrix<Type>::H() const
{
tmp<GeometricField<Type, fvPatchField, volMesh>> tHphi
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
"H("+psi_.name()+')',
psi_.instance(),
psi_.mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
"H("+psi_.name()+')',
psi_.mesh(),
dimensions_/dimVol,
extrapolatedCalculatedFvPatchScalarField::typeName
@ -874,16 +867,9 @@ flux() const
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tfieldFlux
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"flux("+psi_.name()+')',
psi_.instance(),
psi_.mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
"flux("+psi_.name()+')',
psi_.mesh(),
dimensions()
)
@ -977,7 +963,7 @@ void Foam::fvMatrix<Type>::operator=(const fvMatrix<Type>& fvmv)
{
faceFluxCorrectionPtr_ =
new GeometricField<Type, fvsPatchField, surfaceMesh>
(*fvmv.faceFluxCorrectionPtr_);
(*fvmv.faceFluxCorrectionPtr_);
}
}
@ -1058,7 +1044,7 @@ void Foam::fvMatrix<Type>::operator-=(const fvMatrix<Type>& fvmv)
{
faceFluxCorrectionPtr_ =
new GeometricField<Type, fvsPatchField, surfaceMesh>
(-*fvmv.faceFluxCorrectionPtr_);
(-*fvmv.faceFluxCorrectionPtr_);
}
}
@ -2206,16 +2192,9 @@ Foam::operator&
{
tmp<GeometricField<Type, fvPatchField, volMesh>> tMphi
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
"M&" + psi.name(),
psi.instance(),
psi.mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
),
"M&" + psi.name(),
psi.mesh(),
M.dimensions()/dimVol,
extrapolatedCalculatedFvPatchScalarField::typeName

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -98,17 +98,9 @@ Foam::extendedCellToFaceStencil::weightedSum
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
fld.name(),
mesh.time().timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
fld.name(),
mesh,
dimensioned<Type>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -47,17 +47,9 @@ Foam::extendedUpwindCellToFaceStencil::weightedSum
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
fld.name(),
mesh.time().timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
fld.name(),
mesh,
dimensioned<Type>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -95,14 +95,9 @@ Foam::extendedFaceToCellStencil::weightedSum
tmp<GeometricField<Type, fvPatchField, volMesh>> tsfCorr
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
fld.name(),
mesh.time().timeName(),
mesh
),
fld.name(),
mesh,
dimensioned<Type>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -182,14 +182,9 @@ Foam::LimitedScheme<Type, Limiter, LimitFunc>::limiter
{
tmp<surfaceScalarField> tlimiterField
(
new surfaceScalarField
surfaceScalarField::New
(
IOobject
(
limiterFieldName,
mesh.time().timeName(),
mesh
),
limiterFieldName,
mesh,
dimless
)

View File

@ -123,17 +123,9 @@ public:
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"cubic::correction(" + vf.name() +')',
mesh.time().timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
"cubic::correction(" + vf.name() +')',
surfaceInterpolationScheme<Type>::interpolate(vf, kSc, -kSc)
)
);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -39,17 +39,9 @@ Foam::linearUpwind<Type>::correction
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"linearUpwind::correction(" + vf.name() + ')',
mesh.time().timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
"linearUpwind::correction(" + vf.name() + ')',
mesh,
dimensioned<Type>(vf.name(), vf.dimensions(), Zero)
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -41,17 +41,9 @@ Foam::linearUpwindV<Type>::correction
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"linearUpwindV::correction(" + vf.name() + ')',
mesh.time().timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
"linearUpwindV::correction(" + vf.name() + ')',
mesh,
dimensioned<Type>
(

View File

@ -124,14 +124,9 @@ public:
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tvff
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"localMax::interpolate(" + vf.name() + ')',
mesh.time().timeName(),
mesh
),
"localMax::interpolate(" + vf.name() + ')',
mesh,
vf.dimensions()
)

View File

@ -119,14 +119,9 @@ public:
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tvff
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"localMin::interpolate(" + vf.name() + ')',
mesh.time().timeName(),
mesh
),
"localMin::interpolate(" + vf.name() + ')',
mesh,
vf.dimensions()
)

View File

@ -133,14 +133,9 @@ public:
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"skewCorrected::skewCorrection(" + vf.name() + ')',
mesh.time().timeName(),
mesh
),
"skewCorrected::skewCorrection(" + vf.name() + ')',
mesh,
dimensioned<Type>
(

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -167,14 +167,9 @@ Foam::surfaceInterpolationScheme<Type>::interpolate
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsf
(
new GeometricField<Type, fvsPatchField, surfaceMesh>
GeometricField<Type, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"interpolate("+vf.name()+')',
vf.instance(),
vf.db()
),
"interpolate("+vf.name()+')',
mesh,
vf.dimensions()
)
@ -260,14 +255,9 @@ Foam::surfaceInterpolationScheme<Type>::dotInterpolate
tmp<GeometricField<RetType, fvsPatchField, surfaceMesh>> tsf
(
new GeometricField<RetType, fvsPatchField, surfaceMesh>
GeometricField<RetType, fvsPatchField, surfaceMesh>::New
(
IOobject
(
"interpolate("+vf.name()+')',
vf.instance(),
vf.db()
),
"interpolate("+vf.name()+')',
mesh,
Sf.dimensions()*vf.dimensions()
)

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -379,14 +379,9 @@ Foam::volPointInterpolation::interpolate
// Construct tmp<pointField>
tmp<GeometricField<Type, pointPatchField, pointMesh>> tpf
(
new GeometricField<Type, pointPatchField, pointMesh>
GeometricField<Type, pointPatchField, pointMesh>::New
(
IOobject
(
"volPointInterpolate(" + vf.name() + ')',
vf.instance(),
pm.thisDb()
),
"volPointInterpolate(" + vf.name() + ')',
pm,
vf.dimensions(),
patchFieldTypes
@ -454,14 +449,9 @@ Foam::volPointInterpolation::interpolate
tmp<GeometricField<Type, pointPatchField, pointMesh>> tpf
(
new GeometricField<Type, pointPatchField, pointMesh>
GeometricField<Type, pointPatchField, pointMesh>::New
(
IOobject
(
name,
vf.instance(),
pm.thisDb()
),
name,
pm,
vf.dimensions()
)

View File

@ -102,7 +102,8 @@ Foam::fvFieldDecomposer::decomposeField
procMesh_.time().timeName(),
procMesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procMesh_,
field.dimensions(),
@ -256,7 +257,8 @@ Foam::fvFieldDecomposer::decomposeField
procMesh_.time().timeName(),
procMesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procMesh_,
field.dimensions(),

View File

@ -95,7 +95,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeInternalField
procMeshes_[proci].time().timeName(),
procMeshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procMeshes_[proci]
)
@ -111,7 +112,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeInternalField
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procFields
);
@ -322,7 +324,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
procMeshes_[proci].time().timeName(),
procMeshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procMeshes_[proci]
)
@ -337,7 +340,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procFields
);
@ -574,7 +578,8 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
procMeshes_[proci].time().timeName(),
procMeshes_[proci],
IOobject::MUST_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procMeshes_[proci]
)
@ -589,7 +594,8 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
procFields
);

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -414,7 +414,8 @@ Foam::meshToMesh0::interpolate
toMesh_.time().timeName(),
toMesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
false
),
toMesh_,
fromVf.dimensions(),

View File

@ -164,17 +164,9 @@ Foam::sampledSurface::pointAverage
tmp<GeometricField<Type, fvPatchField, volMesh>> tcellAvg
(
new GeometricField<Type, fvPatchField, volMesh>
GeometricField<Type, fvPatchField, volMesh>::New
(
IOobject
(
"cellAvg",
mesh.time().timeName(),
pfld.db(),
IOobject::NO_READ,
IOobject::NO_WRITE,
false
),
"cellAvg",
mesh,
dimensioned<Type>("zero", dimless, Zero)
)