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:
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2015-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2015-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -37,19 +37,11 @@ Foam::StationaryPhaseModel<BasePhaseModel>::zeroField
|
|||||||
const bool cache
|
const bool cache
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, PatchField, GeoMesh>>
|
return GeometricField<Type, PatchField, GeoMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, PatchField, GeoMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
IOobject::groupName(name, this->name()),
|
IOobject::groupName(name, this->name()),
|
||||||
this->mesh().time().timeName(),
|
|
||||||
this->mesh()
|
|
||||||
),
|
|
||||||
this->mesh(),
|
this->mesh(),
|
||||||
dimensioned<Type>("zero", dims, pTraits<Type>::zero)
|
dimensioned<Type>("zero", dims, pTraits<Type>::zero)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2014-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -254,17 +254,9 @@ Foam::BlendedInterfacialModel<modelType>::F() const
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> x
|
tmp<GeometricField<Type, fvPatchField, volMesh>> x
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
modelType::typeName + ":F",
|
modelType::typeName + ":F",
|
||||||
pair_.phase1().mesh().time().timeName(),
|
|
||||||
pair_.phase1().mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
pair_.phase1().mesh(),
|
pair_.phase1().mesh(),
|
||||||
dimensioned<Type>("zero", modelType::dimF, Zero)
|
dimensioned<Type>("zero", modelType::dimF, Zero)
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -932,26 +932,31 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
scalarFlds[i].rename(scalarNames[i]);
|
scalarFlds[i].rename(scalarNames[i]);
|
||||||
scalarFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
scalarFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
scalarFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(vectorFlds, i)
|
forAll(vectorFlds, i)
|
||||||
{
|
{
|
||||||
vectorFlds[i].rename(vectorNames[i]);
|
vectorFlds[i].rename(vectorNames[i]);
|
||||||
vectorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
vectorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
vectorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(sphericalTensorFlds, i)
|
forAll(sphericalTensorFlds, i)
|
||||||
{
|
{
|
||||||
sphericalTensorFlds[i].rename(sphericalTensorNames[i]);
|
sphericalTensorFlds[i].rename(sphericalTensorNames[i]);
|
||||||
sphericalTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
sphericalTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
sphericalTensorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(symmTensorFlds, i)
|
forAll(symmTensorFlds, i)
|
||||||
{
|
{
|
||||||
symmTensorFlds[i].rename(symmTensorNames[i]);
|
symmTensorFlds[i].rename(symmTensorNames[i]);
|
||||||
symmTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
symmTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
symmTensorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(tensorFlds, i)
|
forAll(tensorFlds, i)
|
||||||
{
|
{
|
||||||
tensorFlds[i].rename(tensorNames[i]);
|
tensorFlds[i].rename(tensorNames[i]);
|
||||||
tensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
tensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
tensorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Surface ones.
|
// Surface ones.
|
||||||
@ -959,26 +964,31 @@ int main(int argc, char *argv[])
|
|||||||
{
|
{
|
||||||
surfScalarFlds[i].rename(surfScalarNames[i]);
|
surfScalarFlds[i].rename(surfScalarNames[i]);
|
||||||
surfScalarFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
surfScalarFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
surfScalarFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(surfVectorFlds, i)
|
forAll(surfVectorFlds, i)
|
||||||
{
|
{
|
||||||
surfVectorFlds[i].rename(surfVectorNames[i]);
|
surfVectorFlds[i].rename(surfVectorNames[i]);
|
||||||
surfVectorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
surfVectorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
surfVectorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(surfSphericalTensorFlds, i)
|
forAll(surfSphericalTensorFlds, i)
|
||||||
{
|
{
|
||||||
surfSphericalTensorFlds[i].rename(surfSphericalTensorNames[i]);
|
surfSphericalTensorFlds[i].rename(surfSphericalTensorNames[i]);
|
||||||
surfSphericalTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
surfSphericalTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
surfSphericalTensorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(surfSymmTensorFlds, i)
|
forAll(surfSymmTensorFlds, i)
|
||||||
{
|
{
|
||||||
surfSymmTensorFlds[i].rename(surfSymmTensorNames[i]);
|
surfSymmTensorFlds[i].rename(surfSymmTensorNames[i]);
|
||||||
surfSymmTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
surfSymmTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
surfSymmTensorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
forAll(surfTensorNames, i)
|
forAll(surfTensorNames, i)
|
||||||
{
|
{
|
||||||
surfTensorFlds[i].rename(surfTensorNames[i]);
|
surfTensorFlds[i].rename(surfTensorNames[i]);
|
||||||
surfTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
surfTensorFlds[i].writeOpt() = IOobject::AUTO_WRITE;
|
||||||
|
surfTensorFlds[i].checkIn();
|
||||||
}
|
}
|
||||||
|
|
||||||
subsetter.subMesh().write();
|
subsetter.subMesh().write();
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -93,7 +93,8 @@ tmp<GeometricField<Type, fvPatchField, volMesh>> fvMeshSubset::interpolate
|
|||||||
sMesh.time().timeName(),
|
sMesh.time().timeName(),
|
||||||
sMesh,
|
sMesh,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
sMesh,
|
sMesh,
|
||||||
vf.dimensions(),
|
vf.dimensions(),
|
||||||
@ -230,7 +231,8 @@ tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> fvMeshSubset::interpolate
|
|||||||
sMesh.time().timeName(),
|
sMesh.time().timeName(),
|
||||||
sMesh,
|
sMesh,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
sMesh,
|
sMesh,
|
||||||
vf.dimensions(),
|
vf.dimensions(),
|
||||||
@ -414,7 +416,8 @@ fvMeshSubset::interpolate
|
|||||||
sMesh.time().timeName(),
|
sMesh.time().timeName(),
|
||||||
sMesh.thisDb(),
|
sMesh.thisDb(),
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
sMesh,
|
sMesh,
|
||||||
vf.dimensions(),
|
vf.dimensions(),
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -143,17 +143,9 @@ Foam::motionSmootherAlgo::avg
|
|||||||
{
|
{
|
||||||
tmp<GeometricField<Type, pointPatchField, pointMesh>> tres
|
tmp<GeometricField<Type, pointPatchField, pointMesh>> tres
|
||||||
(
|
(
|
||||||
new GeometricField<Type, pointPatchField, pointMesh>
|
GeometricField<Type, pointPatchField, pointMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"avg("+fld.name()+')',
|
"avg("+fld.name()+')',
|
||||||
fld.time().timeName(),
|
|
||||||
fld.db(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
fld.mesh(),
|
fld.mesh(),
|
||||||
dimensioned<Type>("zero", fld.dimensions(), Zero)
|
dimensioned<Type>("zero", fld.dimensions(), Zero)
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2016-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2016-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -45,7 +45,7 @@ Foam::tmp<Foam::volVectorField> Foam::constrainHbyA
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tHbyANew = new volVectorField("HbyA", tHbyA);
|
tHbyANew = volVectorField::New("HbyA", tHbyA);
|
||||||
}
|
}
|
||||||
|
|
||||||
volVectorField& HbyA = tHbyANew.ref();
|
volVectorField& HbyA = tHbyANew.ref();
|
||||||
|
|||||||
@ -185,14 +185,9 @@ Foam::levelSetAverage
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tResult
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tResult
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
positiveC.name() + ":levelSetAverage",
|
positiveC.name() + ":levelSetAverage",
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>("0", positiveC.dimensions(), Zero)
|
dimensioned<Type>("0", positiveC.dimensions(), Zero)
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -46,47 +46,38 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT2 =
|
const dimensionedScalar rDeltaT2
|
||||||
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0());
|
|
||||||
|
|
||||||
IOobject d2dt2IOobject
|
|
||||||
(
|
(
|
||||||
"d2dt2("+vf.name()+')',
|
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0())
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
);
|
);
|
||||||
|
|
||||||
scalar deltaT = mesh().time().deltaTValue();
|
const word d2dt2name("d2dt2("+vf.name()+')');
|
||||||
scalar deltaT0 = mesh().time().deltaT0Value();
|
|
||||||
|
|
||||||
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
const scalar deltaT = mesh().time().deltaTValue();
|
||||||
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
const scalar deltaT0 = mesh().time().deltaT0Value();
|
||||||
scalar coefft0 = coefft + coefft00;
|
|
||||||
|
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
||||||
|
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
||||||
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
scalar halfRdeltaT2 = rDeltaT2.value()/2.0;
|
const dimensionedScalar halfRdeltaT2(rDeltaT2/2.0);
|
||||||
|
|
||||||
scalarField VV0 = mesh().V() + mesh().V0();
|
const volScalarField::Internal VV0(mesh().V() + mesh().V0());
|
||||||
scalarField V0V00 = mesh().V0() + mesh().V00();
|
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,
|
||||||
(
|
|
||||||
d2dt2IOobject,
|
|
||||||
mesh(),
|
|
||||||
rDeltaT2.dimensions()*vf.dimensions(),
|
|
||||||
halfRdeltaT2*
|
halfRdeltaT2*
|
||||||
(
|
(
|
||||||
coefft*VV0*vf.primitiveField()
|
coefft*VV0*vf()
|
||||||
|
|
||||||
- (coefft*VV0 + coefft00*V0V00)
|
- (coefft*VV0 + coefft00*V0V00)
|
||||||
*vf.oldTime().primitiveField()
|
*vf.oldTime()()
|
||||||
|
|
||||||
+ (coefft00*V0V00)*vf.oldTime().oldTime().primitiveField()
|
+ (coefft00*V0V00)*vf.oldTime().oldTime()()
|
||||||
)/mesh().V(),
|
)/mesh().V(),
|
||||||
rDeltaT2.value()*
|
rDeltaT2.value()*
|
||||||
(
|
(
|
||||||
@ -94,23 +85,19 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
- coefft0*vf.oldTime().boundaryField()
|
- coefft0*vf.oldTime().boundaryField()
|
||||||
+ coefft00*vf.oldTime().oldTime().boundaryField()
|
+ coefft00*vf.oldTime().oldTime().boundaryField()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
d2dt2name,
|
||||||
(
|
|
||||||
d2dt2IOobject,
|
|
||||||
rDeltaT2*
|
rDeltaT2*
|
||||||
(
|
(
|
||||||
coefft*vf
|
coefft*vf
|
||||||
- coefft0*vf.oldTime()
|
- coefft0*vf.oldTime()
|
||||||
+ coefft00*vf.oldTime().oldTime()
|
+ coefft00*vf.oldTime().oldTime()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -124,62 +111,52 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT2 =
|
const dimensionedScalar rDeltaT2
|
||||||
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0());
|
|
||||||
|
|
||||||
IOobject d2dt2IOobject
|
|
||||||
(
|
(
|
||||||
"d2dt2("+rho.name()+','+vf.name()+')',
|
4.0/sqr(mesh().time().deltaT() + mesh().time().deltaT0())
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
);
|
);
|
||||||
|
|
||||||
scalar deltaT = mesh().time().deltaTValue();
|
const word d2dt2name("d2dt2("+rho.name()+','+vf.name()+')');
|
||||||
scalar deltaT0 = mesh().time().deltaT0Value();
|
|
||||||
|
|
||||||
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
const scalar deltaT = mesh().time().deltaTValue();
|
||||||
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
const scalar deltaT0 = mesh().time().deltaT0Value();
|
||||||
|
|
||||||
|
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
||||||
|
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
scalar halfRdeltaT2 = 0.5*rDeltaT2.value();
|
const dimensionedScalar halfRdeltaT2(0.5*rDeltaT2);
|
||||||
scalar quarterRdeltaT2 = 0.25*rDeltaT2.value();
|
const dimensionedScalar quarterRdeltaT2(0.25*rDeltaT2);
|
||||||
|
|
||||||
const scalarField VV0rhoRho0
|
const volScalarField::Internal VV0rhoRho0
|
||||||
(
|
(
|
||||||
(mesh().V() + mesh().V0())
|
(mesh().V() + mesh().V0())*(rho() + rho.oldTime()())
|
||||||
* (rho.primitiveField() + rho.oldTime().primitiveField())
|
|
||||||
);
|
);
|
||||||
|
|
||||||
const scalarField V0V00rho0Rho00
|
const volScalarField::Internal V0V00rho0Rho00
|
||||||
(
|
(
|
||||||
(mesh().V0() + mesh().V00())
|
(mesh().V0() + mesh().V00())
|
||||||
*(
|
*(
|
||||||
rho.oldTime().primitiveField()
|
rho.oldTime()()
|
||||||
+ rho.oldTime().oldTime().primitiveField()
|
+ rho.oldTime().oldTime()()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
d2dt2name,
|
||||||
(
|
|
||||||
d2dt2IOobject,
|
|
||||||
mesh(),
|
|
||||||
rDeltaT2.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
quarterRdeltaT2*
|
quarterRdeltaT2*
|
||||||
(
|
(
|
||||||
coefft*VV0rhoRho0*vf.primitiveField()
|
coefft*VV0rhoRho0*vf()
|
||||||
|
|
||||||
- (coefft*VV0rhoRho0 + coefft00*V0V00rho0Rho00)
|
- (coefft*VV0rhoRho0 + coefft00*V0V00rho0Rho00)
|
||||||
*vf.oldTime().primitiveField()
|
*vf.oldTime()()
|
||||||
|
|
||||||
+ (coefft00*V0V00rho0Rho00)
|
+ (coefft00*V0V00rho0Rho00)
|
||||||
*vf.oldTime().oldTime().primitiveField()
|
*vf.oldTime().oldTime()()
|
||||||
)/mesh().V(),
|
)/mesh().V(),
|
||||||
halfRdeltaT2*
|
halfRdeltaT2.value()*
|
||||||
(
|
(
|
||||||
coefft
|
coefft
|
||||||
*(rho.boundaryField() + rho.oldTime().boundaryField())
|
*(rho.boundaryField() + rho.oldTime().boundaryField())
|
||||||
@ -204,28 +181,24 @@ EulerD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
+ rho.oldTime().oldTime().boundaryField()
|
+ rho.oldTime().oldTime().boundaryField()
|
||||||
)*vf.oldTime().oldTime().boundaryField()
|
)*vf.oldTime().oldTime().boundaryField()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dimensionedScalar halfRdeltaT2 = 0.5*rDeltaT2;
|
const dimensionedScalar halfRdeltaT2 = 0.5*rDeltaT2;
|
||||||
|
|
||||||
const volScalarField rhoRho0(rho + rho.oldTime());
|
const volScalarField rhoRho0(rho + rho.oldTime());
|
||||||
const volScalarField rho0Rho00(rho.oldTime() +rho.oldTime().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,
|
||||||
(
|
|
||||||
d2dt2IOobject,
|
|
||||||
halfRdeltaT2*
|
halfRdeltaT2*
|
||||||
(
|
(
|
||||||
coefft*rhoRho0*vf
|
coefft*rhoRho0*vf
|
||||||
- (coefft*rhoRho0 + coefft00*rho0Rho00)*vf.oldTime()
|
- (coefft*rhoRho0 + coefft00*rho0Rho00)*vf.oldTime()
|
||||||
+ coefft00*rho0Rho00*vf.oldTime().oldTime()
|
+ coefft00*rho0Rho00*vf.oldTime().oldTime()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -249,18 +222,18 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
|
|||||||
|
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar deltaT = mesh().time().deltaTValue();
|
const scalar deltaT = mesh().time().deltaTValue();
|
||||||
scalar deltaT0 = mesh().time().deltaT0Value();
|
const scalar deltaT0 = mesh().time().deltaT0Value();
|
||||||
|
|
||||||
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
||||||
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
const scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
|
const scalar rDeltaT2 = 4.0/sqr(deltaT + deltaT0);
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
scalar halfRdeltaT2 = rDeltaT2/2.0;
|
const scalar halfRdeltaT2 = rDeltaT2/2.0;
|
||||||
|
|
||||||
const scalarField VV0(mesh().V() + mesh().V0());
|
const scalarField VV0(mesh().V() + mesh().V0());
|
||||||
const scalarField V0V00(mesh().V0() + mesh().V00());
|
const scalarField V0V00(mesh().V0() + mesh().V00());
|
||||||
@ -310,17 +283,17 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
|
|||||||
|
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar deltaT = mesh().time().deltaTValue();
|
const scalar deltaT = mesh().time().deltaTValue();
|
||||||
scalar deltaT0 = mesh().time().deltaT0Value();
|
const scalar deltaT0 = mesh().time().deltaT0Value();
|
||||||
|
|
||||||
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
||||||
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
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())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
scalar halfRdeltaT2 = 0.5*rDeltaT2;
|
const scalar halfRdeltaT2 = 0.5*rDeltaT2;
|
||||||
|
|
||||||
const scalarField VV0(mesh().V() + mesh().V0());
|
const scalarField VV0(mesh().V() + mesh().V0());
|
||||||
const scalarField V0V00(mesh().V0() + mesh().V00());
|
const scalarField V0V00(mesh().V0() + mesh().V00());
|
||||||
@ -370,17 +343,17 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
|
|||||||
|
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar deltaT = mesh().time().deltaTValue();
|
const scalar deltaT = mesh().time().deltaTValue();
|
||||||
scalar deltaT0 = mesh().time().deltaT0Value();
|
const scalar deltaT0 = mesh().time().deltaT0Value();
|
||||||
|
|
||||||
scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
const scalar coefft = (deltaT + deltaT0)/(2*deltaT);
|
||||||
scalar coefft00 = (deltaT + deltaT0)/(2*deltaT0);
|
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())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
scalar quarterRdeltaT2 = 0.25*rDeltaT2;
|
const scalar quarterRdeltaT2 = 0.25*rDeltaT2;
|
||||||
|
|
||||||
const scalarField VV0rhoRho0
|
const scalarField VV0rhoRho0
|
||||||
(
|
(
|
||||||
@ -410,7 +383,7 @@ EulerD2dt2Scheme<Type>::fvmD2dt2
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
scalar halfRdeltaT2 = 0.5*rDeltaT2;
|
const scalar halfRdeltaT2 = 0.5*rDeltaT2;
|
||||||
|
|
||||||
const scalarField rhoRho0
|
const scalarField rhoRho0
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -46,18 +46,9 @@ steadyStateD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"d2dt2("+vf.name()+')',
|
"d2dt2("+vf.name()+')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -65,7 +56,6 @@ steadyStateD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
vf.dimensions()/dimTime/dimTime,
|
vf.dimensions()/dimTime/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,18 +68,9 @@ steadyStateD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"d2dt2("+rho.name()+','+vf.name()+')',
|
"d2dt2("+rho.name()+','+vf.name()+')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -97,7 +78,6 @@ steadyStateD2dt2Scheme<Type>::fvcD2dt2
|
|||||||
rho.dimensions()*vf.dimensions()/dimTime/dimTime,
|
rho.dimensions()*vf.dimensions()/dimTime/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -150,20 +150,15 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(CorDeltaT());
|
const volScalarField rDeltaT(CorDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+dt.name()+')');
|
||||||
(
|
|
||||||
"ddt("+dt.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -184,9 +179,9 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -210,26 +205,19 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(CorDeltaT());
|
const volScalarField rDeltaT(CorDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*
|
||||||
rDeltaT.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*
|
|
||||||
(
|
(
|
||||||
vf.primitiveField()
|
vf()
|
||||||
- vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
|
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
|
||||||
),
|
),
|
||||||
rDeltaT.boundaryField()*
|
rDeltaT.boundaryField()*
|
||||||
(
|
(
|
||||||
@ -242,9 +230,9 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*(vf - vf.oldTime())
|
rDeltaT*(vf - vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -262,26 +250,19 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(CorDeltaT());
|
const volScalarField rDeltaT(CorDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*rho.value()*
|
||||||
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*rho.value()*
|
|
||||||
(
|
(
|
||||||
vf.primitiveField()
|
vf()
|
||||||
- vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
|
- vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
|
||||||
),
|
),
|
||||||
rDeltaT.boundaryField()*rho.value()*
|
rDeltaT.boundaryField()*rho.value()*
|
||||||
(
|
(
|
||||||
@ -294,9 +275,9 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*rho*(vf - vf.oldTime())
|
rDeltaT*rho*(vf - vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -314,27 +295,20 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(CorDeltaT());
|
const volScalarField rDeltaT(CorDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*
|
||||||
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*
|
|
||||||
(
|
(
|
||||||
rho.primitiveField()*vf.primitiveField()
|
rho()*vf()
|
||||||
- rho.oldTime().primitiveField()
|
- rho.oldTime()()
|
||||||
*vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
|
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
|
||||||
),
|
),
|
||||||
rDeltaT.boundaryField()*
|
rDeltaT.boundaryField()*
|
||||||
(
|
(
|
||||||
@ -349,9 +323,9 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
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())
|
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -370,32 +344,24 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(CorDeltaT());
|
const volScalarField rDeltaT(CorDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*
|
||||||
rDeltaT.dimensions()
|
|
||||||
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*
|
|
||||||
(
|
(
|
||||||
alpha.primitiveField()
|
alpha()
|
||||||
*rho.primitiveField()
|
*rho()
|
||||||
*vf.primitiveField()
|
*vf()
|
||||||
|
|
||||||
- alpha.oldTime().primitiveField()
|
- alpha.oldTime()()
|
||||||
*rho.oldTime().primitiveField()
|
*rho.oldTime()()
|
||||||
*vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
|
*vf.oldTime()()*mesh().Vsc0()/mesh().Vsc()
|
||||||
),
|
),
|
||||||
rDeltaT.boundaryField()*
|
rDeltaT.boundaryField()*
|
||||||
(
|
(
|
||||||
@ -414,9 +380,9 @@ CoEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT
|
rDeltaT
|
||||||
*(
|
*(
|
||||||
alpha*rho*vf
|
alpha*rho*vf
|
||||||
@ -446,7 +412,7 @@ CoEulerDdtScheme<Type>::fvmDdt
|
|||||||
|
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(CorDeltaT()().primitiveField());
|
const scalarField rDeltaT(CorDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() = rDeltaT*mesh().Vsc();
|
fvm.diag() = rDeltaT*mesh().Vsc();
|
||||||
|
|
||||||
@ -481,7 +447,7 @@ CoEulerDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(CorDeltaT()().primitiveField());
|
const scalarField rDeltaT(CorDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
|
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
|
||||||
|
|
||||||
@ -518,7 +484,7 @@ CoEulerDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(CorDeltaT()().primitiveField());
|
const scalarField rDeltaT(CorDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().Vsc();
|
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().Vsc();
|
||||||
|
|
||||||
@ -558,7 +524,7 @@ CoEulerDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(CorDeltaT()().primitiveField());
|
const scalarField rDeltaT(CorDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() =
|
fvm.diag() =
|
||||||
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
|
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
|
||||||
@ -598,19 +564,10 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
||||||
mesh().time().timeName(),
|
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)*rDeltaT*phiCorr
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
|
|
||||||
*rDeltaT*phiCorr
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -630,19 +587,11 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
|
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
|
||||||
*rDeltaT*phiCorr
|
*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -672,20 +621,11 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
|
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
|
||||||
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
|
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
|
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
|
||||||
*rDeltaT*phiCorr
|
*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -700,17 +640,9 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -718,7 +650,6 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -741,7 +672,7 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
if
|
if
|
||||||
(
|
(
|
||||||
@ -759,17 +690,9 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
rhoU0,
|
rhoU0,
|
||||||
@ -777,7 +700,6 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -791,17 +713,9 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -809,7 +723,6 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -354,18 +354,13 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
dt.dimensions()
|
dt.dimensions()
|
||||||
);
|
);
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + dt.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + dt.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -416,12 +411,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
vf.dimensions()
|
vf.dimensions()
|
||||||
);
|
);
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + vf.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + vf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
|
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
|
||||||
|
|
||||||
@ -450,11 +440,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
(
|
(
|
||||||
rDtCoef*
|
rDtCoef*
|
||||||
(
|
(
|
||||||
@ -466,7 +454,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
(
|
(
|
||||||
vf.boundaryField() - vf.oldTime().boundaryField()
|
vf.boundaryField() - vf.oldTime().boundaryField()
|
||||||
) - offCentre_(ff(ddt0.boundaryField()))
|
) - offCentre_(ff(ddt0.boundaryField()))
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -477,13 +464,10 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
- offCentre_(ddt0());
|
- offCentre_(ddt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDtCoef*(vf - vf.oldTime()) - offCentre_(ddt0())
|
rDtCoef*(vf - vf.oldTime()) - offCentre_(ddt0())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -504,12 +488,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
rho.dimensions()*vf.dimensions()
|
rho.dimensions()*vf.dimensions()
|
||||||
);
|
);
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + rho.name() + ',' + vf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
|
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,
|
rDtCoef*rho*
|
||||||
mesh(),
|
|
||||||
rDtCoef.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
(
|
(
|
||||||
rDtCoef.value()*rho.value()*
|
mesh().V()*vf()
|
||||||
(
|
- mesh().V0()*vf.oldTime()()
|
||||||
mesh().V()*vf.primitiveField()
|
) - mesh().V0()*offCentre_(ddt0())()
|
||||||
- mesh().V0()*vf.oldTime().primitiveField()
|
|
||||||
) - mesh().V0()*offCentre_(ddt0.primitiveField())
|
|
||||||
)/mesh().V(),
|
)/mesh().V(),
|
||||||
rDtCoef.value()*rho.value()*
|
rDtCoef.value()*rho.value()*
|
||||||
(
|
(
|
||||||
vf.boundaryField() - vf.oldTime().boundaryField()
|
vf.boundaryField() - vf.oldTime().boundaryField()
|
||||||
) - offCentre_(ff(ddt0.boundaryField()))
|
) - offCentre_(ff(ddt0.boundaryField()))
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -567,13 +541,10 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
- offCentre_(ddt0());
|
- offCentre_(ddt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDtCoef*rho*(vf - vf.oldTime()) - offCentre_(ddt0())
|
rDtCoef*rho*(vf - vf.oldTime()) - offCentre_(ddt0())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -594,12 +565,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
rho.dimensions()*vf.dimensions()
|
rho.dimensions()*vf.dimensions()
|
||||||
);
|
);
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + rho.name() + ',' + vf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
|
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,
|
rDtCoef*
|
||||||
mesh(),
|
|
||||||
rDtCoef.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
(
|
(
|
||||||
rDtCoef.value()*
|
mesh().V()*rho()*vf()
|
||||||
(
|
- mesh().V0()*rho.oldTime()()
|
||||||
mesh().V()*rho.primitiveField()*vf.primitiveField()
|
*vf.oldTime()()
|
||||||
- mesh().V0()*rho.oldTime().primitiveField()
|
) - mesh().V00()*offCentre_(ddt0())()
|
||||||
*vf.oldTime().primitiveField()
|
|
||||||
) - mesh().V00()*offCentre_(ddt0.primitiveField())
|
|
||||||
)/mesh().V(),
|
)/mesh().V(),
|
||||||
rDtCoef.value()*
|
rDtCoef.value()*
|
||||||
(
|
(
|
||||||
rho.boundaryField()*vf.boundaryField()
|
rho.boundaryField()*vf.boundaryField()
|
||||||
- rho.oldTime().boundaryField()*vf.oldTime().boundaryField()
|
- rho.oldTime().boundaryField()*vf.oldTime().boundaryField()
|
||||||
) - offCentre_(ff(ddt0.boundaryField()))
|
) - offCentre_(ff(ddt0.boundaryField()))
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -666,14 +627,10 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
) - offCentre_(ddt0());
|
) - offCentre_(ddt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
rDtCoef*(rho*vf - rho.oldTime()*vf.oldTime()) - offCentre_(ddt0())
|
||||||
ddtIOobject,
|
|
||||||
rDtCoef*(rho*vf - rho.oldTime()*vf.oldTime())
|
|
||||||
- offCentre_(ddt0())
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -695,11 +652,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
alpha.dimensions()*rho.dimensions()*vf.dimensions()
|
alpha.dimensions()*rho.dimensions()*vf.dimensions()
|
||||||
);
|
);
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName
|
||||||
(
|
(
|
||||||
"ddt(" + alpha.name() + ',' + rho.name() + ',' + vf.name() + ')',
|
"ddt(" + alpha.name() + ',' + rho.name() + ',' + vf.name() + ')'
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
);
|
||||||
|
|
||||||
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
|
dimensionedScalar rDtCoef = rDtCoef_(ddt0);
|
||||||
@ -741,27 +696,15 @@ 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()*
|
rDtCoef.value()*
|
||||||
(
|
(
|
||||||
mesh().V()
|
mesh().V()*alpha()*rho()*vf()
|
||||||
*alpha.primitiveField()
|
- mesh().V0()*alpha.oldTime()()*rho.oldTime()()*vf.oldTime()()
|
||||||
*rho.primitiveField()
|
) - mesh().V00()*offCentre_(ddt0())()
|
||||||
*vf.primitiveField()
|
|
||||||
|
|
||||||
- mesh().V0()
|
|
||||||
*alpha.oldTime().primitiveField()
|
|
||||||
*rho.oldTime().primitiveField()
|
|
||||||
*vf.oldTime().primitiveField()
|
|
||||||
) - mesh().V00()*offCentre_(ddt0.primitiveField())
|
|
||||||
)/mesh().V(),
|
)/mesh().V(),
|
||||||
rDtCoef.value()*
|
rDtCoef.value()*
|
||||||
(
|
(
|
||||||
@ -773,7 +716,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
*rho.oldTime().boundaryField()
|
*rho.oldTime().boundaryField()
|
||||||
*vf.oldTime().boundaryField()
|
*vf.oldTime().boundaryField()
|
||||||
) - offCentre_(ff(ddt0.boundaryField()))
|
) - offCentre_(ff(ddt0.boundaryField()))
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -792,18 +734,15 @@ CrankNicolsonDdtScheme<Type>::fvcDdt
|
|||||||
) - offCentre_(ddt0());
|
) - offCentre_(ddt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDtCoef
|
rDtCoef
|
||||||
*(
|
*(
|
||||||
alpha*rho*vf
|
alpha*rho*vf
|
||||||
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
|
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
|
||||||
)
|
)
|
||||||
- offCentre_(ddt0())
|
- offCentre_(ddt0())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1212,16 +1151,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
- offCentre_(dUfdt0());
|
- offCentre_(dUfdt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), mesh().Sf() & Uf.oldTime())
|
this->fvcDdtPhiCoeff(U.oldTime(), mesh().Sf() & Uf.oldTime())
|
||||||
*(
|
*(
|
||||||
mesh().Sf()
|
mesh().Sf()
|
||||||
@ -1230,7 +1162,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
- fvc::interpolate(rDtCoef*U.oldTime() + offCentre_(ddt0()))
|
- fvc::interpolate(rDtCoef*U.oldTime() + offCentre_(ddt0()))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1273,16 +1204,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
- offCentre_(dphidt0());
|
- offCentre_(dphidt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
|
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
|
||||||
*(
|
*(
|
||||||
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
|
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
|
||||||
@ -1292,7 +1216,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
rDtCoef*U.oldTime() + offCentre_(ddt0())
|
rDtCoef*U.oldTime() + offCentre_(ddt0())
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1349,17 +1272,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
- offCentre_(dUfdt0());
|
- offCentre_(dUfdt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp<fluxFieldType> ddtCorr
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
rhoU0,
|
rhoU0,
|
||||||
@ -1373,10 +1288,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
- fvc::interpolate(rDtCoef*rhoU0 + offCentre_(ddt0()))
|
- fvc::interpolate(rDtCoef*rhoU0 + offCentre_(ddt0()))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return ddtCorr;
|
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
(
|
(
|
||||||
@ -1414,16 +1326,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
- offCentre_(dUfdt0());
|
- offCentre_(dUfdt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -1440,7 +1345,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1506,17 +1410,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
- offCentre_(dphidt0());
|
- offCentre_(dphidt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp<fluxFieldType> ddtCorr
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
|
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
|
||||||
*(
|
*(
|
||||||
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
|
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
|
||||||
@ -1526,10 +1422,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
rDtCoef*rhoU0 + offCentre_(ddt0())
|
rDtCoef*rhoU0 + offCentre_(ddt0())
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return ddtCorr;
|
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
(
|
(
|
||||||
@ -1567,16 +1460,9 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
- offCentre_(dphidt0());
|
- offCentre_(dphidt0());
|
||||||
}
|
}
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
|
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
|
||||||
*(
|
*(
|
||||||
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
|
(rDtCoef*phi.oldTime() + offCentre_(dphidt0()))
|
||||||
@ -1586,7 +1472,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
rDtCoef*U.oldTime() + offCentre_(ddt0())
|
rDtCoef*U.oldTime() + offCentre_(ddt0())
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -47,22 +47,17 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
const dimensioned<Type>& dt
|
const dimensioned<Type>& dt
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+dt.name()+')');
|
||||||
(
|
|
||||||
"ddt("+dt.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -80,11 +75,9 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -93,7 +86,6 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
Zero
|
Zero
|
||||||
),
|
),
|
||||||
calculatedFvPatchField<Type>::typeName
|
calculatedFvPatchField<Type>::typeName
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -106,22 +98,15 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*
|
rDeltaT*
|
||||||
(
|
(
|
||||||
vf()
|
vf()
|
||||||
@ -131,18 +116,14 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
(
|
(
|
||||||
vf.boundaryField() - vf.oldTime().boundaryField()
|
vf.boundaryField() - vf.oldTime().boundaryField()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*(vf - vf.oldTime())
|
rDeltaT*(vf - vf.oldTime())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -156,22 +137,15 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*rho*
|
rDeltaT*rho*
|
||||||
(
|
(
|
||||||
vf()
|
vf()
|
||||||
@ -181,18 +155,14 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
(
|
(
|
||||||
vf.boundaryField() - vf.oldTime().boundaryField()
|
vf.boundaryField() - vf.oldTime().boundaryField()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*rho*(vf - vf.oldTime())
|
rDeltaT*rho*(vf - vf.oldTime())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -206,22 +176,15 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*
|
rDeltaT*
|
||||||
(
|
(
|
||||||
rho()*vf()
|
rho()*vf()
|
||||||
@ -234,18 +197,14 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
- rho.oldTime().boundaryField()
|
- rho.oldTime().boundaryField()
|
||||||
*vf.oldTime().boundaryField()
|
*vf.oldTime().boundaryField()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
|
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -260,22 +219,15 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*
|
rDeltaT*
|
||||||
(
|
(
|
||||||
alpha()
|
alpha()
|
||||||
@ -296,22 +248,18 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
*rho.oldTime().boundaryField()
|
*rho.oldTime().boundaryField()
|
||||||
*vf.oldTime().boundaryField()
|
*vf.oldTime().boundaryField()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT
|
rDeltaT
|
||||||
*(
|
*(
|
||||||
alpha*rho*vf
|
alpha*rho*vf
|
||||||
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
|
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -324,22 +272,14 @@ EulerDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& sf
|
const GeometricField<Type, fvsPatchField, surfaceMesh>& sf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+sf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+sf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
|
return GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*(sf - sf.oldTime())
|
rDeltaT*(sf - sf.oldTime())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -362,7 +302,7 @@ EulerDdtScheme<Type>::fvmDdt
|
|||||||
|
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
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();
|
fvm.diag() = rDeltaT*mesh().Vsc();
|
||||||
|
|
||||||
@ -397,7 +337,7 @@ EulerDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
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();
|
fvm.diag() = rDeltaT*rho.value()*mesh().Vsc();
|
||||||
|
|
||||||
@ -434,7 +374,7 @@ EulerDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
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();
|
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().Vsc();
|
||||||
|
|
||||||
@ -474,7 +414,7 @@ EulerDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar rDeltaT = 1.0/mesh().time().deltaTValue();
|
const scalar rDeltaT = 1.0/mesh().time().deltaTValue();
|
||||||
|
|
||||||
fvm.diag() =
|
fvm.diag() =
|
||||||
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
|
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
|
||||||
@ -506,7 +446,7 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
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 phiUf0(mesh().Sf() & Uf.oldTime());
|
||||||
fluxFieldType phiCorr
|
fluxFieldType phiCorr
|
||||||
@ -514,19 +454,10 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
||||||
mesh().time().timeName(),
|
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr) *rDeltaT*phiCorr
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
|
|
||||||
*rDeltaT*phiCorr
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -539,26 +470,18 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
fluxFieldType phiCorr
|
fluxFieldType phiCorr
|
||||||
(
|
(
|
||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
|
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
|
||||||
*rDeltaT*phiCorr
|
*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -572,7 +495,7 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
if
|
if
|
||||||
(
|
(
|
||||||
@ -588,20 +511,11 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
|
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
|
||||||
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
|
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
|
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
|
||||||
*rDeltaT*phiCorr
|
*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -616,17 +530,9 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -634,7 +540,6 @@ EulerDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -657,7 +562,7 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
if
|
if
|
||||||
(
|
(
|
||||||
@ -675,17 +580,9 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
rhoU0,
|
rhoU0,
|
||||||
@ -693,7 +590,6 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -707,17 +603,9 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -725,7 +613,6 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -154,20 +154,15 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(SLrDeltaT());
|
const volScalarField rDeltaT(SLrDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+dt.name()+')');
|
||||||
(
|
|
||||||
"ddt("+dt.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -187,9 +182,9 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -213,27 +208,16 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(SLrDeltaT());
|
const volScalarField rDeltaT(SLrDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*(vf() - vf.oldTime()()*mesh().V0()/mesh().V()),
|
||||||
rDeltaT.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*
|
|
||||||
(
|
|
||||||
vf.primitiveField()
|
|
||||||
- vf.oldTime().primitiveField()*mesh().V0()/mesh().V()
|
|
||||||
),
|
|
||||||
rDeltaT.boundaryField()*
|
rDeltaT.boundaryField()*
|
||||||
(
|
(
|
||||||
vf.boundaryField() - vf.oldTime().boundaryField()
|
vf.boundaryField() - vf.oldTime().boundaryField()
|
||||||
@ -245,9 +229,9 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*(vf - vf.oldTime())
|
rDeltaT*(vf - vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -265,27 +249,16 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(SLrDeltaT());
|
const volScalarField rDeltaT(SLrDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*rho*(vf() - vf.oldTime()()*mesh().V0()/mesh().V()),
|
||||||
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*rho.value()*
|
|
||||||
(
|
|
||||||
vf.primitiveField()
|
|
||||||
- vf.oldTime().primitiveField()*mesh().V0()/mesh().V()
|
|
||||||
),
|
|
||||||
rDeltaT.boundaryField()*rho.value()*
|
rDeltaT.boundaryField()*rho.value()*
|
||||||
(
|
(
|
||||||
vf.boundaryField() - vf.oldTime().boundaryField()
|
vf.boundaryField() - vf.oldTime().boundaryField()
|
||||||
@ -297,9 +270,9 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*rho*(vf - vf.oldTime())
|
rDeltaT*rho*(vf - vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -317,27 +290,19 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(SLrDeltaT());
|
const volScalarField rDeltaT(SLrDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*
|
||||||
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*
|
|
||||||
(
|
(
|
||||||
rho.primitiveField()*vf.primitiveField()
|
rho()*vf()
|
||||||
- rho.oldTime().primitiveField()
|
- rho.oldTime()()*vf.oldTime()()*mesh().V0()/mesh().V()
|
||||||
*vf.oldTime().primitiveField()*mesh().V0()/mesh().V()
|
|
||||||
),
|
),
|
||||||
rDeltaT.boundaryField()*
|
rDeltaT.boundaryField()*
|
||||||
(
|
(
|
||||||
@ -352,9 +317,9 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
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())
|
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -373,32 +338,20 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField rDeltaT(SLrDeltaT());
|
const volScalarField rDeltaT(SLrDeltaT());
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT()*
|
||||||
rDeltaT.dimensions()
|
|
||||||
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.primitiveField()*
|
|
||||||
(
|
(
|
||||||
alpha.primitiveField()
|
alpha()*rho()*vf()
|
||||||
*rho.primitiveField()
|
- alpha.oldTime()()*rho.oldTime()()*vf.oldTime()()
|
||||||
*vf.primitiveField()
|
*mesh().Vsc0()/mesh().Vsc()
|
||||||
|
|
||||||
- alpha.oldTime().primitiveField()
|
|
||||||
*rho.oldTime().primitiveField()
|
|
||||||
*vf.oldTime().primitiveField()*mesh().Vsc0()/mesh().Vsc()
|
|
||||||
),
|
),
|
||||||
rDeltaT.boundaryField()*
|
rDeltaT.boundaryField()*
|
||||||
(
|
(
|
||||||
@ -417,13 +370,12 @@ SLTSDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT
|
rDeltaT
|
||||||
*(
|
*(
|
||||||
alpha*rho*vf
|
alpha*rho*vf - alpha.oldTime()*rho.oldTime()*vf.oldTime()
|
||||||
- alpha.oldTime()*rho.oldTime()*vf.oldTime()
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -449,7 +401,7 @@ SLTSDdtScheme<Type>::fvmDdt
|
|||||||
|
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() = rDeltaT*mesh().V();
|
fvm.diag() = rDeltaT*mesh().V();
|
||||||
|
|
||||||
@ -484,7 +436,7 @@ SLTSDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() = rDeltaT*rho.value()*mesh().V();
|
fvm.diag() = rDeltaT*rho.value()*mesh().V();
|
||||||
|
|
||||||
@ -521,7 +473,7 @@ SLTSDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().V();
|
fvm.diag() = rDeltaT*rho.primitiveField()*mesh().V();
|
||||||
|
|
||||||
@ -561,7 +513,7 @@ SLTSDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
const scalarField rDeltaT(SLrDeltaT()().primitiveField());
|
||||||
|
|
||||||
fvm.diag() =
|
fvm.diag() =
|
||||||
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
|
rDeltaT*alpha.primitiveField()*rho.primitiveField()*mesh().Vsc();
|
||||||
@ -601,19 +553,11 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
|
this->fvcDdtPhiCoeff(U.oldTime(), phiUf0, phiCorr)
|
||||||
*rDeltaT*phiCorr
|
*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -633,19 +577,11 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
|
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr)
|
||||||
*rDeltaT*phiCorr
|
*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -675,20 +611,11 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
|
fluxFieldType phiUf0(mesh().Sf() & Uf.oldTime());
|
||||||
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
|
fluxFieldType phiCorr(phiUf0 - fvc::dotInterpolate(mesh().Sf(), rhoU0));
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
|
this->fvcDdtPhiCoeff(rhoU0, phiUf0, phiCorr, rho.oldTime())
|
||||||
*rDeltaT*phiCorr
|
*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -703,17 +630,9 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phiUf0 - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -721,7 +640,6 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -744,7 +662,7 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
if
|
if
|
||||||
(
|
(
|
||||||
@ -762,17 +680,9 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), rhoU0)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
rhoU0,
|
rhoU0,
|
||||||
@ -780,7 +690,6 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -794,17 +703,9 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
phi.oldTime() - fvc::dotInterpolate(mesh().Sf(), U.oldTime())
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -812,7 +713,6 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phiCorr,
|
phiCorr,
|
||||||
rho.oldTime()
|
rho.oldTime()
|
||||||
)*rDeltaT*phiCorr
|
)*rDeltaT*phiCorr
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -78,29 +78,24 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
const dimensioned<Type>& dt
|
const dimensioned<Type>& dt
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+dt.name()+')');
|
||||||
(
|
|
||||||
"ddt("+dt.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_();
|
const scalar deltaT0 = deltaT0_();
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tdtdt
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -122,9 +117,9 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -146,37 +141,30 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT*
|
||||||
rDeltaT.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.value()*
|
|
||||||
(
|
(
|
||||||
coefft*vf.primitiveField() -
|
coefft*vf() -
|
||||||
(
|
(
|
||||||
coefft0*vf.oldTime().primitiveField()*mesh().V0()
|
coefft0*vf.oldTime()()*mesh().V0()
|
||||||
- coefft00*vf.oldTime().oldTime().primitiveField()
|
- coefft00*vf.oldTime().oldTime()()
|
||||||
*mesh().V00()
|
*mesh().V00()
|
||||||
)/mesh().V()
|
)/mesh().V()
|
||||||
),
|
),
|
||||||
@ -195,9 +183,9 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*
|
rDeltaT*
|
||||||
(
|
(
|
||||||
coefft*vf
|
coefft*vf
|
||||||
@ -218,37 +206,30 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT*rho*
|
||||||
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.value()*rho.value()*
|
|
||||||
(
|
(
|
||||||
coefft*vf.primitiveField() -
|
coefft*vf() -
|
||||||
(
|
(
|
||||||
coefft0*vf.oldTime().primitiveField()*mesh().V0()
|
coefft0*vf.oldTime()()*mesh().V0()
|
||||||
- coefft00*vf.oldTime().oldTime().primitiveField()
|
- coefft00*vf.oldTime().oldTime()()
|
||||||
*mesh().V00()
|
*mesh().V00()
|
||||||
)/mesh().V()
|
)/mesh().V()
|
||||||
),
|
),
|
||||||
@ -267,9 +248,9 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*rho*
|
rDeltaT*rho*
|
||||||
(
|
(
|
||||||
coefft*vf
|
coefft*vf
|
||||||
@ -290,39 +271,32 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT*
|
||||||
rDeltaT.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.value()*
|
|
||||||
(
|
(
|
||||||
coefft*rho.primitiveField()*vf.primitiveField() -
|
coefft*rho()*vf() -
|
||||||
(
|
(
|
||||||
coefft0*rho.oldTime().primitiveField()
|
coefft0*rho.oldTime()()
|
||||||
*vf.oldTime().primitiveField()*mesh().V0()
|
*vf.oldTime()()*mesh().V0()
|
||||||
- coefft00*rho.oldTime().oldTime().primitiveField()
|
- coefft00*rho.oldTime().oldTime()()
|
||||||
*vf.oldTime().oldTime().primitiveField()*mesh().V00()
|
*vf.oldTime().oldTime()()*mesh().V00()
|
||||||
)/mesh().V()
|
)/mesh().V()
|
||||||
),
|
),
|
||||||
rDeltaT.value()*
|
rDeltaT.value()*
|
||||||
@ -342,9 +316,9 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*
|
rDeltaT*
|
||||||
(
|
(
|
||||||
coefft*rho*vf
|
coefft*rho*vf
|
||||||
@ -366,48 +340,34 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if (mesh().moving())
|
if (mesh().moving())
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
rDeltaT*
|
||||||
rDeltaT.dimensions()
|
|
||||||
*alpha.dimensions()*rho.dimensions()*vf.dimensions(),
|
|
||||||
rDeltaT.value()*
|
|
||||||
(
|
|
||||||
coefft
|
|
||||||
*alpha.primitiveField()
|
|
||||||
*rho.primitiveField()
|
|
||||||
*vf.primitiveField() -
|
|
||||||
(
|
(
|
||||||
|
coefft*alpha()*rho()*vf()
|
||||||
|
- (
|
||||||
coefft0
|
coefft0
|
||||||
*alpha.oldTime().primitiveField()
|
*alpha.oldTime()()*rho.oldTime()()
|
||||||
*rho.oldTime().primitiveField()
|
*vf.oldTime()()*mesh().V0()
|
||||||
*vf.oldTime().primitiveField()*mesh().V0()
|
|
||||||
|
|
||||||
- coefft00
|
- coefft00
|
||||||
*alpha.oldTime().oldTime().primitiveField()
|
*alpha.oldTime().oldTime()()*rho.oldTime().oldTime()()
|
||||||
*rho.oldTime().oldTime().primitiveField()
|
*vf.oldTime().oldTime()()*mesh().V00()
|
||||||
*vf.oldTime().oldTime().primitiveField()*mesh().V00()
|
|
||||||
)/mesh().V()
|
)/mesh().V()
|
||||||
),
|
),
|
||||||
rDeltaT.value()*
|
rDeltaT.value()*
|
||||||
@ -435,9 +395,9 @@ backwardDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*
|
rDeltaT*
|
||||||
(
|
(
|
||||||
coefft*alpha*rho*vf
|
coefft*alpha*rho*vf
|
||||||
@ -469,14 +429,14 @@ backwardDdtScheme<Type>::fvmDdt
|
|||||||
|
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar rDeltaT = 1.0/deltaT_();
|
const scalar rDeltaT = 1.0/deltaT_();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
fvm.diag() = (coefft*rDeltaT)*mesh().V();
|
fvm.diag() = (coefft*rDeltaT)*mesh().V();
|
||||||
|
|
||||||
@ -520,14 +480,14 @@ backwardDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar rDeltaT = 1.0/deltaT_();
|
const scalar rDeltaT = 1.0/deltaT_();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
fvm.diag() = (coefft*rDeltaT*rho.value())*mesh().V();
|
fvm.diag() = (coefft*rDeltaT*rho.value())*mesh().V();
|
||||||
|
|
||||||
@ -571,14 +531,14 @@ backwardDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar rDeltaT = 1.0/deltaT_();
|
const scalar rDeltaT = 1.0/deltaT_();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
fvm.diag() = (coefft*rDeltaT)*rho.primitiveField()*mesh().V();
|
fvm.diag() = (coefft*rDeltaT)*rho.primitiveField()*mesh().V();
|
||||||
|
|
||||||
@ -626,14 +586,14 @@ backwardDdtScheme<Type>::fvmDdt
|
|||||||
);
|
);
|
||||||
fvMatrix<Type>& fvm = tfvm.ref();
|
fvMatrix<Type>& fvm = tfvm.ref();
|
||||||
|
|
||||||
scalar rDeltaT = 1.0/deltaT_();
|
const scalar rDeltaT = 1.0/deltaT_();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
fvm.diag() =
|
fvm.diag() =
|
||||||
(coefft*rDeltaT)*alpha.primitiveField()*rho.primitiveField()*mesh().V();
|
(coefft*rDeltaT)*alpha.primitiveField()*rho.primitiveField()*mesh().V();
|
||||||
@ -681,25 +641,18 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(U);
|
const scalar deltaT0 = deltaT0_(U);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), (mesh().Sf() & Uf.oldTime()))
|
this->fvcDdtPhiCoeff(U.oldTime(), (mesh().Sf() & Uf.oldTime()))
|
||||||
*rDeltaT
|
*rDeltaT
|
||||||
*(
|
*(
|
||||||
@ -712,7 +665,6 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -725,25 +677,18 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(U);
|
const scalar deltaT0 = deltaT0_(U);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
|
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime())
|
||||||
*rDeltaT
|
*rDeltaT
|
||||||
*(
|
*(
|
||||||
@ -754,7 +699,6 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
|
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -768,14 +712,14 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(U);
|
const scalar deltaT0 = deltaT0_(U);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if
|
if
|
||||||
(
|
(
|
||||||
@ -783,27 +727,19 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
&& Uf.dimensions() == rho.dimensions()*dimVelocity
|
&& Uf.dimensions() == rho.dimensions()*dimVelocity
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
GeometricField<Type, fvPatchField, volMesh> rhoU0
|
const GeometricField<Type, fvPatchField, volMesh> rhoU0
|
||||||
(
|
(
|
||||||
rho.oldTime()*U.oldTime()
|
rho.oldTime()*U.oldTime()
|
||||||
);
|
);
|
||||||
|
|
||||||
GeometricField<Type, fvPatchField, volMesh> rhoU00
|
const GeometricField<Type, fvPatchField, volMesh> rhoU00
|
||||||
(
|
(
|
||||||
rho.oldTime().oldTime()*U.oldTime().oldTime()
|
rho.oldTime().oldTime()*U.oldTime().oldTime()
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
rhoU0,
|
rhoU0,
|
||||||
@ -818,7 +754,6 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
- fvc::interpolate(coefft0*rhoU0 - coefft00*rhoU00)
|
- fvc::interpolate(coefft0*rhoU0 - coefft00*rhoU00)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -827,17 +762,9 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
&& Uf.dimensions() == rho.dimensions()*dimVelocity
|
&& Uf.dimensions() == rho.dimensions()*dimVelocity
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff
|
this->fvcDdtPhiCoeff
|
||||||
(
|
(
|
||||||
U.oldTime(),
|
U.oldTime(),
|
||||||
@ -856,7 +783,6 @@ backwardDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -879,14 +805,14 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
const dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT();
|
||||||
|
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(U);
|
const scalar deltaT0 = deltaT0_(U);
|
||||||
|
|
||||||
scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
const scalar coefft = 1 + deltaT/(deltaT + deltaT0);
|
||||||
scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
const scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0));
|
||||||
scalar coefft0 = coefft + coefft00;
|
const scalar coefft0 = coefft + coefft00;
|
||||||
|
|
||||||
if
|
if
|
||||||
(
|
(
|
||||||
@ -894,27 +820,19 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
|
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
GeometricField<Type, fvPatchField, volMesh> rhoU0
|
const GeometricField<Type, fvPatchField, volMesh> rhoU0
|
||||||
(
|
(
|
||||||
rho.oldTime()*U.oldTime()
|
rho.oldTime()*U.oldTime()
|
||||||
);
|
);
|
||||||
|
|
||||||
GeometricField<Type, fvPatchField, volMesh> rhoU00
|
const GeometricField<Type, fvPatchField, volMesh> rhoU00
|
||||||
(
|
(
|
||||||
rho.oldTime().oldTime()*U.oldTime().oldTime()
|
rho.oldTime().oldTime()*U.oldTime().oldTime()
|
||||||
);
|
);
|
||||||
|
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
|
this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), rho.oldTime())
|
||||||
*rDeltaT
|
*rDeltaT
|
||||||
*(
|
*(
|
||||||
@ -925,7 +843,6 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
coefft0*rhoU0 - coefft00*rhoU00
|
coefft0*rhoU0 - coefft00*rhoU00
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if
|
else if
|
||||||
@ -934,17 +851,9 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
|
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
|
this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), rho.oldTime())
|
||||||
*rDeltaT
|
*rDeltaT
|
||||||
*(
|
*(
|
||||||
@ -955,7 +864,6 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
|
coefft0*U.oldTime() - coefft00*U.oldTime().oldTime()
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -975,14 +883,14 @@ tmp<surfaceScalarField> backwardDdtScheme<Type>::meshPhi
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
scalar deltaT = deltaT_();
|
const scalar deltaT = deltaT_();
|
||||||
scalar deltaT0 = deltaT0_(vf);
|
const scalar deltaT0 = deltaT0_(vf);
|
||||||
|
|
||||||
// Coefficient for t-3/2 (between times 0 and 00)
|
// 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)
|
// 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
|
return surfaceScalarField::New
|
||||||
(
|
(
|
||||||
|
|||||||
@ -60,18 +60,13 @@ localEulerDdtScheme<Type>::fvcDdt
|
|||||||
const dimensioned<Type>& dt
|
const dimensioned<Type>& dt
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + dt.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + dt.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -94,18 +89,13 @@ localEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField& rDeltaT = localRDeltaT();
|
const volScalarField& rDeltaT = localRDeltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + vf.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + vf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*(vf - vf.oldTime())
|
rDeltaT*(vf - vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -122,18 +112,13 @@ localEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField& rDeltaT = localRDeltaT();
|
const volScalarField& rDeltaT = localRDeltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + rho.name() + ',' + vf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT*rho*(vf - vf.oldTime())
|
rDeltaT*rho*(vf - vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -150,18 +135,13 @@ localEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField& rDeltaT = localRDeltaT();
|
const volScalarField& rDeltaT = localRDeltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt(" + rho.name() + ',' + vf.name() + ')');
|
||||||
(
|
|
||||||
"ddt(" + rho.name() + ',' + vf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
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())
|
rDeltaT*(rho*vf - rho.oldTime()*vf.oldTime())
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@ -179,18 +159,13 @@ localEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const volScalarField& rDeltaT = localRDeltaT();
|
const volScalarField& rDeltaT = localRDeltaT();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+alpha.name()+','+rho.name()+','+vf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
(
|
||||||
ddtIOobject,
|
ddtName,
|
||||||
rDeltaT
|
rDeltaT
|
||||||
*(
|
*(
|
||||||
alpha*rho*vf
|
alpha*rho*vf
|
||||||
@ -210,20 +185,12 @@ localEulerDdtScheme<Type>::fvcDdt
|
|||||||
{
|
{
|
||||||
const surfaceScalarField& rDeltaT = localRDeltaTf();
|
const surfaceScalarField& rDeltaT = localRDeltaTf();
|
||||||
|
|
||||||
IOobject ddtIOobject
|
const word ddtName("ddt("+sf.name()+')');
|
||||||
(
|
|
||||||
"ddt("+sf.name()+')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
);
|
|
||||||
|
|
||||||
return tmp<GeometricField<Type, fvsPatchField, surfaceMesh>>
|
return GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
ddtName,
|
||||||
(
|
|
||||||
ddtIOobject,
|
|
||||||
rDeltaT*(sf - sf.oldTime())
|
rDeltaT*(sf - sf.oldTime())
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -46,16 +46,9 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
const dimensioned<Type>& dt
|
const dimensioned<Type>& dt
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddt("+dt.name()+')',
|
"ddt("+dt.name()+')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -63,7 +56,6 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
dt.dimensions()/dimTime,
|
dt.dimensions()/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,16 +67,9 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddt("+vf.name()+')',
|
"ddt("+vf.name()+')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -92,7 +77,6 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
vf.dimensions()/dimTime,
|
vf.dimensions()/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -105,16 +89,9 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
"ddt("+rho.name()+','+vf.name()+')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -122,7 +99,6 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
rho.dimensions()*vf.dimensions()/dimTime,
|
rho.dimensions()*vf.dimensions()/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,16 +111,9 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddt("+rho.name()+','+vf.name()+')',
|
"ddt("+rho.name()+','+vf.name()+')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -152,7 +121,6 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
rho.dimensions()*vf.dimensions()/dimTime,
|
rho.dimensions()*vf.dimensions()/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -166,16 +134,9 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<GeometricField<Type, fvPatchField, volMesh>>
|
return GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
|
"ddt("+alpha.name()+','+rho.name()+','+vf.name()+')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -183,7 +144,6 @@ steadyStateDdtScheme<Type>::fvcDdt
|
|||||||
rho.dimensions()*vf.dimensions()/dimTime,
|
rho.dimensions()*vf.dimensions()/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -195,7 +155,7 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
tmp<fvMatrix<Type>> tfvm
|
return tmp<fvMatrix<Type>>
|
||||||
(
|
(
|
||||||
new fvMatrix<Type>
|
new fvMatrix<Type>
|
||||||
(
|
(
|
||||||
@ -203,8 +163,6 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
vf.dimensions()*dimVol/dimTime
|
vf.dimensions()*dimVol/dimTime
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tfvm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -216,7 +174,7 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
tmp<fvMatrix<Type>> tfvm
|
return tmp<fvMatrix<Type>>
|
||||||
(
|
(
|
||||||
new fvMatrix<Type>
|
new fvMatrix<Type>
|
||||||
(
|
(
|
||||||
@ -224,8 +182,6 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
rho.dimensions()*vf.dimensions()*dimVol/dimTime
|
rho.dimensions()*vf.dimensions()*dimVol/dimTime
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tfvm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -237,7 +193,7 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
tmp<fvMatrix<Type>> tfvm
|
return tmp<fvMatrix<Type>>
|
||||||
(
|
(
|
||||||
new fvMatrix<Type>
|
new fvMatrix<Type>
|
||||||
(
|
(
|
||||||
@ -245,8 +201,6 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
rho.dimensions()*vf.dimensions()*dimVol/dimTime
|
rho.dimensions()*vf.dimensions()*dimVol/dimTime
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tfvm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -259,7 +213,7 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
const GeometricField<Type, fvPatchField, volMesh>& vf
|
const GeometricField<Type, fvPatchField, volMesh>& vf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
tmp<fvMatrix<Type>> tfvm
|
return tmp<fvMatrix<Type>>
|
||||||
(
|
(
|
||||||
new fvMatrix<Type>
|
new fvMatrix<Type>
|
||||||
(
|
(
|
||||||
@ -267,8 +221,6 @@ steadyStateDdtScheme<Type>::fvmDdt
|
|||||||
alpha.dimensions()*rho.dimensions()*vf.dimensions()*dimVol/dimTime
|
alpha.dimensions()*rho.dimensions()*vf.dimensions()*dimVol/dimTime
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
return tfvm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -280,16 +232,9 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
"ddtCorr(" + U.name() + ',' + Uf.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<typename flux<Type>::type>
|
dimensioned<typename flux<Type>::type>
|
||||||
(
|
(
|
||||||
@ -297,7 +242,6 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
Uf.dimensions()*dimArea/dimTime,
|
Uf.dimensions()*dimArea/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -310,16 +254,9 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
|
||||||
new fluxFieldType
|
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
"ddtCorr(" + U.name() + ',' + phi.name() + ')',
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<typename flux<Type>::type>
|
dimensioned<typename flux<Type>::type>
|
||||||
(
|
(
|
||||||
@ -327,7 +264,6 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.dimensions()/dimTime,
|
phi.dimensions()/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -341,18 +277,9 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name()
|
|
||||||
+ ',' + U.name() + ',' + Uf.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<typename flux<Type>::type>
|
dimensioned<typename flux<Type>::type>
|
||||||
(
|
(
|
||||||
@ -360,7 +287,6 @@ steadyStateDdtScheme<Type>::fvcDdtUfCorr
|
|||||||
Uf.dimensions()*dimArea/dimTime,
|
Uf.dimensions()*dimArea/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,18 +300,9 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
const fluxFieldType& phi
|
const fluxFieldType& phi
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return tmp<fluxFieldType>
|
return fluxFieldType::New
|
||||||
(
|
(
|
||||||
new fluxFieldType
|
"ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')',
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
|
||||||
"ddtCorr("
|
|
||||||
+ rho.name()
|
|
||||||
+ ',' + U.name() + ',' + phi.name() + ')',
|
|
||||||
mesh().time().timeName(),
|
|
||||||
mesh()
|
|
||||||
),
|
|
||||||
mesh(),
|
mesh(),
|
||||||
dimensioned<typename flux<Type>::type>
|
dimensioned<typename flux<Type>::type>
|
||||||
(
|
(
|
||||||
@ -393,7 +310,6 @@ steadyStateDdtScheme<Type>::fvcDdtPhiCorr
|
|||||||
phi.dimensions()/dimTime,
|
phi.dimensions()/dimTime,
|
||||||
Zero
|
Zero
|
||||||
)
|
)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -51,16 +51,9 @@ average
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> taverage
|
tmp<GeometricField<Type, fvPatchField, volMesh>> taverage
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"average("+ssf.name()+')',
|
"average("+ssf.name()+')',
|
||||||
ssf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>("0", ssf.dimensions(), Zero)
|
dimensioned<Type>("0", ssf.dimensions(), Zero)
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -48,13 +48,10 @@ div
|
|||||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& ssf
|
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()+')',
|
"div("+ssf.name()+')',
|
||||||
fvc::surfaceIntegrate(ssf)
|
fvc::surfaceIntegrate(ssf)
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -63,16 +63,9 @@ reconstruct
|
|||||||
|
|
||||||
tmp<GeometricField<GradType, fvPatchField, volMesh>> treconField
|
tmp<GeometricField<GradType, fvPatchField, volMesh>> treconField
|
||||||
(
|
(
|
||||||
new GeometricField<GradType, fvPatchField, volMesh>
|
GeometricField<GradType, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"volIntegrate("+ssf.name()+')',
|
"volIntegrate("+ssf.name()+')',
|
||||||
ssf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<GradType>("0", ssf.dimensions()/dimArea, Zero),
|
dimensioned<GradType>("0", ssf.dimensions()/dimArea, Zero),
|
||||||
extrapolatedCalculatedFvPatchField<GradType>::typeName
|
extrapolatedCalculatedFvPatchField<GradType>::typeName
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -64,16 +64,9 @@ reconstruct
|
|||||||
|
|
||||||
tmp<GeometricField<GradType, fvPatchField, volMesh>> treconField
|
tmp<GeometricField<GradType, fvPatchField, volMesh>> treconField
|
||||||
(
|
(
|
||||||
new GeometricField<GradType, fvPatchField, volMesh>
|
GeometricField<GradType, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"reconstruct("+ssf.name()+')',
|
"reconstruct("+ssf.name()+')',
|
||||||
ssf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<GradType>
|
dimensioned<GradType>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -87,16 +87,9 @@ surfaceIntegrate
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"surfaceIntegrate("+ssf.name()+')',
|
"surfaceIntegrate("+ssf.name()+')',
|
||||||
ssf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
@ -143,16 +136,9 @@ surfaceSum
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tvf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"surfaceSum("+ssf.name()+')',
|
"surfaceSum("+ssf.name()+')',
|
||||||
ssf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>("0", ssf.dimensions(), Zero),
|
dimensioned<Type>("0", ssf.dimensions(), Zero),
|
||||||
extrapolatedCalculatedFvPatchField<Type>::typeName
|
extrapolatedCalculatedFvPatchField<Type>::typeName
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2013-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -60,16 +60,9 @@ Foam::fv::LeastSquaresGrad<Type, Stencil>::calcGrad
|
|||||||
|
|
||||||
tmp<GeometricField<GradType, fvPatchField, volMesh>> tlsGrad
|
tmp<GeometricField<GradType, fvPatchField, volMesh>> tlsGrad
|
||||||
(
|
(
|
||||||
new GeometricField<GradType, fvPatchField, volMesh>
|
GeometricField<GradType, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
name,
|
name,
|
||||||
vtf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<GradType>
|
dimensioned<GradType>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -72,16 +72,9 @@ Foam::fv::fourthGrad<Type>::calcGrad
|
|||||||
|
|
||||||
tmp<GeometricField<GradType, fvPatchField, volMesh>> tfGrad
|
tmp<GeometricField<GradType, fvPatchField, volMesh>> tfGrad
|
||||||
(
|
(
|
||||||
new GeometricField<GradType, fvPatchField, volMesh>
|
GeometricField<GradType, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
name,
|
name,
|
||||||
vsf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
secondfGrad
|
secondfGrad
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -50,16 +50,9 @@ Foam::fv::gaussGrad<Type>::gradf
|
|||||||
|
|
||||||
tmp<GeometricField<GradType, fvPatchField, volMesh>> tgGrad
|
tmp<GeometricField<GradType, fvPatchField, volMesh>> tgGrad
|
||||||
(
|
(
|
||||||
new GeometricField<GradType, fvPatchField, volMesh>
|
GeometricField<GradType, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
name,
|
name,
|
||||||
ssf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<GradType>
|
dimensioned<GradType>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -56,16 +56,9 @@ Foam::fv::leastSquaresGrad<Type>::calcGrad
|
|||||||
|
|
||||||
tmp<GeometricField<GradType, fvPatchField, volMesh>> tlsGrad
|
tmp<GeometricField<GradType, fvPatchField, volMesh>> tlsGrad
|
||||||
(
|
(
|
||||||
new GeometricField<GradType, fvPatchField, volMesh>
|
GeometricField<GradType, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
name,
|
name,
|
||||||
vsf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<GradType>
|
dimensioned<GradType>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -100,16 +100,9 @@ gaussLaplacianScheme<Type, GType>::gammaSnGradCorr
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tgammaSnGradCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tgammaSnGradCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"gammaSnGradCorr("+vf.name()+')',
|
"gammaSnGradCorr("+vf.name()+')',
|
||||||
vf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
SfGammaCorr.dimensions()
|
SfGammaCorr.dimensions()
|
||||||
*vf.dimensions()*mesh.deltaCoeffs().dimensions()
|
*vf.dimensions()*mesh.deltaCoeffs().dimensions()
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -77,16 +77,9 @@ Foam::fv::correctedSnGrad<Type>::correction
|
|||||||
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tssf
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tssf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"snGradCorr("+vf.name()+')',
|
"snGradCorr("+vf.name()+')',
|
||||||
vf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
|
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -53,16 +53,9 @@ Foam::fv::faceCorrectedSnGrad<Type>::fullGradCorrection
|
|||||||
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"snGradCorr("+vf.name()+')',
|
"snGradCorr("+vf.name()+')',
|
||||||
vf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
|
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
|
||||||
)
|
)
|
||||||
@ -134,16 +127,9 @@ Foam::fv::faceCorrectedSnGrad<Type>::correction
|
|||||||
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tssf
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tssf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"snGradCorr("+vf.name()+')',
|
"snGradCorr("+vf.name()+')',
|
||||||
vf.instance(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
|
vf.dimensions()*mesh.nonOrthDeltaCoeffs().dimensions()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -109,16 +109,9 @@ snGradScheme<Type>::snGrad
|
|||||||
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsf
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
snGradName + "("+vf.name()+')',
|
snGradName + "("+vf.name()+')',
|
||||||
vf.instance(),
|
|
||||||
vf.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
vf.dimensions()*tdeltaCoeffs().dimensions()
|
vf.dimensions()*tdeltaCoeffs().dimensions()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -761,16 +761,9 @@ Foam::fvMatrix<Type>::H() const
|
|||||||
{
|
{
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tHphi
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tHphi
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"H("+psi_.name()+')',
|
"H("+psi_.name()+')',
|
||||||
psi_.instance(),
|
|
||||||
psi_.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
psi_.mesh(),
|
psi_.mesh(),
|
||||||
dimensions_/dimVol,
|
dimensions_/dimVol,
|
||||||
extrapolatedCalculatedFvPatchScalarField::typeName
|
extrapolatedCalculatedFvPatchScalarField::typeName
|
||||||
@ -874,16 +867,9 @@ flux() const
|
|||||||
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
// construct GeometricField<Type, fvsPatchField, surfaceMesh>
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tfieldFlux
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tfieldFlux
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"flux("+psi_.name()+')',
|
"flux("+psi_.name()+')',
|
||||||
psi_.instance(),
|
|
||||||
psi_.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
psi_.mesh(),
|
psi_.mesh(),
|
||||||
dimensions()
|
dimensions()
|
||||||
)
|
)
|
||||||
@ -2206,16 +2192,9 @@ Foam::operator&
|
|||||||
{
|
{
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tMphi
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tMphi
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"M&" + psi.name(),
|
"M&" + psi.name(),
|
||||||
psi.instance(),
|
|
||||||
psi.mesh(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE
|
|
||||||
),
|
|
||||||
psi.mesh(),
|
psi.mesh(),
|
||||||
M.dimensions()/dimVol,
|
M.dimensions()/dimVol,
|
||||||
extrapolatedCalculatedFvPatchScalarField::typeName
|
extrapolatedCalculatedFvPatchScalarField::typeName
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -98,17 +98,9 @@ Foam::extendedCellToFaceStencil::weightedSum
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
fld.name(),
|
fld.name(),
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -47,17 +47,9 @@ Foam::extendedUpwindCellToFaceStencil::weightedSum
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
fld.name(),
|
fld.name(),
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -95,14 +95,9 @@ Foam::extendedFaceToCellStencil::weightedSum
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tsfCorr
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
fld.name(),
|
fld.name(),
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -182,14 +182,9 @@ Foam::LimitedScheme<Type, Limiter, LimitFunc>::limiter
|
|||||||
{
|
{
|
||||||
tmp<surfaceScalarField> tlimiterField
|
tmp<surfaceScalarField> tlimiterField
|
||||||
(
|
(
|
||||||
new surfaceScalarField
|
surfaceScalarField::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
limiterFieldName,
|
limiterFieldName,
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimless
|
dimless
|
||||||
)
|
)
|
||||||
|
|||||||
@ -123,17 +123,9 @@ public:
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"cubic::correction(" + vf.name() +')',
|
"cubic::correction(" + vf.name() +')',
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
surfaceInterpolationScheme<Type>::interpolate(vf, kSc, -kSc)
|
surfaceInterpolationScheme<Type>::interpolate(vf, kSc, -kSc)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -39,17 +39,9 @@ Foam::linearUpwind<Type>::correction
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"linearUpwind::correction(" + vf.name() + ')',
|
"linearUpwind::correction(" + vf.name() + ')',
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>(vf.name(), vf.dimensions(), Zero)
|
dimensioned<Type>(vf.name(), vf.dimensions(), Zero)
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -41,17 +41,9 @@ Foam::linearUpwindV<Type>::correction
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"linearUpwindV::correction(" + vf.name() + ')',
|
"linearUpwindV::correction(" + vf.name() + ')',
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -124,14 +124,9 @@ public:
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tvff
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tvff
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"localMax::interpolate(" + vf.name() + ')',
|
"localMax::interpolate(" + vf.name() + ')',
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
vf.dimensions()
|
vf.dimensions()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -119,14 +119,9 @@ public:
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tvff
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tvff
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"localMin::interpolate(" + vf.name() + ')',
|
"localMin::interpolate(" + vf.name() + ')',
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
vf.dimensions()
|
vf.dimensions()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -133,14 +133,9 @@ public:
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsfCorr
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"skewCorrected::skewCorrection(" + vf.name() + ')',
|
"skewCorrected::skewCorrection(" + vf.name() + ')',
|
||||||
mesh.time().timeName(),
|
|
||||||
mesh
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>
|
dimensioned<Type>
|
||||||
(
|
(
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -167,14 +167,9 @@ Foam::surfaceInterpolationScheme<Type>::interpolate
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsf
|
tmp<GeometricField<Type, fvsPatchField, surfaceMesh>> tsf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
GeometricField<Type, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"interpolate("+vf.name()+')',
|
"interpolate("+vf.name()+')',
|
||||||
vf.instance(),
|
|
||||||
vf.db()
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
vf.dimensions()
|
vf.dimensions()
|
||||||
)
|
)
|
||||||
@ -260,14 +255,9 @@ Foam::surfaceInterpolationScheme<Type>::dotInterpolate
|
|||||||
|
|
||||||
tmp<GeometricField<RetType, fvsPatchField, surfaceMesh>> tsf
|
tmp<GeometricField<RetType, fvsPatchField, surfaceMesh>> tsf
|
||||||
(
|
(
|
||||||
new GeometricField<RetType, fvsPatchField, surfaceMesh>
|
GeometricField<RetType, fvsPatchField, surfaceMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"interpolate("+vf.name()+')',
|
"interpolate("+vf.name()+')',
|
||||||
vf.instance(),
|
|
||||||
vf.db()
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
Sf.dimensions()*vf.dimensions()
|
Sf.dimensions()*vf.dimensions()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -379,14 +379,9 @@ Foam::volPointInterpolation::interpolate
|
|||||||
// Construct tmp<pointField>
|
// Construct tmp<pointField>
|
||||||
tmp<GeometricField<Type, pointPatchField, pointMesh>> tpf
|
tmp<GeometricField<Type, pointPatchField, pointMesh>> tpf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, pointPatchField, pointMesh>
|
GeometricField<Type, pointPatchField, pointMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"volPointInterpolate(" + vf.name() + ')',
|
"volPointInterpolate(" + vf.name() + ')',
|
||||||
vf.instance(),
|
|
||||||
pm.thisDb()
|
|
||||||
),
|
|
||||||
pm,
|
pm,
|
||||||
vf.dimensions(),
|
vf.dimensions(),
|
||||||
patchFieldTypes
|
patchFieldTypes
|
||||||
@ -454,14 +449,9 @@ Foam::volPointInterpolation::interpolate
|
|||||||
|
|
||||||
tmp<GeometricField<Type, pointPatchField, pointMesh>> tpf
|
tmp<GeometricField<Type, pointPatchField, pointMesh>> tpf
|
||||||
(
|
(
|
||||||
new GeometricField<Type, pointPatchField, pointMesh>
|
GeometricField<Type, pointPatchField, pointMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
name,
|
name,
|
||||||
vf.instance(),
|
|
||||||
pm.thisDb()
|
|
||||||
),
|
|
||||||
pm,
|
pm,
|
||||||
vf.dimensions()
|
vf.dimensions()
|
||||||
)
|
)
|
||||||
|
|||||||
@ -102,7 +102,8 @@ Foam::fvFieldDecomposer::decomposeField
|
|||||||
procMesh_.time().timeName(),
|
procMesh_.time().timeName(),
|
||||||
procMesh_,
|
procMesh_,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procMesh_,
|
procMesh_,
|
||||||
field.dimensions(),
|
field.dimensions(),
|
||||||
@ -256,7 +257,8 @@ Foam::fvFieldDecomposer::decomposeField
|
|||||||
procMesh_.time().timeName(),
|
procMesh_.time().timeName(),
|
||||||
procMesh_,
|
procMesh_,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procMesh_,
|
procMesh_,
|
||||||
field.dimensions(),
|
field.dimensions(),
|
||||||
|
|||||||
@ -95,7 +95,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeInternalField
|
|||||||
procMeshes_[proci].time().timeName(),
|
procMeshes_[proci].time().timeName(),
|
||||||
procMeshes_[proci],
|
procMeshes_[proci],
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procMeshes_[proci]
|
procMeshes_[proci]
|
||||||
)
|
)
|
||||||
@ -111,7 +112,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeInternalField
|
|||||||
mesh_.time().timeName(),
|
mesh_.time().timeName(),
|
||||||
mesh_,
|
mesh_,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procFields
|
procFields
|
||||||
);
|
);
|
||||||
@ -322,7 +324,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
|
|||||||
procMeshes_[proci].time().timeName(),
|
procMeshes_[proci].time().timeName(),
|
||||||
procMeshes_[proci],
|
procMeshes_[proci],
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procMeshes_[proci]
|
procMeshes_[proci]
|
||||||
)
|
)
|
||||||
@ -337,7 +340,8 @@ Foam::fvFieldReconstructor::reconstructFvVolumeField
|
|||||||
mesh_.time().timeName(),
|
mesh_.time().timeName(),
|
||||||
mesh_,
|
mesh_,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procFields
|
procFields
|
||||||
);
|
);
|
||||||
@ -574,7 +578,8 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
|
|||||||
procMeshes_[proci].time().timeName(),
|
procMeshes_[proci].time().timeName(),
|
||||||
procMeshes_[proci],
|
procMeshes_[proci],
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procMeshes_[proci]
|
procMeshes_[proci]
|
||||||
)
|
)
|
||||||
@ -589,7 +594,8 @@ Foam::fvFieldReconstructor::reconstructFvSurfaceField
|
|||||||
mesh_.time().timeName(),
|
mesh_.time().timeName(),
|
||||||
mesh_,
|
mesh_,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
procFields
|
procFields
|
||||||
);
|
);
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
========= |
|
========= |
|
||||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration | Website: https://openfoam.org
|
\\ / O peration | Website: https://openfoam.org
|
||||||
\\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -414,7 +414,8 @@ Foam::meshToMesh0::interpolate
|
|||||||
toMesh_.time().timeName(),
|
toMesh_.time().timeName(),
|
||||||
toMesh_,
|
toMesh_,
|
||||||
IOobject::NO_READ,
|
IOobject::NO_READ,
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
),
|
),
|
||||||
toMesh_,
|
toMesh_,
|
||||||
fromVf.dimensions(),
|
fromVf.dimensions(),
|
||||||
|
|||||||
@ -164,17 +164,9 @@ Foam::sampledSurface::pointAverage
|
|||||||
|
|
||||||
tmp<GeometricField<Type, fvPatchField, volMesh>> tcellAvg
|
tmp<GeometricField<Type, fvPatchField, volMesh>> tcellAvg
|
||||||
(
|
(
|
||||||
new GeometricField<Type, fvPatchField, volMesh>
|
GeometricField<Type, fvPatchField, volMesh>::New
|
||||||
(
|
|
||||||
IOobject
|
|
||||||
(
|
(
|
||||||
"cellAvg",
|
"cellAvg",
|
||||||
mesh.time().timeName(),
|
|
||||||
pfld.db(),
|
|
||||||
IOobject::NO_READ,
|
|
||||||
IOobject::NO_WRITE,
|
|
||||||
false
|
|
||||||
),
|
|
||||||
mesh,
|
mesh,
|
||||||
dimensioned<Type>("zero", dimless, Zero)
|
dimensioned<Type>("zero", dimless, Zero)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user