diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C index 2ae2b9108baca10b6e39cdba32191a8f34abc241..b35a6d2d444f511ff1154d4f29301a55bacc7cd0 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/CoEulerDdtScheme/CoEulerDdtScheme.C @@ -598,13 +598,6 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - const surfaceScalarField rDeltaT(fvc::interpolate(CorDeltaT())); fluxFieldType phiCorr @@ -616,7 +609,12 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( U.oldTime(), @@ -637,13 +635,6 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - const surfaceScalarField rDeltaT(fvc::interpolate(CorDeltaT())); fluxFieldType phiCorr @@ -655,7 +646,12 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -672,21 +668,14 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - - const surfaceScalarField rDeltaT(fvc::interpolate(CorDeltaT())); - if ( U.dimensions() == dimVelocity && Uf.dimensions() == dimDensity*dimVelocity ) { + const surfaceScalarField rDeltaT(fvc::interpolate(CorDeltaT())); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -701,7 +690,13 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( rhoU0, @@ -718,25 +713,7 @@ CoEulerDdtScheme<Type>::fvcDdtUfCorr && Uf.dimensions() == dimDensity*dimVelocity ) { - fluxFieldType phiCorr - ( - mesh().Sf() & (Uf.oldTime() - fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff - ( - U.oldTime(), - mesh().Sf() & Uf.oldTime(), - phiCorr - ) - *rDeltaT*phiCorr - ) - ); + return fvcDdtUfCorr(U, Uf); } else { @@ -760,21 +737,14 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - if ( U.dimensions() == dimVelocity && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { + dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -789,7 +759,13 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -801,20 +777,7 @@ CoEulerDdtScheme<Type>::fvcDdtPhiCorr && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { - fluxFieldType phiCorr - ( - phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) - *rDeltaT*phiCorr - ) - ); + return fvcDdtPhiCorr(U, phi); } else { diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C index d866f8c5854fd0e0d599c59d6373dad6ec7c7a96..7513ac287037b81f0aaceaa40af01f1b596d6cb6 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/CrankNicolsonDdtScheme/CrankNicolsonDdtScheme.C @@ -1130,32 +1130,47 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr U.dimensions() ); - dimensionedScalar rDeltaT = rDtCoef_(ddt0); + DDt0Field<GeometricField<Type, fvsPatchField, surfaceMesh> >& dUfdt0 = + ddt0_<GeometricField<Type, fvsPatchField, surfaceMesh> > + ( + "ddt0(" + Uf.name() + ')', + Uf.dimensions() + ); - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); + dimensionedScalar rDtCoef = rDtCoef_(ddt0); - fluxFieldType phiCorr - ( - mesh().Sf() & (Uf.oldTime() - fvc::interpolate(U.oldTime())) - ); + if (evaluate(ddt0)) + { + ddt0 = + rDtCoef0_(ddt0)*(U.oldTime() - U.oldTime().oldTime()) + - offCentre_(ddt0()); + } + + if (evaluate(dUfdt0)) + { + dUfdt0 = + rDtCoef0_(dUfdt0)*(Uf.oldTime() - Uf.oldTime().oldTime()) + - offCentre_(dUfdt0()); + } return tmp<fluxFieldType> ( new fluxFieldType ( - ddtIOobject, - this->fvcDdtPhiCoeff + IOobject ( - U.oldTime(), - mesh().Sf() & Uf.oldTime(), - phiCorr + "ddtCorr(" + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), + this->fvcDdtPhiCoeff(U.oldTime(), mesh().Sf() & Uf.oldTime()) + *( + mesh().Sf() + & ( + (rDtCoef*Uf.oldTime() + offCentre_(dUfdt0())) + - fvc::interpolate(rDtCoef*U.oldTime() + offCentre_(ddt0())) + ) ) - *rDeltaT*phiCorr ) ); } @@ -1176,27 +1191,47 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr U.dimensions() ); - dimensionedScalar rDeltaT = rDtCoef_(ddt0); + DDt0Field<fluxFieldType>& dphidt0 = + ddt0_<fluxFieldType> + ( + "ddt0(" + phi.name() + ')', + phi.dimensions() + ); - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); + dimensionedScalar rDtCoef = rDtCoef_(ddt0); - fluxFieldType phiCorr - ( - phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) - ); + if (evaluate(ddt0)) + { + ddt0 = + rDtCoef0_(ddt0)*(U.oldTime() - U.oldTime().oldTime()) + - offCentre_(ddt0()); + } + + if (evaluate(dphidt0)) + { + dphidt0 = + rDtCoef0_(dphidt0)*(phi.oldTime() - phi.oldTime().oldTime()) + - offCentre_(dphidt0()); + } return tmp<fluxFieldType> ( new fluxFieldType ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) - *rDeltaT*phiCorr + IOobject + ( + "ddtCorr(" + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), + this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime()) + *( + (rDtCoef*phi.oldTime() + offCentre_(dphidt0())) + - ( + mesh().Sf() + & fvc::interpolate(rDtCoef*U.oldTime() + offCentre_(ddt0())) + ) + ) ) ); } @@ -1211,13 +1246,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - if ( U.dimensions() == dimVelocity @@ -1231,30 +1259,55 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr U.dimensions() ); - dimensionedScalar rDeltaT = rDtCoef_(ddt0); + DDt0Field<GeometricField<Type, fvsPatchField, surfaceMesh> >& dUfdt0 = + ddt0_<GeometricField<Type, fvsPatchField, surfaceMesh> > + ( + "ddt0(" + Uf.name() + ')', + Uf.dimensions() + ); + + dimensionedScalar rDtCoef = rDtCoef_(ddt0); GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() ); - fluxFieldType phiCorr - ( - mesh().Sf() & (Uf.oldTime() - fvc::interpolate(rhoU0)) - ); + if (evaluate(ddt0)) + { + ddt0 = + rDtCoef0_(ddt0) + *(rhoU0 - rho.oldTime().oldTime()*U.oldTime().oldTime()) + - offCentre_(ddt0()); + } + + if (evaluate(dUfdt0)) + { + dUfdt0 = + rDtCoef0_(dUfdt0) + *(Uf.oldTime() - Uf.oldTime().oldTime()) + - offCentre_(dUfdt0()); + } tmp<fluxFieldType> ddtCorr ( new fluxFieldType ( - ddtIOobject, - this->fvcDdtPhiCoeff + IOobject ( - rhoU0, - mesh().Sf() & Uf.oldTime(), - phiCorr + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), + this->fvcDdtPhiCoeff(rhoU0, mesh().Sf() & Uf.oldTime()) + *( + mesh().Sf() + & ( + (rDtCoef*Uf.oldTime() + offCentre_(dUfdt0())) + - fvc::interpolate(rDtCoef*rhoU0 + offCentre_(ddt0())) + ) ) - *rDeltaT*phiCorr ) ); @@ -1266,36 +1319,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdtUfCorr && Uf.dimensions() == rho.dimensions()*dimVelocity ) { - DDt0Field<GeometricField<Type, fvPatchField, volMesh> >& ddt0 = - ddt0_<GeometricField<Type, fvPatchField, volMesh> > - ( - "ddt0(" + U.name() + ')', - U.dimensions() - ); - - dimensionedScalar rDeltaT = rDtCoef_(ddt0); - - fluxFieldType phiCorr - ( - mesh().Sf() & (Uf.oldTime() - fvc::interpolate(U.oldTime())) - ); - - tmp<fluxFieldType> ddtCorr - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff - ( - U.oldTime(), - mesh().Sf() & Uf.oldTime(), - phiCorr - ) - *rDeltaT*phiCorr - ) - ); - - return ddtCorr; + return fvcDdtUfCorr(U, Uf); } else { @@ -1319,13 +1343,6 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - if ( U.dimensions() == dimVelocity @@ -1339,25 +1356,55 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr U.dimensions() ); - dimensionedScalar rDeltaT = rDtCoef_(ddt0); + DDt0Field<fluxFieldType>& dphidt0 = + ddt0_<fluxFieldType> + ( + "ddt0(" + phi.name() + ')', + phi.dimensions() + ); + + dimensionedScalar rDtCoef = rDtCoef_(ddt0); GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() ); - fluxFieldType phiCorr - ( - phi.oldTime() - (mesh().Sf() & fvc::interpolate(rhoU0)) - ); + if (evaluate(ddt0)) + { + ddt0 = + rDtCoef0_(ddt0) + *(rhoU0 - rho.oldTime().oldTime()*U.oldTime().oldTime()) + - offCentre_(ddt0()); + } + + if (evaluate(dphidt0)) + { + dphidt0 = + rDtCoef0_(dphidt0) + *(phi.oldTime() - phi.oldTime().oldTime()) + - offCentre_(dphidt0()); + } tmp<fluxFieldType> ddtCorr ( new fluxFieldType ( - ddtIOobject, - this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), phiCorr) - *rDeltaT*phiCorr + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), + this->fvcDdtPhiCoeff(rhoU0, phi.oldTime()) + *( + (rDtCoef*phi.oldTime() + offCentre_(dphidt0())) + - ( + mesh().Sf() + & fvc::interpolate(rDtCoef*rhoU0 + offCentre_(ddt0())) + ) + ) ) ); @@ -1369,31 +1416,7 @@ CrankNicolsonDdtScheme<Type>::fvcDdtPhiCorr && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { - DDt0Field<GeometricField<Type, fvPatchField, volMesh> >& ddt0 = - ddt0_<GeometricField<Type, fvPatchField, volMesh> > - ( - "ddt0(" + U.name() + ')', - U.dimensions() - ); - - dimensionedScalar rDeltaT = rDtCoef_(ddt0); - - fluxFieldType phiCorr - ( - phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) - ); - - tmp<fluxFieldType> ddtCorr - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) - *rDeltaT*phiCorr - ) - ); - - return ddtCorr; + return fvcDdtPhiCorr(U, phi); } else { diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C index a9ba06b6e290c10876217fcd60b6674dcd638d4b..085bb99716e66a056713b9eeb0d8270774fed326 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/EulerDdtScheme/EulerDdtScheme.C @@ -489,13 +489,6 @@ EulerDdtScheme<Type>::fvcDdtUfCorr { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - fluxFieldType phiCorr ( mesh().Sf() & (Uf.oldTime() - fvc::interpolate(U.oldTime())) @@ -505,7 +498,12 @@ EulerDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( U.oldTime(), @@ -528,13 +526,6 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - fluxFieldType phiCorr ( phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) @@ -544,7 +535,12 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -561,21 +557,14 @@ EulerDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - if ( U.dimensions() == dimVelocity && Uf.dimensions() == rho.dimensions()*dimVelocity ) { + dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -590,7 +579,13 @@ EulerDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( rhoU0, @@ -607,25 +602,7 @@ EulerDdtScheme<Type>::fvcDdtUfCorr && Uf.dimensions() == rho.dimensions()*dimVelocity ) { - fluxFieldType phiCorr - ( - mesh().Sf() & (Uf.oldTime() - fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff - ( - U.oldTime(), - mesh().Sf() & Uf.oldTime(), - phiCorr - ) - *rDeltaT*phiCorr - ) - ); + return fvcDdtUfCorr(U, Uf); } else { @@ -649,21 +626,14 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - if ( U.dimensions() == dimVelocity && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { + dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -678,7 +648,13 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -690,20 +666,7 @@ EulerDdtScheme<Type>::fvcDdtPhiCorr && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { - fluxFieldType phiCorr - ( - phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) - *rDeltaT*phiCorr - ) - ); + return fvcDdtPhiCorr(U, phi); } else { diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C index a53301f560e368bbd82a956d296a6f0cb1a89724..9693974f59df3d88ef886ed4dd3ee8693c19a525 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/SLTSDdtScheme/SLTSDdtScheme.C @@ -600,13 +600,6 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - const surfaceScalarField rDeltaT(fvc::interpolate(SLrDeltaT())); fluxFieldType phiCorr @@ -618,7 +611,12 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( U.oldTime(), @@ -639,13 +637,6 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - const surfaceScalarField rDeltaT(fvc::interpolate(SLrDeltaT())); fluxFieldType phiCorr @@ -657,7 +648,12 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -674,21 +670,14 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - - const surfaceScalarField rDeltaT(fvc::interpolate(SLrDeltaT())); - if ( U.dimensions() == dimVelocity && Uf.dimensions() == dimDensity*dimVelocity ) { + const surfaceScalarField rDeltaT(fvc::interpolate(SLrDeltaT())); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -703,7 +692,13 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( rhoU0, @@ -720,25 +715,7 @@ SLTSDdtScheme<Type>::fvcDdtUfCorr && Uf.dimensions() == dimDensity*dimVelocity ) { - fluxFieldType phiCorr - ( - mesh().Sf() & (Uf.oldTime() - fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff - ( - U.oldTime(), - mesh().Sf() & Uf.oldTime(), - phiCorr - ) - *rDeltaT*phiCorr - ) - ); + return fvcDdtUfCorr(U, Uf); } else { @@ -762,21 +739,14 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - if ( U.dimensions() == dimVelocity && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { + dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -791,7 +761,13 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -803,20 +779,7 @@ SLTSDdtScheme<Type>::fvcDdtPhiCorr && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { - fluxFieldType phiCorr - ( - phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) - *rDeltaT*phiCorr - ) - ); + return fvcDdtPhiCorr(U, phi); } else { diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C index 3490fd38077bb22311610acac3ad7e45cbcec9ed..049fd781aba63cf6f691effefdb6e239683f4ea8 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/backwardDdtScheme/backwardDdtScheme.C @@ -683,13 +683,6 @@ backwardDdtScheme<Type>::fvcDdtUfCorr { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - scalar deltaT = deltaT_(); scalar deltaT0 = deltaT0_(U); @@ -701,7 +694,12 @@ backwardDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(U.oldTime(), (mesh().Sf() & Uf.oldTime())) *rDeltaT *( @@ -729,13 +727,6 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr { dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - scalar deltaT = deltaT_(); scalar deltaT0 = deltaT0_(U); @@ -747,7 +738,12 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime()) *rDeltaT *( @@ -774,28 +770,21 @@ backwardDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - - scalar deltaT = deltaT_(); - scalar deltaT0 = deltaT0_(U); - - scalar coefft = 1 + deltaT/(deltaT + deltaT0); - scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0)); - scalar coefft0 = coefft + coefft00; - if ( U.dimensions() == dimVelocity && Uf.dimensions() == rho.dimensions()*dimVelocity ) { + dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); + + scalar deltaT = deltaT_(); + scalar deltaT0 = deltaT0_(U); + + scalar coefft = 1 + deltaT/(deltaT + deltaT0); + scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0)); + scalar coefft0 = coefft + coefft00; + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -810,7 +799,13 @@ backwardDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(rhoU0, mesh().Sf() & Uf.oldTime()) *rDeltaT *( @@ -829,26 +824,7 @@ backwardDdtScheme<Type>::fvcDdtUfCorr && Uf.dimensions() == rho.dimensions()*dimVelocity ) { - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), mesh().Sf() & Uf.oldTime()) - *rDeltaT - *( - mesh().Sf() - & ( - (coefft0*Uf.oldTime() - coefft00*Uf.oldTime().oldTime()) - - fvc::interpolate - ( - coefft0*U.oldTime() - coefft00*U.oldTime().oldTime() - ) - ) - ) - ) - ); + return fvcDdtUfCorr(U, Uf); } else { @@ -872,28 +848,21 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - - scalar deltaT = deltaT_(); - scalar deltaT0 = deltaT0_(U); - - scalar coefft = 1 + deltaT/(deltaT + deltaT0); - scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0)); - scalar coefft0 = coefft + coefft00; - if ( U.dimensions() == dimVelocity && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { + dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); + + scalar deltaT = deltaT_(); + scalar deltaT0 = deltaT0_(U); + + scalar coefft = 1 + deltaT/(deltaT + deltaT0); + scalar coefft00 = deltaT*deltaT/(deltaT0*(deltaT + deltaT0)); + scalar coefft0 = coefft + coefft00; + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -908,7 +877,13 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(rhoU0, phi.oldTime()) *rDeltaT *( @@ -927,26 +902,7 @@ backwardDdtScheme<Type>::fvcDdtPhiCorr && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime()) - *rDeltaT - *( - (coefft0*phi.oldTime() - coefft00*phi.oldTime().oldTime()) - - ( - mesh().Sf() - & fvc::interpolate - ( - coefft0*U.oldTime() - coefft00*U.oldTime().oldTime() - ) - ) - ) - ) - ); + return fvcDdtPhiCorr(U, phi); } else { diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C index f308714ed84c2fabc7872e0604b4b60749d5fcff..50633ac4864f96be20a3f3284b86c5032e004f54 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme/localEulerDdtScheme.C @@ -495,13 +495,6 @@ localEulerDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - const surfaceScalarField rDeltaT(fvc::interpolate(localRDeltaT())); fluxFieldType phiCorr @@ -513,7 +506,12 @@ localEulerDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( U.oldTime(), @@ -534,13 +532,6 @@ localEulerDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - IOobject ddtIOobject - ( - "ddtCorr(" + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - const surfaceScalarField rDeltaT(fvc::interpolate(localRDeltaT())); fluxFieldType phiCorr @@ -552,7 +543,12 @@ localEulerDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -569,21 +565,14 @@ localEulerDdtScheme<Type>::fvcDdtUfCorr const GeometricField<Type, fvsPatchField, surfaceMesh>& Uf ) { - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', - mesh().time().timeName(), - mesh() - ); - - const surfaceScalarField rDeltaT(fvc::interpolate(localRDeltaT())); - if ( U.dimensions() == dimVelocity && Uf.dimensions() == dimDensity*dimVelocity ) { + const surfaceScalarField rDeltaT(fvc::interpolate(localRDeltaT())); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -598,7 +587,13 @@ localEulerDdtScheme<Type>::fvcDdtUfCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + Uf.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff ( rhoU0, @@ -615,25 +610,7 @@ localEulerDdtScheme<Type>::fvcDdtUfCorr && Uf.dimensions() == dimDensity*dimVelocity ) { - fluxFieldType phiCorr - ( - mesh().Sf() & (Uf.oldTime() - fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff - ( - U.oldTime(), - mesh().Sf() & Uf.oldTime(), - phiCorr - ) - *rDeltaT*phiCorr - ) - ); + return fvcDdtUfCorr(U, Uf); } else { @@ -657,21 +634,14 @@ localEulerDdtScheme<Type>::fvcDdtPhiCorr const fluxFieldType& phi ) { - dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); - - IOobject ddtIOobject - ( - "ddtCorr(" + rho.name() + ',' + U.name() + ',' + phi.name() + ')', - mesh().time().timeName(), - mesh() - ); - if ( U.dimensions() == dimVelocity && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { + dimensionedScalar rDeltaT = 1.0/mesh().time().deltaT(); + GeometricField<Type, fvPatchField, volMesh> rhoU0 ( rho.oldTime()*U.oldTime() @@ -686,7 +656,13 @@ localEulerDdtScheme<Type>::fvcDdtPhiCorr ( new fluxFieldType ( - ddtIOobject, + IOobject + ( + "ddtCorr(" + + rho.name() + ',' + U.name() + ',' + phi.name() + ')', + mesh().time().timeName(), + mesh() + ), this->fvcDdtPhiCoeff(rhoU0, phi.oldTime(), phiCorr) *rDeltaT*phiCorr ) @@ -698,20 +674,7 @@ localEulerDdtScheme<Type>::fvcDdtPhiCorr && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea ) { - fluxFieldType phiCorr - ( - phi.oldTime() - (mesh().Sf() & fvc::interpolate(U.oldTime())) - ); - - return tmp<fluxFieldType> - ( - new fluxFieldType - ( - ddtIOobject, - this->fvcDdtPhiCoeff(U.oldTime(), phi.oldTime(), phiCorr) - *rDeltaT*phiCorr - ) - ); + return fvcDdtPhiCorr(U, phi); } else {