diff --git a/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.C b/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.C index a4f8b5d97..e3399f468 100644 --- a/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.C +++ b/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.C @@ -44,17 +44,63 @@ template tmp > d2dt2 ( - GeometricField& vf + GeometricField& vf, + const word& name ) { return fv::d2dt2Scheme::New ( vf.mesh(), - vf.mesh().schemesDict().d2dt2Scheme("d2dt2(" + vf.name() + ')') + vf.mesh().schemesDict().d2dt2Scheme(name) )().fvmD2dt2(vf); } +template +tmp > +d2dt2 +( + const dimensionedScalar& rho, + GeometricField& vf, + const word& name +) +{ + return fv::d2dt2Scheme::New + ( + vf.mesh(), + vf.mesh().schemesDict().d2dt2Scheme(name) + )().fvmD2dt2(rho, vf); +} + + +template +tmp > +d2dt2 +( + const volScalarField& rho, + GeometricField& vf, + const word& name +) +{ + return fv::d2dt2Scheme::New + ( + vf.mesh(), + vf.mesh().schemesDict().d2dt2Scheme(name) + )().fvmD2dt2(rho, vf); +} + + +template +tmp > +d2dt2 +( + GeometricField& vf +) +{ + return fvm::d2dt2(vf, "d2dt2(" + vf.name() + ')'); +} + + template tmp > d2dt2 @@ -63,14 +109,7 @@ d2dt2 GeometricField& vf ) { - return fv::d2dt2Scheme::New - ( - vf.mesh(), - vf.mesh().schemesDict().d2dt2Scheme - ( - "d2dt2(" + rho.name() + ',' + vf.name() + ')' - ) - )().fvmD2dt2(rho, vf); + return fvm::d2dt2(rho, vf, "d2dt2(" + rho.name() + ',' + vf.name() + ')'); } @@ -82,14 +121,7 @@ d2dt2 GeometricField& vf ) { - return fv::d2dt2Scheme::New - ( - vf.mesh(), - vf.mesh().schemesDict().d2dt2Scheme - ( - "d2dt2(" + rho.name() + ',' + vf.name() + ')' - ) - )().fvmD2dt2(rho, vf); + return fvm::d2dt2(rho, vf, "d2dt2(" + rho.name() + ',' + vf.name() + ')'); } diff --git a/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.H b/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.H index 8424b741a..eb878c961 100644 --- a/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.H +++ b/src/finiteVolume/finiteVolume/fvm/fvmD2dt2.H @@ -53,7 +53,31 @@ namespace fvm tmp > d2dt2 ( const dimensionedScalar&, - GeometricField& + GeometricField&, + const word& name + ); + + template + tmp > d2dt2 + ( + GeometricField&, + const word& name + ); + + template + tmp > d2dt2 + ( + const volScalarField&, + GeometricField&, + const word& name + ); + + template + tmp > d2dt2 + ( + const dimensionedScalar&, + GeometricField&, + const word& name ); template diff --git a/src/finiteVolume/finiteVolume/fvm/fvmDdt.C b/src/finiteVolume/finiteVolume/fvm/fvmDdt.C index 851e4b255..cb31fe64e 100644 --- a/src/finiteVolume/finiteVolume/fvm/fvmDdt.C +++ b/src/finiteVolume/finiteVolume/fvm/fvmDdt.C @@ -44,17 +44,76 @@ template tmp > ddt ( - GeometricField& vf + GeometricField& vf, + const word& name ) { return fv::ddtScheme::New ( vf.mesh(), - vf.mesh().schemesDict().ddtScheme("ddt(" + vf.name() + ')') + vf.mesh().schemesDict().ddtScheme(name) )().fvmDdt(vf); } +template +tmp > +ddt +( + const geometricOneField&, + GeometricField& vf, + const word& name +) +{ + return fvm::ddt(vf, name); +} + + +template +tmp > +ddt +( + const dimensionedScalar& rho, + GeometricField& vf, + const word& name +) +{ + return fv::ddtScheme::New + ( + vf.mesh(), + vf.mesh().schemesDict().ddtScheme(name) + )().fvmDdt(rho, vf); +} + + +template +tmp > +ddt +( + const volScalarField& rho, + GeometricField& vf, + const word& name +) +{ + return fv::ddtScheme::New + ( + vf.mesh(), + vf.mesh().schemesDict().ddtScheme(name) + )().fvmDdt(rho, vf); +} + + +template +tmp > +ddt +( + GeometricField& vf +) +{ + return fvm::ddt(vf, "ddt(" + vf.name() + ')'); +} + + template tmp > ddt @@ -63,7 +122,7 @@ ddt GeometricField& vf ) { - return ddt(vf); + return fvm::ddt(vf); } @@ -75,14 +134,7 @@ ddt GeometricField& vf ) { - return fv::ddtScheme::New - ( - vf.mesh(), - vf.mesh().schemesDict().ddtScheme - ( - "ddt(" + rho.name() + ',' + vf.name() + ')' - ) - )().fvmDdt(rho, vf); + return fvm::ddt(rho, vf, "ddt(" + rho.name() + ',' + vf.name() + ')'); } @@ -94,14 +146,7 @@ ddt GeometricField& vf ) { - return fv::ddtScheme::New - ( - vf.mesh(), - vf.mesh().schemesDict().ddtScheme - ( - "ddt(" + rho.name() + ',' + vf.name() + ')' - ) - )().fvmDdt(rho, vf); + return fvm::ddt(rho, vf, "ddt(" + rho.name() + ',' + vf.name() + ')'); } diff --git a/src/finiteVolume/finiteVolume/fvm/fvmDdt.H b/src/finiteVolume/finiteVolume/fvm/fvmDdt.H index b31c9f743..5024d8d68 100644 --- a/src/finiteVolume/finiteVolume/fvm/fvmDdt.H +++ b/src/finiteVolume/finiteVolume/fvm/fvmDdt.H @@ -50,6 +50,37 @@ namespace Foam namespace fvm { + template + tmp > ddt + ( + GeometricField&, + const word& name + ); + + template + tmp > ddt + ( + const geometricOneField&, + GeometricField&, + const word& name + ); + + template + tmp > ddt + ( + const dimensionedScalar&, + GeometricField&, + const word& name + ); + + template + tmp > ddt + ( + const volScalarField&, + GeometricField&, + const word& name + ); + template tmp > ddt (