diff --git a/applications/solvers/DNS/dnsFoam/createFields.H b/applications/solvers/DNS/dnsFoam/createFields.H index 64f4ccf465..5db1728137 100644 --- a/applications/solvers/DNS/dnsFoam/createFields.H +++ b/applications/solvers/DNS/dnsFoam/createFields.H @@ -1,4 +1,4 @@ -#include "readTransportProperties.H" +#include "readPhysicalProperties.H" Info<< "Reading field p\n" << endl; volScalarField p diff --git a/applications/solvers/DNS/dnsFoam/readTransportProperties.H b/applications/solvers/DNS/dnsFoam/readPhysicalProperties.H similarity index 62% rename from applications/solvers/DNS/dnsFoam/readTransportProperties.H rename to applications/solvers/DNS/dnsFoam/readPhysicalProperties.H index 458ba2481f..64d8cc1432 100644 --- a/applications/solvers/DNS/dnsFoam/readTransportProperties.H +++ b/applications/solvers/DNS/dnsFoam/readPhysicalProperties.H @@ -1,10 +1,10 @@ - Info<< "Reading transportProperties\n" << endl; + Info<< "Reading physicalProperties\n" << endl; - IOdictionary transportProperties + IOdictionary physicalProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -16,5 +16,5 @@ ( "nu", dimViscosity, - transportProperties + physicalProperties ); diff --git a/applications/solvers/basic/laplacianFoam/createFields.H b/applications/solvers/basic/laplacianFoam/createFields.H index 14c54aaf62..527fb6dd1c 100644 --- a/applications/solvers/basic/laplacianFoam/createFields.H +++ b/applications/solvers/basic/laplacianFoam/createFields.H @@ -14,13 +14,13 @@ volScalarField T ); -Info<< "Reading transportProperties\n" << endl; +Info<< "Reading physicalProperties\n" << endl; -IOdictionary transportProperties +IOdictionary physicalProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -33,7 +33,7 @@ Info<< "Reading diffusivity DT\n" << endl; dimensionedScalar DT ( - transportProperties.lookup("DT") + physicalProperties.lookup("DT") ); #include "createFvModels.H" diff --git a/applications/solvers/basic/scalarTransportFoam/createFields.H b/applications/solvers/basic/scalarTransportFoam/createFields.H index 9233d4b6fa..52597d5c3e 100644 --- a/applications/solvers/basic/scalarTransportFoam/createFields.H +++ b/applications/solvers/basic/scalarTransportFoam/createFields.H @@ -30,13 +30,13 @@ volVectorField U ); -Info<< "Reading transportProperties\n" << endl; +Info<< "Reading physicalProperties\n" << endl; -IOdictionary transportProperties +IOdictionary physicalProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -49,7 +49,7 @@ Info<< "Reading diffusivity DT\n" << endl; dimensionedScalar DT ( - transportProperties.lookup("DT") + physicalProperties.lookup("DT") ); #include "createPhi.H" diff --git a/applications/solvers/combustion/PDRFoam/Make/options b/applications/solvers/combustion/PDRFoam/Make/options index 7f5edb28be..7e4c24f6cb 100644 --- a/applications/solvers/combustion/PDRFoam/Make/options +++ b/applications/solvers/combustion/PDRFoam/Make/options @@ -20,7 +20,7 @@ EXE_INC = \ -IPDRModels/turbulence/PDRkEpsilon \ -IlaminarFlameSpeed/SCOPE \ -I$(LIB_SRC)/engine/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/combustion/PDRFoam/PDRFoam.C b/applications/solvers/combustion/PDRFoam/PDRFoam.C index a717493468..130ff2facf 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoam.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoam.C @@ -69,7 +69,7 @@ Description #include "fvCFD.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "laminarFlameSpeed.H" #include "XiModel.H" diff --git a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C index 6cc811992f..f6e1af6ca2 100644 --- a/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C +++ b/applications/solvers/combustion/PDRFoam/PDRFoamAutoRefine.C @@ -58,7 +58,7 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "laminarFlameSpeed.H" #include "XiModel.H" #include "PDRDragModel.H" diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H index 440583fbd5..e8d88100e1 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H +++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/PDRDragModel/PDRDragModel.H @@ -38,7 +38,7 @@ SourceFiles #include "IOdictionary.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "multivariateSurfaceInterpolationScheme.H" #include "runTimeSelectionTables.H" diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C index 4aaa2289f3..6e72f4e038 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/dragModels/basic/basic.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -113,7 +113,7 @@ Foam::tmp Foam::PDRDragModels::basic::Dcu() const U_.db().lookupObject("betav"); DragDcu = - (0.5*rho_)*CR_*mag(U_) + (Csu*I)*betav*turbulence_.muEff()*sqr(Aw_); + rho_*(0.5*CR_*mag(U_) + (Csu*I)*betav*turbulence_.nuEff()*sqr(Aw_)); } return tDragDcu; @@ -143,8 +143,11 @@ Foam::tmp Foam::PDRDragModels::basic::Gk() const U_.db().lookupObject("CT"); Gk = - (0.5*rho_)*mag(U_)*(U_ & CT & U_) - + Csk*betav*turbulence_.muEff()*sqr(Aw_)*magSqr(U_); + rho_ + *( + 0.5*mag(U_)*(U_ & CT & U_) + + Csk*betav*turbulence_.nuEff()*sqr(Aw_)*magSqr(U_) + ); } return tGk; diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C index 322e3a441f..c05533a103 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C @@ -50,7 +50,7 @@ PDRkEpsilon::PDRkEpsilon const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const dynamicTransportModel& transport, + const viscosity& transport, const word& modelName ) : diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H index 7374218a44..0c958e9500 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H +++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H @@ -61,7 +61,7 @@ SourceFiles #define compressible_PDRkEpsilon_H #include "kEpsilon.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -102,7 +102,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const dynamicTransportModel& transport, + const viscosity& transport, const word& modelName = typeName ); diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H index e79d703503..2a855f81b2 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiEqModels/XiEqModel/XiEqModel.H @@ -43,7 +43,7 @@ SourceFiles #include "IOdictionary.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -137,10 +137,7 @@ public: // Member Functions //- Return the flame-wrinkling XiEq - virtual tmp XiEq() const - { - return turbulence_.muEff(); - } + virtual tmp XiEq() const = 0; //- Return the sub-grid Schelkin effect tmp calculateSchelkinEffect(const scalar) const; diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H index 4745b0b594..bb928e5a19 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiGModels/XiGModel/XiGModel.H @@ -40,7 +40,7 @@ SourceFiles #include "IOdictionary.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -133,7 +133,11 @@ public: //- Return the flame diffusivity virtual tmp Db() const { - return turbulence_.muEff(); + return volScalarField::New + ( + "Db", + turbulence_.rho()*turbulence_.nuEff() + ); } //- Update properties from given dictionary diff --git a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H index b5fa2a80cd..3b53a27583 100644 --- a/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H +++ b/applications/solvers/combustion/PDRFoam/XiModels/XiModel/XiModel.H @@ -92,7 +92,7 @@ SourceFiles #include "IOdictionary.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "multivariateSurfaceInterpolationScheme.H" #include "fvcDiv.H" #include "runTimeSelectionTables.H" @@ -208,7 +208,11 @@ public: //- Return the flame diffusivity virtual tmp Db() const { - return turbulence_.muEff(); + return volScalarField::New + ( + "Db", + turbulence_.rho()*turbulence_.nuEff() + ); } //- Add Xi to the multivariateSurfaceInterpolationScheme table diff --git a/applications/solvers/combustion/PDRFoam/bEqn.H b/applications/solvers/combustion/PDRFoam/bEqn.H index 286174e3ef..7a79feda4a 100644 --- a/applications/solvers/combustion/PDRFoam/bEqn.H +++ b/applications/solvers/combustion/PDRFoam/bEqn.H @@ -9,7 +9,7 @@ tmp> mvConvection ) ); -volScalarField Db("Db", turbulence->muEff()); +volScalarField Db("Db", rho*turbulence->nuEff()); if (ign.ignited()) { diff --git a/applications/solvers/combustion/XiFoam/Make/options b/applications/solvers/combustion/XiFoam/Make/options index 863ea89a1e..41129952c3 100644 --- a/applications/solvers/combustion/XiFoam/Make/options +++ b/applications/solvers/combustion/XiFoam/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I$(LIB_SRC)/engine/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options b/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options index c6164aa831..2f7f431fd1 100644 --- a/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options +++ b/applications/solvers/combustion/XiFoam/XiEngineFoam/Make/options @@ -4,7 +4,7 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/engine/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C b/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C index 5b236544cc..8aaa4333e2 100644 --- a/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C +++ b/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C @@ -52,7 +52,7 @@ Description #include "engineTime.H" #include "engineMesh.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "laminarFlameSpeed.H" #include "ignition.H" diff --git a/applications/solvers/combustion/XiFoam/XiFoam.C b/applications/solvers/combustion/XiFoam/XiFoam.C index 771d374a3e..f60c9bfae0 100644 --- a/applications/solvers/combustion/XiFoam/XiFoam.C +++ b/applications/solvers/combustion/XiFoam/XiFoam.C @@ -51,7 +51,7 @@ Description #include "fvCFD.H" #include "psiuReactionThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "laminarFlameSpeed.H" #include "ignition.H" diff --git a/applications/solvers/combustion/chemFoam/Make/options b/applications/solvers/combustion/chemFoam/Make/options index 57c07e83c3..48bf7190c3 100644 --- a/applications/solvers/combustion/chemFoam/Make/options +++ b/applications/solvers/combustion/chemFoam/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ diff --git a/applications/solvers/combustion/coldEngineFoam/Make/options b/applications/solvers/combustion/coldEngineFoam/Make/options index 99ca8a8547..aba4841b42 100644 --- a/applications/solvers/combustion/coldEngineFoam/Make/options +++ b/applications/solvers/combustion/coldEngineFoam/Make/options @@ -4,7 +4,7 @@ EXE_INC = \ -I../XiFoam \ -I../../compressible/rhoPimpleFoam \ -I$(LIB_SRC)/engine/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C index e0394d3c7b..9c24be056a 100644 --- a/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C +++ b/applications/solvers/combustion/coldEngineFoam/coldEngineFoam.C @@ -33,7 +33,7 @@ Description #include "engineTime.H" #include "engineMesh.H" #include "psiThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "OFstream.H" #include "fvModels.H" diff --git a/applications/solvers/combustion/reactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/Make/options index 452cf6b54f..d03ceba7ba 100644 --- a/applications/solvers/combustion/reactingFoam/Make/options +++ b/applications/solvers/combustion/reactingFoam/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/fluidReactionThermo/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ diff --git a/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/Make/options b/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/Make/options index a7216c0f3d..e5daf02f6a 100644 --- a/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/Make/options +++ b/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/Make/options @@ -5,7 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/fluidReactionThermo/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ diff --git a/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/buoyantReactingFoam.C b/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/buoyantReactingFoam.C index 9c95e2cdf6..a18d2bc54f 100644 --- a/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/buoyantReactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/buoyantReactingFoam/buoyantReactingFoam.C @@ -38,7 +38,7 @@ Description #include "dynamicFvMesh.H" #include "fluidReactionThermo.H" #include "combustionModel.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidReactionThermophysicalTransportModel.H" #include "multivariateScheme.H" #include "pimpleControl.H" diff --git a/applications/solvers/combustion/reactingFoam/engineFoam/Make/options b/applications/solvers/combustion/reactingFoam/engineFoam/Make/options index d5272d715e..2b0f11293d 100644 --- a/applications/solvers/combustion/reactingFoam/engineFoam/Make/options +++ b/applications/solvers/combustion/reactingFoam/engineFoam/Make/options @@ -10,7 +10,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/fluidReactionThermo/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ diff --git a/applications/solvers/combustion/reactingFoam/engineFoam/engineFoam.C b/applications/solvers/combustion/reactingFoam/engineFoam/engineFoam.C index f8c5bf8da8..3796f67e34 100644 --- a/applications/solvers/combustion/reactingFoam/engineFoam/engineFoam.C +++ b/applications/solvers/combustion/reactingFoam/engineFoam/engineFoam.C @@ -32,7 +32,7 @@ Description #include "fvCFD.H" #include "engineMesh.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidReactionThermophysicalTransportModel.H" #include "combustionModel.H" #include "fvModels.H" diff --git a/applications/solvers/combustion/reactingFoam/reactingFoam.C b/applications/solvers/combustion/reactingFoam/reactingFoam.C index 50ab3fdded..d7fe743e52 100644 --- a/applications/solvers/combustion/reactingFoam/reactingFoam.C +++ b/applications/solvers/combustion/reactingFoam/reactingFoam.C @@ -37,7 +37,7 @@ Description #include "dynamicFvMesh.H" #include "fluidReactionThermo.H" #include "combustionModel.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidReactionThermophysicalTransportModel.H" #include "multivariateScheme.H" #include "pimpleControl.H" diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/Make/options b/applications/solvers/compressible/rhoCentralFoam/BCs/Make/options index 5c94e7683d..3c16cbd9d5 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/Make/options +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C index 64daa8b36e..faa95cee43 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -178,7 +178,7 @@ void Foam::smoluchowskiJumpTFvPatchScalarField::updateCoeffs() // Prandtl number reading consistent with rhoCentralFoam const dictionary& thermophysicalProperties = - db().lookupObject(basicThermo::dictName); + db().lookupObject(physicalProperties::typeName); dimensionedScalar Pr ( diff --git a/applications/solvers/compressible/rhoCentralFoam/Make/options b/applications/solvers/compressible/rhoCentralFoam/Make/options index 8d64c06be7..b102a60f67 100644 --- a/applications/solvers/compressible/rhoCentralFoam/Make/options +++ b/applications/solvers/compressible/rhoCentralFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -IBCs/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C index 468353c388..9d7cd90004 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C @@ -33,7 +33,7 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" #include "psiThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "fixedRhoFvPatchScalarField.H" #include "directionInterpolate.H" @@ -191,7 +191,7 @@ int main(int argc, char *argv[]) phiEp += mesh.phi()*(a_pos*p_pos + a_neg*p_neg); } - volScalarField muEff("muEff", turbulence->muEff()); + volScalarField muEff("muEff", rho*turbulence->nuEff()); volTensorField tauMC("tauMC", muEff*dev2(Foam::T(fvc::grad(U)))); // --- Solve density diff --git a/applications/solvers/compressible/rhoPimpleFoam/Make/options b/applications/solvers/compressible/rhoPimpleFoam/Make/options index 785535e629..e59bbf84c5 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/Make/options +++ b/applications/solvers/compressible/rhoPimpleFoam/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C index b31f7135c9..d7de830961 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C +++ b/applications/solvers/compressible/rhoPimpleFoam/rhoPimpleFoam.C @@ -36,7 +36,7 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" #include "fluidThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "pimpleControl.H" #include "pressureReference.H" diff --git a/applications/solvers/compressible/rhoSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/Make/options index 37f48b6b6c..5703b6fa05 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/Make/options +++ b/applications/solvers/compressible/rhoSimpleFoam/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options index f38d10dde2..c02a5b9cd4 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I. \ -I.. \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C index f6ba62632e..2dc3ac8e59 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C @@ -32,7 +32,7 @@ Description #include "fvCFD.H" #include "fluidThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "simpleControl.H" #include "pressureReference.H" diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C index 6d0af5d6a9..6a148c3135 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C @@ -31,7 +31,7 @@ Description #include "fvCFD.H" #include "fluidThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "simpleControl.H" #include "pressureReference.H" diff --git a/applications/solvers/electromagnetics/magneticFoam/createFields.H b/applications/solvers/electromagnetics/magneticFoam/createFields.H index 530cf92834..da9b03317d 100644 --- a/applications/solvers/electromagnetics/magneticFoam/createFields.H +++ b/applications/solvers/electromagnetics/magneticFoam/createFields.H @@ -12,13 +12,13 @@ mesh ); - Info<< "Reading transportProperties\n" << endl; + Info<< "Reading physicalProperties\n" << endl; - IOdictionary transportProperties + IOdictionary physicalProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -26,7 +26,7 @@ ) ); - List magnets(transportProperties.lookup("magnets")); + List magnets(physicalProperties.lookup("magnets")); surfaceScalarField murf ( @@ -58,7 +58,7 @@ if (magnetZonei == -1) { - FatalIOErrorIn(args.executable().c_str(), transportProperties) + FatalIOErrorIn(args.executable().c_str(), physicalProperties) << "Cannot find faceZone for magnet " << magnets[i].name() << exit(FatalIOError); } diff --git a/applications/solvers/electromagnetics/mhdFoam/createFields.H b/applications/solvers/electromagnetics/mhdFoam/createFields.H index 0cf92240a9..9652764703 100644 --- a/applications/solvers/electromagnetics/mhdFoam/createFields.H +++ b/applications/solvers/electromagnetics/mhdFoam/createFields.H @@ -1,10 +1,10 @@ -Info<< "Reading transportProperties\n" << endl; +Info<< "Reading physicalProperties\n" << endl; -IOdictionary transportProperties +IOdictionary physicalProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -16,28 +16,28 @@ dimensionedScalar rho ( "rho", dimDensity, - transportProperties + physicalProperties ); dimensionedScalar nu ( "nu", dimViscosity, - transportProperties + physicalProperties ); dimensionedScalar mu ( "mu", dimensionSet(1, 1, -2, 0, 0, -2, 0), - transportProperties + physicalProperties ); dimensionedScalar sigma ( "sigma", dimensionSet(-1, -3, 3, 0, 0, 2, 0), - transportProperties + physicalProperties ); Info<< "Reading field p\n" << endl; diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options index cb8c0b630d..d6039ba98b 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I. \ -I../../compressible/rhoPimpleFoam \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C index 642f3cd898..3adff9fdcc 100644 --- a/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantPimpleFoam/buoyantPimpleFoam.C @@ -37,7 +37,7 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" #include "fluidThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "pimpleControl.H" #include "pressureReference.H" diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options index 72a937ca70..d96367798b 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/cfdTools \ -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C index 12b0ae5a92..7af23b4736 100644 --- a/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C +++ b/applications/solvers/heatTransfer/buoyantSimpleFoam/buoyantSimpleFoam.C @@ -31,7 +31,7 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "simpleControl.H" #include "pressureReference.H" diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options index cf7750245a..a42d3e7cd1 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/Make/options @@ -9,7 +9,7 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/finiteVolume/cfdTools \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C index cd09007eda..ab3ba5b468 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionFoam.C @@ -32,7 +32,7 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidReactionThermophysicalTransportModel.H" #include "fluidReactionThermo.H" #include "combustionModel.H" diff --git a/applications/solvers/heatTransfer/thermoFoam/Make/options b/applications/solvers/heatTransfer/thermoFoam/Make/options index 03ee5e99fe..ccc800aa8f 100644 --- a/applications/solvers/heatTransfer/thermoFoam/Make/options +++ b/applications/solvers/heatTransfer/thermoFoam/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C index c891b0da46..9ba172b41b 100644 --- a/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C +++ b/applications/solvers/heatTransfer/thermoFoam/thermoFoam.C @@ -31,7 +31,7 @@ Description #include "fvCFD.H" #include "fluidThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidThermophysicalTransportModel.H" #include "LESModel.H" #include "fvModels.H" diff --git a/applications/solvers/incompressible/adjointShapeOptimisationFoam/Make/options b/applications/solvers/incompressible/adjointShapeOptimisationFoam/Make/options index 9cd84523b3..6c02c5908a 100644 --- a/applications/solvers/incompressible/adjointShapeOptimisationFoam/Make/options +++ b/applications/solvers/incompressible/adjointShapeOptimisationFoam/Make/options @@ -4,14 +4,14 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -lfvModels \ diff --git a/applications/solvers/incompressible/adjointShapeOptimisationFoam/adjointShapeOptimisationFoam.C b/applications/solvers/incompressible/adjointShapeOptimisationFoam/adjointShapeOptimisationFoam.C index 47cfcce01c..dd069ccec7 100644 --- a/applications/solvers/incompressible/adjointShapeOptimisationFoam/adjointShapeOptimisationFoam.C +++ b/applications/solvers/incompressible/adjointShapeOptimisationFoam/adjointShapeOptimisationFoam.C @@ -46,8 +46,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "simpleControl.H" #include "pressureReference.H" #include "fvModels.H" @@ -91,7 +91,7 @@ int main(int argc, char *argv[]) { Info<< "Time = " << runTime.timeName() << nl << endl; - laminarTransport.lookup("lambda") >> lambda; + viscosity->lookup("lambda") >> lambda; // alpha += // mesh.relaxationFactor("alpha") @@ -238,7 +238,7 @@ int main(int argc, char *argv[]) fvConstraints.constrain(Ua); } - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); runTime.write(); diff --git a/applications/solvers/incompressible/adjointShapeOptimisationFoam/createFields.H b/applications/solvers/incompressible/adjointShapeOptimisationFoam/createFields.H index 91b1a9c9c7..6873aaa984 100644 --- a/applications/solvers/incompressible/adjointShapeOptimisationFoam/createFields.H +++ b/applications/solvers/incompressible/adjointShapeOptimisationFoam/createFields.H @@ -77,19 +77,19 @@ setRefCell mesh.setFluxRequired(pa.name()); -singlePhaseTransportModel laminarTransport(U, phi); +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); dimensionedScalar zeroSensitivity("0", dimVelocity*dimVelocity, 0.0); dimensionedScalar zeroAlpha("0", dimless/dimTime, 0.0); -dimensionedScalar lambda(laminarTransport.lookup("lambda")); -dimensionedScalar alphaMax(laminarTransport.lookup("alphaMax")); +dimensionedScalar lambda(viscosity->lookup("lambda")); +dimensionedScalar alphaMax(viscosity->lookup("alphaMax")); const labelList& inletCells = mesh.boundary()["inlet"].faceCells(); //const labelList& outletCells = mesh.boundary()["outlet"].faceCells(); diff --git a/applications/solvers/incompressible/boundaryFoam/Make/options b/applications/solvers/incompressible/boundaryFoam/Make/options index e9fde509b2..d138c73b43 100644 --- a/applications/solvers/incompressible/boundaryFoam/Make/options +++ b/applications/solvers/incompressible/boundaryFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude @@ -9,7 +9,7 @@ EXE_INC = \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -lfvModels \ diff --git a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C index 540850701d..74ab3e86bc 100644 --- a/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C +++ b/applications/solvers/incompressible/boundaryFoam/boundaryFoam.C @@ -36,8 +36,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "fvModels.H" #include "fvConstraints.H" #include "wallFvPatch.H" @@ -91,7 +91,7 @@ int main(int argc, char *argv[]) U += (Ubar - UbarStar); gradP += (Ubar - UbarStar)/(1.0/UEqn.A())().weightedAverage(mesh.V()); - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); Info<< "Uncorrected Ubar = " << (flowDirection & UbarStar.value()) diff --git a/applications/solvers/incompressible/boundaryFoam/createFields.H b/applications/solvers/incompressible/boundaryFoam/createFields.H index 6fd6cc2eae..c92e2f4563 100644 --- a/applications/solvers/incompressible/boundaryFoam/createFields.H +++ b/applications/solvers/incompressible/boundaryFoam/createFields.H @@ -29,14 +29,14 @@ surfaceScalarField phi ); -singlePhaseTransportModel laminarTransport(U, phi); +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); -dimensionedVector Ubar("Ubar", dimVelocity, laminarTransport); +dimensionedVector Ubar("Ubar", dimVelocity, viscosity); vector flowDirection = (Ubar/mag(Ubar)).value(); tensor flowMask = sqr(flowDirection); diff --git a/applications/solvers/incompressible/icoFoam/createFields.H b/applications/solvers/incompressible/icoFoam/createFields.H index bdaef3a7bf..89a19b02d0 100644 --- a/applications/solvers/incompressible/icoFoam/createFields.H +++ b/applications/solvers/incompressible/icoFoam/createFields.H @@ -1,10 +1,10 @@ -Info<< "Reading transportProperties\n" << endl; +Info<< "Reading physicalProperties\n" << endl; -IOdictionary transportProperties +IOdictionary physicalProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, @@ -16,7 +16,7 @@ dimensionedScalar nu ( "nu", dimViscosity, - transportProperties.lookup("nu") + physicalProperties.lookup("nu") ); Info<< "Reading field p\n" << endl; diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/files b/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/files deleted file mode 100644 index 8b68719cc8..0000000000 --- a/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -nonNewtonianIcoFoam.C - -EXE = $(FOAM_APPBIN)/nonNewtonianIcoFoam diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options b/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options deleted file mode 100644 index 6e8477ee1f..0000000000 --- a/applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options +++ /dev/null @@ -1,9 +0,0 @@ -EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ - -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/meshTools/lnInclude - -EXE_LIBS = \ - -ltransportModels \ - -lfiniteVolume \ - -lmeshTools diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/createFields.H b/applications/solvers/incompressible/nonNewtonianIcoFoam/createFields.H deleted file mode 100644 index d2ec50c881..0000000000 --- a/applications/solvers/incompressible/nonNewtonianIcoFoam/createFields.H +++ /dev/null @@ -1,40 +0,0 @@ -Info<< "Reading field p\n" << endl; -volScalarField p -( - IOobject - ( - "p", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh -); - - -Info<< "Reading field U\n" << endl; -volVectorField U -( - IOobject - ( - "U", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh -); - - -#include "createPhi.H" - - -singlePhaseTransportModel fluid(U, phi); - - -label pRefCell = 0; -scalar pRefValue = 0.0; -setRefCell(p, mesh.solutionDict().subDict("PISO"), pRefCell, pRefValue); -mesh.setFluxRequired(p.name()); diff --git a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C b/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C deleted file mode 100644 index 283a2cca3a..0000000000 --- a/applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C +++ /dev/null @@ -1,132 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Application - nonNewtonianIcoFoam - -Description - Transient solver for incompressible, laminar flow of non-Newtonian fluids. - -\*---------------------------------------------------------------------------*/ - -#include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "pisoControl.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -int main(int argc, char *argv[]) -{ - #include "postProcess.H" - - #include "setRootCaseLists.H" - #include "createTime.H" - #include "createMeshNoClear.H" - #include "createControl.H" - #include "createFields.H" - #include "initContinuityErrs.H" - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - - Info<< "\nStarting time loop\n" << endl; - - while (runTime.loop()) - { - Info<< "Time = " << runTime.timeName() << nl << endl; - - #include "CourantNo.H" - - fluid.correct(); - - // Momentum predictor - - fvVectorMatrix UEqn - ( - fvm::ddt(U) - + fvm::div(phi, U) - - fvm::laplacian(fluid.nu(), U) - - (fvc::grad(U) & fvc::grad(fluid.nu())) - ); - - if (piso.momentumPredictor()) - { - solve(UEqn == -fvc::grad(p)); - } - - // --- PISO loop - while (piso.correct()) - { - volScalarField rAU(1.0/UEqn.A()); - volVectorField HbyA(constrainHbyA(rAU*UEqn.H(), U, p)); - surfaceScalarField phiHbyA - ( - "phiHbyA", - fvc::flux(HbyA) - + fvc::interpolate(rAU)*fvc::ddtCorr(U, phi) - ); - - adjustPhi(phiHbyA, U, p); - - // Update the pressure BCs to ensure flux consistency - constrainPressure(p, U, phiHbyA, rAU); - - // Non-orthogonal pressure corrector loop - while (piso.correctNonOrthogonal()) - { - // Pressure corrector - - fvScalarMatrix pEqn - ( - fvm::laplacian(rAU, p) == fvc::div(phiHbyA) - ); - - pEqn.setReference(pRefCell, pRefValue); - - pEqn.solve(); - - if (piso.finalNonOrthogonalIter()) - { - phi = phiHbyA - pEqn.flux(); - } - } - - #include "continuityErrs.H" - - U = HbyA - rAU*fvc::grad(p); - U.correctBoundaryConditions(); - } - - runTime.write(); - - Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s" - << " ClockTime = " << runTime.elapsedClockTime() << " s" - << nl << endl; - } - - Info<< "End\n" << endl; - - return 0; -} - - -// ************************************************************************* // diff --git a/applications/solvers/incompressible/pimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/Make/options index 2d8191a31a..ce2bcfbff1 100644 --- a/applications/solvers/incompressible/pimpleFoam/Make/options +++ b/applications/solvers/incompressible/pimpleFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/dynamicFvMesh/lnInclude \ @@ -11,7 +11,7 @@ EXE_INC = \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lfvModels \ -lfvConstraints \ diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options index 9a581d5469..4ba3b90d76 100644 --- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options +++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I.. \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude @@ -11,7 +11,7 @@ EXE_INC = \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -lfvModels \ diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C index 78d4c8fbb1..594ea65876 100644 --- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C @@ -33,8 +33,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "pimpleControl.H" #include "pressureReference.H" #include "SRFModel.H" @@ -89,7 +89,7 @@ int main(int argc, char *argv[]) if (pimple.turbCorr()) { - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); } } diff --git a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H index a9873993e6..30b52c405e 100644 --- a/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H +++ b/applications/solvers/incompressible/pimpleFoam/SRFPimpleFoam/createFields.H @@ -63,11 +63,12 @@ volVectorField U Urel + SRF->U() ); -singlePhaseTransportModel laminarTransport(U, phi); + +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); #include "createFvModels.H" diff --git a/applications/solvers/incompressible/pimpleFoam/createFields.H b/applications/solvers/incompressible/pimpleFoam/createFields.H index 470539bece..ac1fb35a82 100644 --- a/applications/solvers/incompressible/pimpleFoam/createFields.H +++ b/applications/solvers/incompressible/pimpleFoam/createFields.H @@ -35,11 +35,11 @@ pressureReference pressureReference(p, pimple.dict()); mesh.setFluxRequired(p.name()); -singlePhaseTransportModel laminarTransport(U, phi); +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); #include "createMRF.H" diff --git a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C index b5fd548e49..980f9f2101 100644 --- a/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C +++ b/applications/solvers/incompressible/pimpleFoam/pimpleFoam.C @@ -34,8 +34,8 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "pimpleControl.H" #include "pressureReference.H" #include "CorrectPhi.H" @@ -125,7 +125,7 @@ int main(int argc, char *argv[]) if (pimple.turbCorr()) { - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); } } diff --git a/applications/solvers/incompressible/pisoFoam/Make/options b/applications/solvers/incompressible/pisoFoam/Make/options index e9fde509b2..d138c73b43 100644 --- a/applications/solvers/incompressible/pisoFoam/Make/options +++ b/applications/solvers/incompressible/pisoFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude @@ -9,7 +9,7 @@ EXE_INC = \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -lfvModels \ diff --git a/applications/solvers/incompressible/pisoFoam/createFields.H b/applications/solvers/incompressible/pisoFoam/createFields.H index da54ace63f..55be24f058 100644 --- a/applications/solvers/incompressible/pisoFoam/createFields.H +++ b/applications/solvers/incompressible/pisoFoam/createFields.H @@ -34,11 +34,11 @@ pressureReference pressureReference(p, piso.dict()); mesh.setFluxRequired(p.name()); -singlePhaseTransportModel laminarTransport(U, phi); +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); #include "createMRF.H" diff --git a/applications/solvers/incompressible/pisoFoam/pisoFoam.C b/applications/solvers/incompressible/pisoFoam/pisoFoam.C index a902dea027..80a36f47bd 100644 --- a/applications/solvers/incompressible/pisoFoam/pisoFoam.C +++ b/applications/solvers/incompressible/pisoFoam/pisoFoam.C @@ -35,8 +35,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "pisoControl.H" #include "pressureReference.H" #include "fvModels.H" @@ -80,7 +80,7 @@ int main(int argc, char *argv[]) } } - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); runTime.write(); diff --git a/applications/solvers/incompressible/simpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/Make/options index e9fde509b2..d138c73b43 100644 --- a/applications/solvers/incompressible/simpleFoam/Make/options +++ b/applications/solvers/incompressible/simpleFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude @@ -9,7 +9,7 @@ EXE_INC = \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -lfvModels \ diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options index 0b1a64dd42..16e116de85 100644 --- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options +++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I.. \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude @@ -11,7 +11,7 @@ EXE_INC = \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -lfvModels \ diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C index 5295eeefcd..2eb51ab046 100644 --- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C +++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "SRFModel.H" #include "simpleControl.H" #include "pressureReference.H" @@ -72,7 +72,7 @@ int main(int argc, char *argv[]) U = Urel + SRF->U(); - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); runTime.write(); diff --git a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H index 52ec69ed03..c9262e6f6f 100644 --- a/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H +++ b/applications/solvers/incompressible/simpleFoam/SRFSimpleFoam/createFields.H @@ -61,11 +61,12 @@ volVectorField U Urel + SRF->U() ); -singlePhaseTransportModel laminarTransport(U, phi); + +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); #include "createFvModels.H" diff --git a/applications/solvers/incompressible/simpleFoam/createFields.H b/applications/solvers/incompressible/simpleFoam/createFields.H index 8a010e005d..a78582362f 100644 --- a/applications/solvers/incompressible/simpleFoam/createFields.H +++ b/applications/solvers/incompressible/simpleFoam/createFields.H @@ -28,17 +28,15 @@ volVectorField U #include "createPhi.H" - pressureReference pressureReference(p, simple.dict()); mesh.setFluxRequired(p.name()); - -singlePhaseTransportModel laminarTransport(U, phi); +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); #include "createMRF.H" diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options index 0b1a64dd42..16e116de85 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I.. \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude @@ -11,7 +11,7 @@ EXE_INC = \ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -lfvModels \ diff --git a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C index 34117fc5f2..a627c94378 100644 --- a/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C +++ b/applications/solvers/incompressible/simpleFoam/porousSimpleFoam/porousSimpleFoam.C @@ -32,8 +32,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "simpleControl.H" #include "pressureReference.H" #include "IOporosityModelList.H" @@ -73,7 +73,7 @@ int main(int argc, char *argv[]) #include "pEqn.H" } - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); runTime.write(); diff --git a/applications/solvers/incompressible/simpleFoam/simpleFoam.C b/applications/solvers/incompressible/simpleFoam/simpleFoam.C index ba1c846d71..d92ce3f845 100644 --- a/applications/solvers/incompressible/simpleFoam/simpleFoam.C +++ b/applications/solvers/incompressible/simpleFoam/simpleFoam.C @@ -31,8 +31,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "simpleControl.H" #include "pressureReference.H" #include "fvModels.H" @@ -69,7 +69,7 @@ int main(int argc, char *argv[]) #include "pEqn.H" } - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); runTime.write(); diff --git a/applications/solvers/lagrangian/denseParticleFoam/Make/options b/applications/solvers/lagrangian/denseParticleFoam/Make/options index 995bd9a7d5..78203194a7 100644 --- a/applications/solvers/lagrangian/denseParticleFoam/Make/options +++ b/applications/solvers/lagrangian/denseParticleFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/parcel/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ @@ -18,7 +18,7 @@ EXE_LIBS = \ -llagrangian \ -llagrangianParcel \ -llagrangianParcelTurbulence \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lphaseIncompressibleMomentumTransportModels \ diff --git a/applications/solvers/lagrangian/denseParticleFoam/createFields.H b/applications/solvers/lagrangian/denseParticleFoam/createFields.H index 3adcfca213..1267eb73e8 100644 --- a/applications/solvers/lagrangian/denseParticleFoam/createFields.H +++ b/applications/solvers/lagrangian/denseParticleFoam/createFields.H @@ -6,7 +6,7 @@ word continuousPhaseName ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ @@ -65,13 +65,13 @@ mesh.setFluxRequired(p.name()); Info<< "Creating turbulence model\n" << endl; -singlePhaseTransportModel continuousPhaseTransport(Uc, phic); +autoPtr continuousPhaseViscosity(viscosityModel::New(mesh)); dimensionedScalar rhocValue ( IOobject::groupName("rho", continuousPhaseName), dimDensity, - continuousPhaseTransport.lookup + continuousPhaseViscosity->lookup ( IOobject::groupName("rho", continuousPhaseName) ) @@ -101,7 +101,7 @@ volScalarField muc IOobject::NO_READ, IOobject::AUTO_WRITE ), - rhoc*continuousPhaseTransport.nu() + rhoc*continuousPhaseViscosity->nu() ); Info << "Creating field alphac\n" << endl; @@ -154,7 +154,7 @@ autoPtr continuousPhaseTurbulence Uc, alphaPhic, phic, - continuousPhaseTransport + continuousPhaseViscosity ) ); diff --git a/applications/solvers/lagrangian/denseParticleFoam/denseParticleFoam.C b/applications/solvers/lagrangian/denseParticleFoam/denseParticleFoam.C index 82d4a923a7..db6268cf46 100644 --- a/applications/solvers/lagrangian/denseParticleFoam/denseParticleFoam.C +++ b/applications/solvers/lagrangian/denseParticleFoam/denseParticleFoam.C @@ -77,8 +77,8 @@ namespace Foam #include "fvCFD.H" #include "dynamicFvMesh.H" -#include "singlePhaseTransportModel.H" -#include "phaseKinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "phaseIncompressibleMomentumTransportModel.H" #include "pimpleControl.H" #include "pressureReference.H" #include "CorrectPhi.H" @@ -130,8 +130,8 @@ int main(int argc, char *argv[]) } } - continuousPhaseTransport.correct(); - muc = rhoc*continuousPhaseTransport.nu(); + continuousPhaseViscosity->correct(); + muc = rhoc*continuousPhaseViscosity->nu(); clouds.evolve(); diff --git a/applications/solvers/lagrangian/particleFoam/Make/options b/applications/solvers/lagrangian/particleFoam/Make/options index 82c02eaaba..e02ae263b7 100644 --- a/applications/solvers/lagrangian/particleFoam/Make/options +++ b/applications/solvers/lagrangian/particleFoam/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/parcel/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/regionModels/regionModel/lnInclude \ -I$(LIB_SRC)/regionModels/surfaceFilmModels/lnInclude \ @@ -16,7 +16,7 @@ EXE_LIBS = \ -llagrangianParcelTurbulence \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lregionModels \ -lsurfaceFilmModels \ diff --git a/applications/solvers/lagrangian/particleFoam/createFields.H b/applications/solvers/lagrangian/particleFoam/createFields.H index f64dcca81a..7039378a86 100644 --- a/applications/solvers/lagrangian/particleFoam/createFields.H +++ b/applications/solvers/lagrangian/particleFoam/createFields.H @@ -16,14 +16,10 @@ volVectorField U #include "createPhi.H" -singlePhaseTransportModel laminarTransport(U, phi); -dimensionedScalar rhoInfValue -( - "rhoInf", - dimDensity, - laminarTransport -); +autoPtr viscosity(viscosityModel::New(mesh)); + +dimensionedScalar rhoInfValue("rhoInf", dimDensity, viscosity); volScalarField rhoInf ( @@ -41,7 +37,7 @@ volScalarField rhoInf autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); volScalarField mu @@ -54,7 +50,7 @@ volScalarField mu IOobject::NO_READ, IOobject::AUTO_WRITE ), - laminarTransport.nu()*rhoInfValue + viscosity->nu()*rhoInfValue ); Info<< "Constructing clouds" << endl; diff --git a/applications/solvers/lagrangian/particleFoam/particleFoam.C b/applications/solvers/lagrangian/particleFoam/particleFoam.C index e8b6c6c96f..326f4a8fb6 100644 --- a/applications/solvers/lagrangian/particleFoam/particleFoam.C +++ b/applications/solvers/lagrangian/particleFoam/particleFoam.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -34,8 +34,8 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "parcelCloudList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -68,8 +68,8 @@ int main(int argc, char *argv[]) U.correctBoundaryConditions(); } - laminarTransport.correct(); - mu = laminarTransport.nu()*rhoInfValue; + viscosity->correct(); + mu = viscosity->nu()*rhoInfValue; clouds.evolve(); diff --git a/applications/solvers/lagrangian/rhoParticleFoam/Make/options b/applications/solvers/lagrangian/rhoParticleFoam/Make/options index 162e6345ab..74a499688e 100644 --- a/applications/solvers/lagrangian/rhoParticleFoam/Make/options +++ b/applications/solvers/lagrangian/rhoParticleFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/parcel/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C b/applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C index 243f99c926..004f4d0dba 100644 --- a/applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C +++ b/applications/solvers/lagrangian/rhoParticleFoam/rhoParticleFoam.C @@ -34,7 +34,7 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" #include "fluidThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "parcelCloudList.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/cavitatingFoam/Make/options b/applications/solvers/multiphase/cavitatingFoam/Make/options index d3338b6191..755ae51eef 100644 --- a/applications/solvers/multiphase/cavitatingFoam/Make/options +++ b/applications/solvers/multiphase/cavitatingFoam/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C index cee5b9033e..46a033f748 100644 --- a/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C +++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingFoam.C @@ -37,7 +37,7 @@ Description #include "dynamicFvMesh.H" #include "barotropicCompressibilityModel.H" #include "incompressibleTwoPhaseMixture.H" -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "CorrectPhi.H" #include "pimpleControl.H" diff --git a/applications/solvers/multiphase/cavitatingFoam/createFields.H b/applications/solvers/multiphase/cavitatingFoam/createFields.H index 2fedb2eccc..1ee1bee564 100644 --- a/applications/solvers/multiphase/cavitatingFoam/createFields.H +++ b/applications/solvers/multiphase/cavitatingFoam/createFields.H @@ -59,7 +59,7 @@ surfaceScalarField rhoPhi fvc::interpolate(rho)*phi ); -Info<< "Reading transportProperties\n" << endl; +Info<< "Reading phaseProperties\n" << endl; incompressibleTwoPhaseMixture mixture(U, phi); diff --git a/applications/solvers/multiphase/compressibleInterFoam/Allwclean b/applications/solvers/multiphase/compressibleInterFoam/Allwclean index 72a1c04927..e377785a2a 100755 --- a/applications/solvers/multiphase/compressibleInterFoam/Allwclean +++ b/applications/solvers/multiphase/compressibleInterFoam/Allwclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -wclean libso twoPhaseMixtureThermo +wclean libso compressibleTwoPhaseMixture wclean libso surfaceTensionModels wclean libso twoPhaseChange wclean libso compressibleInterPhaseTransportModel diff --git a/applications/solvers/multiphase/compressibleInterFoam/Allwmake b/applications/solvers/multiphase/compressibleInterFoam/Allwmake index 3b9b026f6b..b2dad33b7f 100755 --- a/applications/solvers/multiphase/compressibleInterFoam/Allwmake +++ b/applications/solvers/multiphase/compressibleInterFoam/Allwmake @@ -4,7 +4,7 @@ cd ${0%/*} || exit 1 # Run from this directory # Parse arguments for library compilation . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments -wmake $targetType twoPhaseMixtureThermo +wmake $targetType compressibleTwoPhaseMixture wmake $targetType surfaceTensionModels wmake $targetType twoPhaseChange wmake $targetType compressibleInterPhaseTransportModel diff --git a/applications/solvers/multiphase/compressibleInterFoam/Make/options b/applications/solvers/multiphase/compressibleInterFoam/Make/options index ad285d6040..6cc970b0d2 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/Make/options @@ -1,9 +1,9 @@ EXE_INC = \ -I. \ - -ItwoPhaseMixtureThermo \ + -IcompressibleTwoPhaseMixture \ -IcompressibleInterPhaseTransportModel/lnInclude \ -ItwoPhaseChange/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ @@ -17,10 +17,11 @@ EXE_INC = \ -I$(LIB_SRC)/dynamicMesh/lnInclude \ -I$(LIB_SRC)/dynamicFvMesh/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/fvModels/lnInclude EXE_LIBS = \ - -ltwoPhaseMixtureThermo \ + -lcompressibleTwoPhaseMixture \ -ltwoPhaseSurfaceTension \ -lfluidThermophysicalModels \ -lspecie \ diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/Make/options b/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/Make/options index f647f5a92e..37ac942c2d 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ - -I../twoPhaseMixtureThermo \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I../compressibleTwoPhaseMixture \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ @@ -10,13 +10,13 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - -ltwoPhaseMixtureThermo \ + -lcompressibleTwoPhaseMixture \ -lfluidThermophysicalModels \ -lspecie \ -ltwoPhaseMixture \ -ltwoPhaseProperties \ -linterfaceProperties \ - -ltransportModels \ + -lphysicalProperties \ -llagrangian \ -llagrangianParcel \ -llagrangianParcelTurbulence \ diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/VoFClouds.C b/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/VoFClouds.C index f70f1db305..061b907063 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/VoFClouds.C +++ b/applications/solvers/multiphase/compressibleInterFoam/VoFClouds/VoFClouds.C @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "VoFClouds.H" -#include "twoPhaseMixtureThermo.H" +#include "compressibleTwoPhaseMixture.H" #include "fvmSup.H" #include "uniformDimensionedFields.H" #include "addToRunTimeSelectionTable.H" @@ -64,14 +64,14 @@ Foam::fv::VoFClouds::VoFClouds ( mesh.lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ) ), carrierThermo_ ( mesh.lookupObject ( - IOobject::groupName(basicThermo::dictName, carrierPhaseName_) + IOobject::groupName(physicalProperties::typeName, carrierPhaseName_) ) ), clouds_ diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.C b/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.C index 41b0d860ec..d0833a7cc9 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.C +++ b/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.C @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "VoFSolidificationMeltingSource.H" -#include "twoPhaseMixtureThermo.H" +#include "compressibleTwoPhaseMixture.H" #include "fvcDdt.H" #include "zeroGradientFvPatchFields.H" #include "addToRunTimeSelectionTable.H" @@ -59,60 +59,13 @@ void Foam::fv::VoFSolidificationMeltingSource::readCoeffs() } -void Foam::fv::VoFSolidificationMeltingSource::update() const -{ - if (curTimeIndex_ == mesh().time().timeIndex()) - { - return; - } - - if (debug) - { - Info<< type() << ": " << name() - << " - updating solid phase fraction" << endl; - } - - alphaSolid_.oldTime(); - - const twoPhaseMixtureThermo& thermo - ( - mesh().lookupObject - ( - twoPhaseMixtureThermo::dictName - ) - ); - - const volScalarField& TVoF = thermo.thermo1().T(); - const volScalarField CpVoF(thermo.thermo1().Cp()); - const volScalarField& alphaVoF = thermo.alpha1(); - - const labelList& cells = set_.cells(); - - forAll(cells, i) - { - const label celli = cells[i]; - - alphaSolid_[celli] = min - ( - relax_*alphaVoF[celli]*alphaSolidT_->value(TVoF[celli]) - + (1 - relax_)*alphaSolid_[celli], - alphaVoF[celli] - ); - } - - alphaSolid_.correctBoundaryConditions(); - - curTimeIndex_ = mesh().time().timeIndex(); -} - - Foam::word Foam::fv::VoFSolidificationMeltingSource::alphaSolidName() const { - const twoPhaseMixtureThermo& thermo + const compressibleTwoPhaseMixture& thermo ( - mesh().lookupObject + mesh().lookupObject ( - twoPhaseMixtureThermo::dictName + "phaseProperties" ) ); @@ -152,8 +105,7 @@ Foam::fv::VoFSolidificationMeltingSource::VoFSolidificationMeltingSource mesh, dimensionedScalar(dimless, 0), zeroGradientFvPatchScalarField::typeName - ), - curTimeIndex_(-1) + ) { readCoeffs(); } @@ -179,13 +131,11 @@ void Foam::fv::VoFSolidificationMeltingSource::addSup Info<< type() << ": applying source to " << eqn.psi().name() << endl; } - update(); - - const twoPhaseMixtureThermo& thermo + const compressibleTwoPhaseMixture& thermo ( - mesh().lookupObject + mesh().lookupObject ( - twoPhaseMixtureThermo::dictName + "phaseProperties" ) ); @@ -214,8 +164,6 @@ void Foam::fv::VoFSolidificationMeltingSource::addSup Info<< type() << ": applying source to " << eqn.psi().name() << endl; } - update(); - scalarField& Sp = eqn.diag(); const scalarField& V = mesh().V(); @@ -243,6 +191,46 @@ void Foam::fv::VoFSolidificationMeltingSource::updateMesh } +void Foam::fv::VoFSolidificationMeltingSource::correct() +{ + if (debug) + { + Info<< type() << ": " << name() + << " - updating solid phase fraction" << endl; + } + + alphaSolid_.oldTime(); + + const compressibleTwoPhaseMixture& thermo + ( + mesh().lookupObject + ( + "phaseProperties" + ) + ); + + const volScalarField& TVoF = thermo.thermo1().T(); + const volScalarField CpVoF(thermo.thermo1().Cp()); + const volScalarField& alphaVoF = thermo.alpha1(); + + const labelList& cells = set_.cells(); + + forAll(cells, i) + { + const label celli = cells[i]; + + alphaSolid_[celli] = min + ( + relax_*alphaVoF[celli]*alphaSolidT_->value(TVoF[celli]) + + (1 - relax_)*alphaSolid_[celli], + alphaVoF[celli] + ); + } + + alphaSolid_.correctBoundaryConditions(); +} + + bool Foam::fv::VoFSolidificationMeltingSource::read(const dictionary& dict) { if (fvModel::read(dict)) diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.H b/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.H index ddc52ea113..b77a604a93 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.H +++ b/applications/solvers/multiphase/compressibleInterFoam/VoFSolidificationMeltingSource/VoFSolidificationMeltingSource.H @@ -122,9 +122,6 @@ class VoFSolidificationMeltingSource //- Solid phase fraction mutable volScalarField alphaSolid_; - //- Current time index (used for updating) - mutable label curTimeIndex_; - // Private Member Functions @@ -134,9 +131,6 @@ class VoFSolidificationMeltingSource //- Return the name of the solid phase fraction word alphaSolidName() const; - //- Update the model - void update() const; - //- Helper function to apply to the energy equation template void apply(const RhoFieldType& rho, fvMatrix& eqn) const; @@ -200,6 +194,10 @@ public: virtual void updateMesh(const mapPolyMesh&); + //- Correct the model + virtual void correct(); + + // IO //- Read source dictionary diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/Make/options b/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/Make/options index b9460be68c..149a87947b 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ - -I../twoPhaseMixtureThermo \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I../compressibleTwoPhaseMixture \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ @@ -10,13 +10,13 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - -ltwoPhaseMixtureThermo \ + -lcompressibleTwoPhaseMixture \ -lfluidThermophysicalModels \ -lspecie \ -ltwoPhaseMixture \ -ltwoPhaseProperties \ -linterfaceProperties \ - -ltransportModels \ + -lphysicalProperties \ -lsurfaceFilmModels \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFPatchTransfer/VoFPatchTransfer.C b/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFPatchTransfer/VoFPatchTransfer.C index 70cd344d33..ebdb712320 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFPatchTransfer/VoFPatchTransfer.C +++ b/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFPatchTransfer/VoFPatchTransfer.C @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "VoFPatchTransfer.H" -#include "twoPhaseMixtureThermo.H" +#include "compressibleTwoPhaseMixture.H" #include "thermoSingleLayer.H" #include "addToRunTimeSelectionTable.H" @@ -155,11 +155,11 @@ void VoFPatchTransfer::correct const polyBoundaryMesh& pbm = film.regionMesh().boundaryMesh(); - const twoPhaseMixtureThermo& thermo + const compressibleTwoPhaseMixture& thermo ( - film.primaryMesh().lookupObject + film.primaryMesh().lookupObject ( - twoPhaseMixtureThermo::dictName + "phaseProperties" ) ); diff --git a/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFSurfaceFilm.C b/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFSurfaceFilm.C index 2a84809190..17a3783b6a 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFSurfaceFilm.C +++ b/applications/solvers/multiphase/compressibleInterFoam/VoFSurfaceFilm/VoFSurfaceFilm.C @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "VoFSurfaceFilm.H" -#include "twoPhaseMixtureThermo.H" +#include "compressibleTwoPhaseMixture.H" #include "fvmSup.H" #include "uniformDimensionedFields.H" #include "addToRunTimeSelectionTable.H" @@ -63,7 +63,7 @@ Foam::fv::VoFSurfaceFilm::VoFSurfaceFilm ( mesh.lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ) ), film_ diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H b/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H index b29b4f35e9..d26a2fd077 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleAlphaEqnSubCycle.H @@ -1,6 +1,6 @@ fvModels.source(alpha1, mixture.thermo1().rho()); -tmp talphaPhi1(alphaPhi10); +tmp talphaPhi1(alphaPhi1); if (nAlphaSubCycles > 1) { @@ -15,7 +15,7 @@ if (nAlphaSubCycles > 1) mesh ), mesh, - dimensionedScalar(alphaPhi10.dimensions(), 0) + dimensionedScalar(alphaPhi1.dimensions(), 0) ); surfaceScalarField rhoPhiSum @@ -45,7 +45,7 @@ if (nAlphaSubCycles > 1) ) { #include "alphaEqn.H" - talphaPhi1.ref() += (runTime.deltaT()/totalDeltaT)*alphaPhi10; + talphaPhi1.ref() += (runTime.deltaT()/totalDeltaT)*alphaPhi1; rhoPhiSum += (runTime.deltaT()/totalDeltaT)*rhoPhi; } diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/Make/options b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/Make/options index f74b227abb..4e6aea9097 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ - -I../twoPhaseMixtureThermo \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I../compressibleTwoPhaseMixture \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ @@ -11,7 +11,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - -ltwoPhaseMixtureThermo \ + -lcompressibleTwoPhaseMixture \ -lfluidThermophysicalModels \ -lspecie \ -ltwoPhaseMixture \ @@ -20,6 +20,6 @@ LIB_LIBS = \ -lmomentumTransportModels \ -lcompressibleMomentumTransportModels \ -lphaseCompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.C index 6441548b2c..988d640bfa 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.C +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.C @@ -33,14 +33,14 @@ Foam::compressibleInterPhaseTransportModel::compressibleInterPhaseTransportModel const volVectorField& U, const surfaceScalarField& phi, const surfaceScalarField& rhoPhi, - const surfaceScalarField& alphaPhi10, - const twoPhaseMixtureThermo& mixture + const surfaceScalarField& alphaPhi1, + const compressibleTwoPhaseMixture& mixture ) : twoPhaseTransport_(false), mixture_(mixture), phi_(phi), - alphaPhi10_(alphaPhi10) + alphaPhi1_(alphaPhi1) { { IOdictionary momentumTransport @@ -79,7 +79,7 @@ Foam::compressibleInterPhaseTransportModel::compressibleInterPhaseTransportModel new surfaceScalarField ( IOobject::groupName("alphaRhoPhi", alpha1.group()), - fvc::interpolate(rho1)*alphaPhi10_ + fvc::interpolate(rho1)*alphaPhi1_ ) ); @@ -88,7 +88,7 @@ Foam::compressibleInterPhaseTransportModel::compressibleInterPhaseTransportModel new surfaceScalarField ( IOobject::groupName("alphaRhoPhi", alpha2.group()), - fvc::interpolate(rho2)*(phi_ - alphaPhi10_) + fvc::interpolate(rho2)*(phi_ - alphaPhi1_) ) ); @@ -162,16 +162,20 @@ Foam::compressibleInterPhaseTransportModel::alphaEff() const return mixture_.alpha1()*mixture_.thermo1().alphaEff ( - turbulence1_->mut() + mixture_.thermo1().rho()*turbulence1_->nut() ) + mixture_.alpha2()*mixture_.thermo2().alphaEff ( - turbulence2_->mut() + mixture_.thermo2().rho()*turbulence2_->nut() ); } else { - return mixture_.alphaEff(turbulence_->mut()); + const volScalarField alphat(mixture_.rho()*turbulence_->nut()); + + return + mixture_.alpha1()*mixture_.thermo1().alphaEff(alphat) + + mixture_.alpha2()*mixture_.thermo2().alphaEff(alphat); } } @@ -202,8 +206,8 @@ void Foam::compressibleInterPhaseTransportModel::correctPhasePhi() const volScalarField& rho1 = mixture_.thermo1().rho(); const volScalarField& rho2 = mixture_.thermo2().rho(); - alphaRhoPhi1_.ref() = fvc::interpolate(rho1)*alphaPhi10_; - alphaRhoPhi2_.ref() = fvc::interpolate(rho2)*(phi_ - alphaPhi10_); + alphaRhoPhi1_.ref() = fvc::interpolate(rho1)*alphaPhi1_; + alphaRhoPhi2_.ref() = fvc::interpolate(rho2)*(phi_ - alphaPhi1_); } } diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.H b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.H index d08c97c646..405d5d0d47 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.H +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleInterPhaseTransportModel/compressibleInterPhaseTransportModel.H @@ -45,9 +45,9 @@ SourceFiles #define compressibleInterPhaseTransportModel_H #include "twoPhaseMixture.H" -#include "twoPhaseMixtureThermo.H" -#include "dynamicMomentumTransportModel.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "compressibleTwoPhaseMixture.H" +#include "compressibleMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,13 +66,13 @@ class compressibleInterPhaseTransportModel Switch twoPhaseTransport_; //- Two-phase mixture - const twoPhaseMixtureThermo& mixture_; + const compressibleTwoPhaseMixture& mixture_; //- Mixture volumetric flux const surfaceScalarField& phi_; //- Phase volumetric flux - const surfaceScalarField& alphaPhi10_; + const surfaceScalarField& alphaPhi1_; //- Phase-1 mass-flux (constructed for two-phase transport) tmp alphaRhoPhi1_; @@ -101,8 +101,8 @@ public: const volVectorField& U, const surfaceScalarField& phi, const surfaceScalarField& rhoPhi, - const surfaceScalarField& alphaPhi10, - const twoPhaseMixtureThermo& mixture + const surfaceScalarField& alphaPhi1, + const compressibleTwoPhaseMixture& mixture ); //- Disallow default bitwise copy construction diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/Make/files b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/Make/files new file mode 100644 index 0000000000..99ba9ec83d --- /dev/null +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/Make/files @@ -0,0 +1,3 @@ +compressibleTwoPhaseMixture.C + +LIB = $(FOAM_LIBBIN)/libcompressibleTwoPhaseMixture diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/options b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/Make/options similarity index 82% rename from applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/options rename to applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/Make/options index 667db23a18..42a10221d4 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ @@ -8,6 +8,7 @@ EXE_INC = \ LIB_LIBS = \ -lfluidThermophysicalModels \ -lspecie \ + -lphysicalProperties \ -ltwoPhaseMixture \ -linterfaceProperties \ -lfiniteVolume diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.C b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.C new file mode 100644 index 0000000000..2494284680 --- /dev/null +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.C @@ -0,0 +1,218 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "compressibleTwoPhaseMixture.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(compressibleTwoPhaseMixture, 0); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::compressibleTwoPhaseMixture::compressibleTwoPhaseMixture +( + const volVectorField& U, + const surfaceScalarField& phi +) +: + twoPhaseMixture(U.mesh()), + interfaceProperties(alpha1(), alpha2(), U, *this), + + p_ + ( + IOobject + ( + "p", + U.mesh().time().timeName(), + U.mesh(), + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + U.mesh() + ), + T_ + ( + IOobject + ( + "T", + U.mesh().time().timeName(), + U.mesh(), + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + U.mesh() + ), + thermo1_(nullptr), + thermo2_(nullptr), + rho_ + ( + IOobject + ( + "thermo:rho", + U.mesh().time().timeName(), + U.mesh(), + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + U.mesh(), + dimensionedScalar("rho", dimDensity, 0) + ), + Alpha1_ + ( + IOobject + ( + IOobject::groupName("Alpha", phase1Name()), + U.mesh().time().timeName(), + U.mesh() + ), + alpha1(), + calculatedFvPatchScalarField::typeName + ), + Alpha2_ + ( + IOobject + ( + IOobject::groupName("Alpha", phase2Name()), + U.mesh().time().timeName(), + U.mesh() + ), + alpha2(), + calculatedFvPatchScalarField::typeName + ) +{ + { + volScalarField T1 + ( + IOobject + ( + IOobject::groupName("T", phase1Name()), + U.mesh().time().timeName(), + U.mesh() + ), + T_, + calculatedFvPatchScalarField::typeName + ); + T1.write(); + } + + { + volScalarField T2 + ( + IOobject + ( + IOobject::groupName("T", phase2Name()), + U.mesh().time().timeName(), + U.mesh() + ), + T_, + calculatedFvPatchScalarField::typeName + ); + T2.write(); + } + + // Note: we're writing files to be read in immediately afterwards. + // Avoid any thread-writing problems. + // fileHandler().flush(); + + thermo1_ = rhoThermo::New(U.mesh(), phase1Name()); + thermo2_ = rhoThermo::New(U.mesh(), phase2Name()); + + // thermo1_->validate(phase1Name(), "e"); + // thermo2_->validate(phase2Name(), "e"); + + correct(); +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::compressibleTwoPhaseMixture::~compressibleTwoPhaseMixture() +{} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +void Foam::compressibleTwoPhaseMixture::correctThermo() +{ + thermo1_->T() = T_; + thermo1_->he() = thermo1_->he(p_, T_); + thermo1_->correct(); + + thermo2_->T() = T_; + thermo2_->he() = thermo2_->he(p_, T_); + thermo2_->correct(); +} + + +void Foam::compressibleTwoPhaseMixture::correct() +{ + const volScalarField alphaRho1(alpha1()*thermo1_->rho()); + const volScalarField alphaRho2(alpha2()*thermo2_->rho()); + + rho_ = alphaRho1 + alphaRho2; + Alpha1_ = alphaRho1/rho_; + Alpha2_ = alphaRho2/rho_; + + interfaceProperties::correct(); +} + + +Foam::tmp Foam::compressibleTwoPhaseMixture::nu() const +{ + return (alpha1()*thermo1_->mu() + alpha2()*thermo2_->mu())/rho_; +} + + +Foam::tmp Foam::compressibleTwoPhaseMixture::nu +( + const label patchi +) const +{ + return + ( + alpha1().boundaryField()[patchi]*thermo1_->mu(patchi) + + alpha2().boundaryField()[patchi]*thermo2_->mu(patchi) + )/rho_.boundaryField()[patchi]; +} + + +bool Foam::compressibleTwoPhaseMixture::read() +{ + if (regIOobject::read()) + { + return interfaceProperties::read(); + } + else + { + return false; + } +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.H b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.H new file mode 100644 index 0000000000..d700882b9d --- /dev/null +++ b/applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.H @@ -0,0 +1,188 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::compressibleTwoPhaseMixture + +Description + Thermophysical properties class for a mixture of two rhoThermo including + interfaceProperties for VoF for use in compressibleInterFoam. + +SourceFiles + compressibleTwoPhaseMixtureI.H + compressibleTwoPhaseMixture.C + compressibleTwoPhaseMixtureIO.C + +\*---------------------------------------------------------------------------*/ + +#ifndef compressibleTwoPhaseMixture_H +#define compressibleTwoPhaseMixture_H + +#include "rhoThermo.H" +#include "twoPhaseMixture.H" +#include "interfaceProperties.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class compressibleTwoPhaseMixture Declaration +\*---------------------------------------------------------------------------*/ + +class compressibleTwoPhaseMixture +: + public twoPhaseMixture, + public interfaceProperties, + public viscosity +{ + // Private Data + + //- Pressure + volScalarField p_; + + //- Mixture temperature + volScalarField T_; + + //- Thermo-package of phase 1 + autoPtr thermo1_; + + //- Thermo-package of phase 2 + autoPtr thermo2_; + + //- Mixture density + volScalarField rho_; + + //- Mass-fraction of phase 1 + volScalarField Alpha1_; + + //- Mass-fraction of phase 2 + volScalarField Alpha2_; + + +public: + + //- Runtime type information + TypeName("compressibleTwoPhaseMixture"); + + + // Constructors + + //- Construct from components + compressibleTwoPhaseMixture + ( + const volVectorField& U, + const surfaceScalarField& phi + ); + + + //- Destructor + virtual ~compressibleTwoPhaseMixture(); + + + // Member Functions + + //- Return pressure [Pa] + volScalarField& p() + { + return p_; + } + + //- Return mixture temperature [K] + volScalarField& T() + { + return T_; + } + + //- Return the thermo for phase 1 + const rhoThermo& thermo1() const + { + return thermo1_(); + } + + //- Return the thermo for phase 2 + const rhoThermo& thermo2() const + { + return thermo2_(); + } + + //- Return the thermo for phase 1 + rhoThermo& thermo1() + { + return thermo1_(); + } + + //- Return the thermo for phase 2 + rhoThermo& thermo2() + { + return thermo2_(); + } + + //- Return the density of phase 1 + const volScalarField& rho1() const + { + return thermo1_->rho(); + } + + //- Return the density of phase 2 + const volScalarField& rho2() const + { + return thermo2_->rho(); + } + + //- Return mixture density [kg/m^3] + const volScalarField& rho() const + { + return rho_; + } + + //- Correct the thermodynamics of each phase + virtual void correctThermo(); + + //- Update mixture properties + virtual void correct(); + + //- Kinematic viscosity of mixture [m^2/s] + virtual tmp nu() const; + + //- Kinematic viscosity of mixture for patch [m^2/s] + virtual tmp nu(const label patchi) const; + + + // IO + + //- Read base phaseProperties dictionary + virtual bool read(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleInterFoam/createFields.H b/applications/solvers/multiphase/compressibleInterFoam/createFields.H index c20bc7a0f3..c0ba183d4a 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/createFields.H +++ b/applications/solvers/multiphase/compressibleInterFoam/createFields.H @@ -30,8 +30,8 @@ volVectorField U #include "createPhi.H" -Info<< "Constructing twoPhaseMixtureThermo\n" << endl; -twoPhaseMixtureThermo mixture(U, phi); +Info<< "Constructing compressibleTwoPhaseMixture\n" << endl; +compressibleTwoPhaseMixture mixture(U, phi); autoPtr phaseChangePtr ( @@ -87,7 +87,7 @@ compressibleInterPhaseTransportModel turbulence U, phi, rhoPhi, - alphaPhi10, + alphaPhi1, mixture ); diff --git a/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/Make/options b/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/Make/options index 01729bddac..d8f0439457 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ diff --git a/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/liquidProperties/liquidPropertiesSurfaceTension.C b/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/liquidProperties/liquidPropertiesSurfaceTension.C index 4e4bc035b4..5b2f125604 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/liquidProperties/liquidPropertiesSurfaceTension.C +++ b/applications/solvers/multiphase/compressibleInterFoam/surfaceTensionModels/liquidProperties/liquidPropertiesSurfaceTension.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2017-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -71,7 +71,7 @@ Foam::surfaceTensionModels::liquidProperties::sigma() const const heRhoThermopureMixtureliquidProperties& thermo = mesh_.lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); tmp tsigma diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/Make/options b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/Make/options index f5822df687..09f0467175 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/Make/options +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ - -I../twoPhaseMixtureThermo/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I../compressibleTwoPhaseMixture/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ @@ -12,6 +12,6 @@ LIB_LIBS = \ -lspecie \ -ltwoPhaseMixture \ -linterfaceProperties \ - -ltwoPhaseMixtureThermo \ + -lcompressibleTwoPhaseMixture \ -lmeshTools \ -lfiniteVolume diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.C index fdc0b92fc1..0c28cd521e 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.C +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.C @@ -41,7 +41,7 @@ namespace twoPhaseChangeModels Foam::twoPhaseChangeModels::Kunz::Kunz ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) : cavitationModel(typeName, mixture), diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.H index 290d19f89d..eda82ad2af 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.H +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Kunz/Kunz.H @@ -87,7 +87,7 @@ public: //- Construct for mixture Kunz ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ); @@ -110,7 +110,7 @@ public: //- Correct the Kunz phaseChange model virtual void correct(); - //- Read the transportProperties dictionary and update + //- Read the phaseProperties dictionary and update virtual bool read(); }; diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.C index 53253e9399..4b60dce596 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.C +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.C @@ -41,7 +41,7 @@ namespace twoPhaseChangeModels Foam::twoPhaseChangeModels::Merkle::Merkle ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) : cavitationModel(typeName, mixture), diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.H index 881b9f8960..594b237044 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.H +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/Merkle/Merkle.H @@ -83,7 +83,7 @@ public: //- Construct for mixture Merkle ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ); @@ -106,7 +106,7 @@ public: //- Correct the Merkle phaseChange model virtual void correct(); - //- Read the transportProperties dictionary and update + //- Read the phaseProperties dictionary and update virtual bool read(); }; diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.C index b3600855de..c32bc1a11c 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.C +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.C @@ -48,7 +48,7 @@ namespace twoPhaseChangeModels Foam::twoPhaseChangeModels::SchnerrSauer::SchnerrSauer ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) : cavitationModel(typeName, mixture), diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.H index a1e53a0a34..8cc77a6371 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.H +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/SchnerrSauer/SchnerrSauer.H @@ -103,7 +103,7 @@ public: //- Construct for mixture SchnerrSauer ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ); @@ -126,7 +126,7 @@ public: //- Correct the SchnerrSauer phaseChange model virtual void correct(); - //- Read the transportProperties dictionary and update + //- Read the phaseProperties dictionary and update virtual bool read(); }; diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.C index f3d8b3c1a2..c0c3515a33 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.C +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.C @@ -43,7 +43,7 @@ namespace twoPhaseChangeModels Foam::twoPhaseChangeModels::cavitationModel::cavitationModel ( const word& type, - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) : twoPhaseChangeModel(type, mixture), diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.H index a33206f21f..cccac41d44 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.H +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/cavitation/cavitationModel/cavitationModel.H @@ -70,7 +70,7 @@ public: cavitationModel ( const word& type, - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ); @@ -120,7 +120,7 @@ public: volVectorField& U ) const; - //- Read the transportProperties dictionary and update + //- Read the phaseProperties dictionary and update virtual bool read(); }; diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.C index 6c5aa6b272..99468c201c 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.C +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.C @@ -42,7 +42,7 @@ namespace twoPhaseChangeModels Foam::twoPhaseChangeModels::noPhaseChange::noPhaseChange ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) : twoPhaseChangeModel(typeName, mixture) diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.H index c361a29a25..b3c1bc7915 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.H +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/noPhaseChange/noPhaseChange.H @@ -64,7 +64,7 @@ public: //- Construct for mixture noPhaseChange ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ); @@ -111,7 +111,7 @@ public: //- Correct the noPhaseChange phaseChange model virtual void correct(); - //- Read the transportProperties dictionary and update + //- Read the phaseProperties dictionary and update virtual bool read(); }; diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.C index 01c2ce4107..36d768e2ee 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.C +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.C @@ -43,7 +43,7 @@ const Foam::word Foam::twoPhaseChangeModel::phaseChangePropertiesName Foam::IOobject Foam::twoPhaseChangeModel::createIOobject ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) const { IOobject io @@ -73,7 +73,7 @@ Foam::IOobject Foam::twoPhaseChangeModel::createIOobject Foam::twoPhaseChangeModel::twoPhaseChangeModel ( const word& type, - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) : IOdictionary(createIOobject(mixture)), diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.H index a520bc992f..a961f82b02 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.H +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModel.H @@ -35,7 +35,7 @@ SourceFiles #ifndef twoPhaseChangeModel_H #define twoPhaseChangeModel_H -#include "twoPhaseMixtureThermo.H" +#include "compressibleTwoPhaseMixture.H" #include "fvMatricesFwd.H" #include "Pair.H" @@ -57,7 +57,7 @@ class twoPhaseChangeModel //- Construct the base IO object IOobject createIOobject ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) const; @@ -66,7 +66,7 @@ protected: // Protected data //- Reference to the two-phase mixture - const twoPhaseMixtureThermo& mixture_; + const compressibleTwoPhaseMixture& mixture_; //- Model coefficient dictionary dictionary twoPhaseChangeModelCoeffs_; @@ -89,7 +89,7 @@ public: twoPhaseChangeModel, dictionary, ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ), (mixture) ); @@ -101,7 +101,7 @@ public: twoPhaseChangeModel ( const word& type, - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ); //- Disallow default bitwise copy construction @@ -113,7 +113,7 @@ public: //- Return a reference to the selected phaseChange model static autoPtr New ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ); @@ -163,7 +163,7 @@ public: //- Correct the phaseChange model virtual void correct() = 0; - //- Read the transportProperties dictionary and update + //- Read the phaseProperties dictionary and update virtual bool read() = 0; diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModelNew.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModelNew.C index 5e581a0877..27bf5ffe45 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModelNew.C +++ b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseChange/twoPhaseChangeModel/twoPhaseChangeModelNew.C @@ -29,7 +29,7 @@ License Foam::autoPtr Foam::twoPhaseChangeModel::New ( - const twoPhaseMixtureThermo& mixture + const compressibleTwoPhaseMixture& mixture ) { IOobject twoPhaseChangeModelIO diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/files b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/files deleted file mode 100644 index 1cd0a09577..0000000000 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/files +++ /dev/null @@ -1,3 +0,0 @@ -twoPhaseMixtureThermo.C - -LIB = $(FOAM_LIBBIN)/libtwoPhaseMixtureThermo diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C deleted file mode 100644 index 7cbf4f3b88..0000000000 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C +++ /dev/null @@ -1,526 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "twoPhaseMixtureThermo.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - defineTypeNameAndDebug(twoPhaseMixtureThermo, 0); -} - - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::twoPhaseMixtureThermo::twoPhaseMixtureThermo -( - const volVectorField& U, - const surfaceScalarField& phi -) -: - rhoThermo::composite(U.mesh(), word::null), - twoPhaseMixture(U.mesh(), *this), - interfaceProperties(alpha1(), alpha2(), U, *this), - thermo1_(nullptr), - thermo2_(nullptr), - Alpha1_ - ( - IOobject - ( - IOobject::groupName("Alpha", phase1Name()), - U.mesh().time().timeName(), - U.mesh() - ), - alpha1(), - calculatedFvPatchScalarField::typeName - ), - Alpha2_ - ( - IOobject - ( - IOobject::groupName("Alpha", phase2Name()), - U.mesh().time().timeName(), - U.mesh() - ), - alpha2(), - calculatedFvPatchScalarField::typeName - ) -{ - { - volScalarField T1 - ( - IOobject - ( - IOobject::groupName("T", phase1Name()), - U.mesh().time().timeName(), - U.mesh() - ), - T_, - calculatedFvPatchScalarField::typeName - ); - T1.write(); - } - - { - volScalarField T2 - ( - IOobject - ( - IOobject::groupName("T", phase2Name()), - U.mesh().time().timeName(), - U.mesh() - ), - T_, - calculatedFvPatchScalarField::typeName - ); - T2.write(); - } - - // Note: we're writing files to be read in immediately afterwards. - // Avoid any thread-writing problems. - fileHandler().flush(); - - thermo1_ = rhoThermo::New(U.mesh(), phase1Name()); - thermo2_ = rhoThermo::New(U.mesh(), phase2Name()); - - // thermo1_->validate(phase1Name(), "e"); - // thermo2_->validate(phase2Name(), "e"); - - correct(); -} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::twoPhaseMixtureThermo::~twoPhaseMixtureThermo() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -void Foam::twoPhaseMixtureThermo::correctThermo() -{ - thermo1_->T() = T_; - thermo1_->he() = thermo1_->he(p_, T_); - thermo1_->correct(); - - thermo2_->T() = T_; - thermo2_->he() = thermo2_->he(p_, T_); - thermo2_->correct(); -} - - -void Foam::twoPhaseMixtureThermo::correct() -{ - { - const volScalarField alphaRho1(alpha1()*thermo1_->rho()); - const volScalarField alphaRho2(alpha2()*thermo2_->rho()); - - rho_ = alphaRho1 + alphaRho2; - Alpha1_ = alphaRho1/rho_; - Alpha2_ = alphaRho2/rho_; - } - - psi_ = alpha1()*thermo1_->psi() + alpha2()*thermo2_->psi(); - mu_ = alpha1()*thermo1_->mu() + alpha2()*thermo2_->mu(); - alpha_ = alpha1()*thermo1_->alpha() + alpha2()*thermo2_->alpha(); - - interfaceProperties::correct(); -} - - -Foam::word Foam::twoPhaseMixtureThermo::thermoName() const -{ - return thermo1_->thermoName() + ',' + thermo2_->thermoName(); -} - - -bool Foam::twoPhaseMixtureThermo::incompressible() const -{ - return thermo1_->incompressible() && thermo2_->incompressible(); -} - - -bool Foam::twoPhaseMixtureThermo::isochoric() const -{ - return thermo1_->isochoric() && thermo2_->isochoric(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::he -( - const volScalarField& p, - const volScalarField& T -) const -{ - return Alpha1_*thermo1_->he(p, T) + Alpha2_*thermo2_->he(p, T); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::he -( - const scalarField& T, - const labelList& cells -) const -{ - return - scalarField(Alpha1_, cells)*thermo1_->he(T, cells) - + scalarField(Alpha2_, cells)*thermo2_->he(T, cells); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::he -( - const scalarField& T, - const label patchi -) const -{ - return - Alpha1_.boundaryField()[patchi]*thermo1_->he(T, patchi) - + Alpha2_.boundaryField()[patchi]*thermo2_->he(T, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::hs() const -{ - return Alpha1_*thermo1_->hs() + Alpha2_*thermo2_->hs(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::hs -( - const volScalarField& p, - const volScalarField& T -) const -{ - return Alpha1_*thermo1_->hs(p, T) + Alpha2_*thermo2_->hs(p, T); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::hs -( - const scalarField& T, - const labelList& cells -) const -{ - return - scalarField(Alpha1_, cells)*thermo1_->hs(T, cells) - + scalarField(Alpha2_, cells)*thermo2_->hs(T, cells); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::hs -( - const scalarField& T, - const label patchi -) const -{ - return - Alpha1_.boundaryField()[patchi]*thermo1_->hs(T, patchi) - + Alpha2_.boundaryField()[patchi]*thermo2_->hs(T, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::ha() const -{ - return Alpha1_*thermo1_->ha() + Alpha2_*thermo2_->ha(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::ha -( - const volScalarField& p, - const volScalarField& T -) const -{ - return Alpha1_*thermo1_->ha(p, T) + Alpha2_*thermo2_->ha(p, T); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::ha -( - const scalarField& T, - const labelList& cells -) const -{ - return - scalarField(Alpha1_, cells)*thermo1_->ha(T, cells) - + scalarField(Alpha2_, cells)*thermo2_->ha(T, cells); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::ha -( - const scalarField& T, - const label patchi -) const -{ - return - Alpha1_.boundaryField()[patchi]*thermo1_->ha(T, patchi) - + Alpha2_.boundaryField()[patchi]*thermo2_->ha(T, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::hc() const -{ - return Alpha1_*thermo1_->hc() + Alpha2_*thermo2_->hc(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::THE -( - const volScalarField& h, - const volScalarField& p, - const volScalarField& T0 -) const -{ - NotImplemented; - return T0; -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::THE -( - const scalarField& h, - const scalarField& T0, - const labelList& cells -) const -{ - NotImplemented; - return T0; -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::THE -( - const scalarField& h, - const scalarField& T0, - const label patchi -) const -{ - NotImplemented; - return T0; -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::Cp() const -{ - return Alpha1_*thermo1_->Cp() + Alpha2_*thermo2_->Cp(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::Cp -( - const scalarField& T, - const label patchi -) const -{ - return - Alpha1_.boundaryField()[patchi]*thermo1_->Cp(T, patchi) - + Alpha2_.boundaryField()[patchi]*thermo2_->Cp(T, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::Cv() const -{ - return Alpha1_*thermo1_->Cv() + Alpha2_*thermo2_->Cv(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::Cv -( - const scalarField& T, - const label patchi -) const -{ - return - Alpha1_.boundaryField()[patchi]*thermo1_->Cv(T, patchi) - + Alpha2_.boundaryField()[patchi]*thermo2_->Cv(T, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::gamma() const -{ - return Cp()/Cv(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::gamma -( - const scalarField& T, - const label patchi -) const -{ - return Cp(T, patchi)/Cv(T, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::Cpv() const -{ - return Alpha1_*thermo1_->Cpv() + Alpha2_*thermo2_->Cpv(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::Cpv -( - const scalarField& T, - const label patchi -) const -{ - return - Alpha1_.boundaryField()[patchi]*thermo1_->Cpv(T, patchi) - + Alpha2_.boundaryField()[patchi]*thermo2_->Cpv(T, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::W() const -{ - return 1/(Alpha1_/thermo1_->W() + Alpha2_/thermo2_->W()); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::W -( - const label patchi -) const -{ - return - 1/( - Alpha1_.boundaryField()[patchi]/thermo1_->W(patchi) - + Alpha2_.boundaryField()[patchi]/thermo2_->W(patchi) - ); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::nu() const -{ - return mu()/rho_; -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::nu -( - const label patchi -) const -{ - return mu(patchi)/rho_.boundaryField()[patchi]; -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::kappa() const -{ - return alpha1()*thermo1_->kappa() + alpha2()*thermo2_->kappa(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::kappa -( - const label patchi -) const -{ - return - alpha1().boundaryField()[patchi]*thermo1_->kappa(patchi) - + alpha2().boundaryField()[patchi]*thermo2_->kappa(patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::alphahe() const -{ - return alpha1()*thermo1_->alphahe() + alpha2()*thermo2_->alphahe(); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::alphahe -( - const label patchi -) const -{ - return - alpha1().boundaryField()[patchi]*thermo1_->alphahe(patchi) - + alpha2().boundaryField()[patchi]*thermo2_->alphahe(patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::kappaEff -( - const volScalarField& alphat -) const -{ - return - alpha1()*thermo1_->kappaEff(alphat) - + alpha2()*thermo2_->kappaEff(alphat); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::kappaEff -( - const scalarField& alphat, - const label patchi -) const -{ - return - alpha1().boundaryField()[patchi]*thermo1_->kappaEff(alphat, patchi) - + alpha2().boundaryField()[patchi]*thermo2_->kappaEff(alphat, patchi); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::alphaEff -( - const volScalarField& alphat -) const -{ - return - alpha1()*thermo1_->alphaEff(alphat) - + alpha2()*thermo2_->alphaEff(alphat); -} - - -Foam::tmp Foam::twoPhaseMixtureThermo::alphaEff -( - const scalarField& alphat, - const label patchi -) const -{ - return - alpha1().boundaryField()[patchi]*thermo1_->alphaEff(alphat, patchi) - + alpha2().boundaryField()[patchi]*thermo2_->alphaEff(alphat, patchi); -} - - -bool Foam::twoPhaseMixtureThermo::read() -{ - if (rhoThermo::composite::read()) - { - return interfaceProperties::read(); - } - else - { - return false; - } -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H b/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H deleted file mode 100644 index ac317b1cf1..0000000000 --- a/applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H +++ /dev/null @@ -1,382 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::twoPhaseMixtureThermo - -Description - Thermophysical properties class for a mixture of two rhoThermo including - interfaceProperties for VoF for use in compressibleInterFoam. - -SourceFiles - twoPhaseMixtureThermoI.H - twoPhaseMixtureThermo.C - twoPhaseMixtureThermoIO.C - -\*---------------------------------------------------------------------------*/ - -#ifndef twoPhaseMixtureThermo_H -#define twoPhaseMixtureThermo_H - -#include "rhoThermo.H" -#include "twoPhaseMixture.H" -#include "interfaceProperties.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class twoPhaseMixtureThermo Declaration -\*---------------------------------------------------------------------------*/ - -class twoPhaseMixtureThermo -: - public rhoThermo::composite, - public twoPhaseMixture, - public interfaceProperties -{ - // Private Data - - //- Thermo-package of phase 1 - autoPtr thermo1_; - - //- Thermo-package of phase 2 - autoPtr thermo2_; - - //- Mass-fraction of phase 1 - volScalarField Alpha1_; - - //- Mass-fraction of phase 2 - volScalarField Alpha2_; - - -public: - - //- Runtime type information - TypeName("twoPhaseMixtureThermo"); - - - // Constructors - - //- Construct from components - twoPhaseMixtureThermo - ( - const volVectorField& U, - const surfaceScalarField& phi - ); - - - //- Destructor - virtual ~twoPhaseMixtureThermo(); - - - // Member Functions - - //- Return the thermo for phase 1 - const rhoThermo& thermo1() const - { - return thermo1_(); - } - - //- Return the thermo for phase 2 - const rhoThermo& thermo2() const - { - return thermo2_(); - } - - //- Return the thermo for phase 1 - rhoThermo& thermo1() - { - return thermo1_(); - } - - //- Return the thermo for phase 2 - rhoThermo& thermo2() - { - return thermo2_(); - } - - //- Return the density of phase 1 - const volScalarField& rho1() const - { - return thermo1_->rho(); - } - - //- Return the density of phase 2 - const volScalarField& rho2() const - { - return thermo2_->rho(); - } - - //- Correct the thermodynamics of each phase - virtual void correctThermo(); - - //- Update mixture properties - virtual void correct(); - - //- Return the name of the thermo physics - virtual word thermoName() const; - - //- Return true if the equation of state is incompressible - // i.e. rho != f(p) - virtual bool incompressible() const; - - //- Return true if the equation of state is isochoric - // i.e. rho = const - virtual bool isochoric() const; - - - // Access to thermodynamic state variables - - //- Enthalpy/Internal energy [J/kg] - // Non-const access allowed for transport equations - virtual volScalarField& he() - { - NotImplemented; - return thermo1_->he(); - } - - //- Enthalpy/Internal energy [J/kg] - virtual const volScalarField& he() const - { - NotImplemented; - return thermo1_->he(); - } - - //- Enthalpy/Internal energy - // for given pressure and temperature [J/kg] - virtual tmp he - ( - const volScalarField& p, - const volScalarField& T - ) const; - - //- Enthalpy/Internal energy for cell-set [J/kg] - virtual tmp he - ( - const scalarField& T, - const labelList& cells - ) const; - - //- Enthalpy/Internal energy for patch [J/kg] - virtual tmp he - ( - const scalarField& T, - const label patchi - ) const; - - //- Sensible enthalpy [J/kg] - virtual tmp hs() const; - - //- Sensible enthalpy - // for given pressure and temperature [J/kg] - virtual tmp hs - ( - const volScalarField& p, - const volScalarField& T - ) const; - - //- Sensible enthalpy for cell-set [J/kg] - virtual tmp hs - ( - const scalarField& T, - const labelList& cells - ) const; - - //- Sensible enthalpy for patch [J/kg] - virtual tmp hs - ( - const scalarField& T, - const label patchi - ) const; - - //- Absolute enthalpy [J/kg] - virtual tmp ha() const; - - //- Absolute enthalpy - // for given pressure and temperature [J/kg] - virtual tmp ha - ( - const volScalarField& p, - const volScalarField& T - ) const; - - //- Absolute enthalpy for cell-set [J/kg] - virtual tmp ha - ( - const scalarField& T, - const labelList& cells - ) const; - - //- Absolute enthalpy for patch [J/kg] - virtual tmp ha - ( - const scalarField& T, - const label patchi - ) const; - - //- Enthalpy of formation [J/kg] - virtual tmp hc() const; - - //- Temperature from enthalpy/internal energy - virtual tmp THE - ( - const volScalarField& h, - const volScalarField& p, - const volScalarField& T0 // starting temperature - ) const; - - //- Temperature from enthalpy/internal energy for cell-set - virtual tmp THE - ( - const scalarField& h, - const scalarField& T0, // starting temperature - const labelList& cells - ) const; - - //- Temperature from enthalpy/internal energy for patch - virtual tmp THE - ( - const scalarField& h, - const scalarField& T0, // starting temperature - const label patchi - ) const; - - - // Fields derived from thermodynamic state variables - - //- Heat capacity at constant pressure [J/kg/K] - virtual tmp Cp() const; - - //- Heat capacity at constant pressure for patch [J/kg/K] - virtual tmp Cp - ( - const scalarField& T, - const label patchi - ) const; - - //- Heat capacity at constant volume [J/kg/K] - virtual tmp Cv() const; - - //- Heat capacity at constant volume for patch [J/kg/K] - virtual tmp Cv - ( - const scalarField& T, - const label patchi - ) const; - - //- Gamma = Cp/Cv [] - virtual tmp gamma() const; - - //- Gamma = Cp/Cv for patch [] - virtual tmp gamma - ( - const scalarField& T, - const label patchi - ) const; - - //- Heat capacity at constant pressure/volume [J/kg/K] - virtual tmp Cpv() const; - - //- Heat capacity at constant pressure/volume for patch [J/kg/K] - virtual tmp Cpv - ( - const scalarField& T, - const label patchi - ) const; - - //- Molecular weight [kg/kmol] - virtual tmp W() const; - - //- Molecular weight for patch [kg/kmol] - virtual tmp W(const label patchi) const; - - - // Fields derived from transport state variables - - //- Kinematic viscosity of mixture [m^2/s] - virtual tmp nu() const; - - //- Kinematic viscosity of mixture for patch [m^2/s] - virtual tmp nu(const label patchi) const; - - //- Thermal diffusivity for temperature of mixture [W/m/K] - virtual tmp kappa() const; - - //- Thermal diffusivity of mixture for patch [W/m/K] - virtual tmp kappa - ( - const label patchi - ) const; - - //- Thermal diffusivity for energy of mixture [kg/m/s] - virtual tmp alphahe() const; - - //- Thermal diffusivity for energy of mixture for patch [kg/m/s] - virtual tmp alphahe(const label patchi) const; - - //- Effective thermal diffusivity of mixture [W/m/K] - virtual tmp kappaEff - ( - const volScalarField& alphat - ) const; - - //- Effective thermal diffusivity of mixture for patch [W/m/K] - virtual tmp kappaEff - ( - const scalarField& alphat, - const label patchi - ) const; - - //- Effective thermal diffusivity of mixture [W/m/K] - virtual tmp alphaEff - ( - const volScalarField& alphat - ) const; - - //- Effective thermal diffusivity of mixture for patch [W/m/K] - virtual tmp alphaEff - ( - const scalarField& alphat, - const label patchi - ) const; - - - // IO - - //- Read base transportProperties dictionary - virtual bool read(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwclean b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwclean index 657fd9d242..a1028e7612 100755 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwclean +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwclean @@ -1,7 +1,7 @@ #!/bin/sh cd ${0%/*} || exit 1 # Run from this directory -wclean libso multiphaseMixtureThermo +wclean libso compressibleMultiphaseMixture wclean #------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwmake b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwmake index b92d87aef4..1cacde1c54 100755 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwmake +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Allwmake @@ -4,7 +4,7 @@ cd ${0%/*} || exit 1 # Run from this directory # Parse arguments for library compilation . $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments -wmake $targetType multiphaseMixtureThermo +wmake $targetType compressibleMultiphaseMixture wmake $targetType #------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options index b241f5b32b..d3e8b59a86 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/Make/options @@ -1,8 +1,8 @@ EXE_INC = \ -I. \ -I../interFoam \ - -ImultiphaseMixtureThermo/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -IcompressibleMultiphaseMixture/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ @@ -12,7 +12,7 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ - -lmultiphaseMixtureThermo \ + -lcompressibleMultiphaseMixture \ -lfluidThermophysicalModels \ -lspecie \ -linterfaceProperties \ diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/TEqn.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/TEqn.H index 546b232d44..89c2c0996a 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/TEqn.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/TEqn.H @@ -3,7 +3,7 @@ ( fvm::ddt(rho, T) + fvm::div(mixture.rhoPhi(), T) - - fvm::laplacian(mixture.alphaEff(turbulence->mut()), T) + - fvm::laplacian(mixture.alphaEff(rho*turbulence->nut()), T) + ( fvc::div(fvc::absolute(phi, U), p) + fvc::ddt(rho, K) + fvc::div(mixture.rhoPhi(), K) diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C index 47e0904f8f..69dfe9c2e3 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseInterFoam.C @@ -36,8 +36,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "multiphaseMixtureThermo.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMultiphaseMixture.H" +#include "compressibleMomentumTransportModels.H" #include "pimpleControl.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/Make/files b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/Make/files new file mode 100644 index 0000000000..bbd8bf2b5c --- /dev/null +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/Make/files @@ -0,0 +1,5 @@ +phaseModel/phaseModel.C +alphaContactAngle/alphaContactAngleFvPatchScalarField.C +compressibleMultiphaseMixture.C + +LIB = $(FOAM_LIBBIN)/libcompressibleMultiphaseMixture diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/Make/options b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/Make/options similarity index 83% rename from applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/Make/options rename to applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/Make/options index 473ce02238..040016896f 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/Make/options +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.C similarity index 100% rename from applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.C rename to applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.C diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H similarity index 96% rename from applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.H rename to applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H index 952463a250..f4b2590f27 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/alphaContactAngle/alphaContactAngleFvPatchScalarField.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -37,7 +37,7 @@ SourceFiles #define alphaContactAngleFvPatchScalarField_H #include "zeroGradientFvPatchFields.H" -#include "multiphaseMixtureThermo.H" +#include "compressibleMultiphaseMixture.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -117,8 +117,8 @@ public: typedef HashTable < interfaceThetaProps, - multiphaseMixtureThermo::interfacePair, - multiphaseMixtureThermo::interfacePair::hash + compressibleMultiphaseMixture::interfacePair, + compressibleMultiphaseMixture::interfacePair::hash > thetaPropsTable; diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/compressibleMultiphaseMixture.C similarity index 53% rename from applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C rename to applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/compressibleMultiphaseMixture.C index dde3cfa450..5efcbb17f6 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/compressibleMultiphaseMixture.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "multiphaseMixtureThermo.H" +#include "compressibleMultiphaseMixture.H" #include "alphaContactAngleFvPatchScalarField.H" #include "unitConversion.H" #include "Time.H" @@ -40,13 +40,13 @@ License namespace Foam { - defineTypeNameAndDebug(multiphaseMixtureThermo, 0); + defineTypeNameAndDebug(compressibleMultiphaseMixture, 0); } // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::multiphaseMixtureThermo::calcAlphas() +void Foam::compressibleMultiphaseMixture::calcAlphas() { scalar level = 0.0; alphas_ == 0.0; @@ -61,17 +61,70 @@ void Foam::multiphaseMixtureThermo::calcAlphas() // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::multiphaseMixtureThermo::multiphaseMixtureThermo +Foam::compressibleMultiphaseMixture::compressibleMultiphaseMixture ( const volVectorField& U, const surfaceScalarField& phi ) : - rhoThermo::composite(U.mesh(), word::null), - phases_(lookup("phases"), phaseModel::iNew(p_, T_)), + IOdictionary + ( + IOobject + ( + "phaseProperties", + U.time().constant(), + U.db(), + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE + ) + ), mesh_(U.mesh()), + + p_ + ( + IOobject + ( + "p", + U.mesh().time().timeName(), + U.mesh(), + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + U.mesh() + ), + + T_ + ( + IOobject + ( + "T", + U.mesh().time().timeName(), + U.mesh(), + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + U.mesh() + ), + + phases_(lookup("phases"), phaseModel::iNew(p_, T_)), + + rho_ + ( + IOobject + ( + "thermo:rho", + U.mesh().time().timeName(), + U.mesh(), + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + U.mesh(), + dimensionedScalar("rho", dimDensity, 0) + ), + U_(U), + phi_(phi), rhoPhi_ @@ -118,7 +171,7 @@ Foam::multiphaseMixtureThermo::multiphaseMixtureThermo // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -void Foam::multiphaseMixtureThermo::correctThermo() +void Foam::compressibleMultiphaseMixture::correctThermo() { forAllIter(PtrDictionary, phases_, phasei) { @@ -127,21 +180,15 @@ void Foam::multiphaseMixtureThermo::correctThermo() } -void Foam::multiphaseMixtureThermo::correct() +void Foam::compressibleMultiphaseMixture::correct() { PtrDictionary::iterator phasei = phases_.begin(); rho_ = phasei()*phasei().thermo().rho(); - psi_ = phasei()*phasei().thermo().psi(); - mu_ = phasei()*phasei().thermo().mu(); - alpha_ = phasei()*phasei().thermo().alpha(); for (++phasei; phasei != phases_.end(); ++phasei) { rho_ += phasei()*phasei().thermo().rho(); - psi_ += phasei()*phasei().thermo().psi(); - mu_ += phasei()*phasei().thermo().mu(); - alpha_ += phasei()*phasei().thermo().alpha(); } forAllIter(PtrDictionary, phases_, phasei) @@ -151,7 +198,7 @@ void Foam::multiphaseMixtureThermo::correct() } -void Foam::multiphaseMixtureThermo::correctRho(const volScalarField& dp) +void Foam::compressibleMultiphaseMixture::correctRho(const volScalarField& dp) { forAllIter(PtrDictionary, phases_, phasei) { @@ -160,633 +207,45 @@ void Foam::multiphaseMixtureThermo::correctRho(const volScalarField& dp) } -Foam::word Foam::multiphaseMixtureThermo::thermoName() const +Foam::tmp Foam::compressibleMultiphaseMixture::nu() const { PtrDictionary::const_iterator phasei = phases_.begin(); - word name = phasei().thermo().thermoName(); - - for (++ phasei; phasei != phases_.end(); ++ phasei) - { - name += ',' + phasei().thermo().thermoName(); - } - - return name; -} - - -bool Foam::multiphaseMixtureThermo::incompressible() const -{ - bool ico = true; - - forAllConstIter(PtrDictionary, phases_, phase) - { - ico &= phase().thermo().incompressible(); - } - - return ico; -} - - -bool Foam::multiphaseMixtureThermo::isochoric() const -{ - bool iso = true; - - forAllConstIter(PtrDictionary, phases_, phase) - { - iso &= phase().thermo().incompressible(); - } - - return iso; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::he -( - const volScalarField& p, - const volScalarField& T -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp the(phasei().Alpha()*phasei().thermo().he(p, T)); + volScalarField mu(phasei().Alpha()*phasei().thermo().mu()); for (++phasei; phasei != phases_.end(); ++phasei) { - the.ref() += phasei().Alpha()*phasei().thermo().he(p, T); + mu += phasei().Alpha()*phasei().thermo().mu(); } - return the; + return mu/rho_; } -Foam::tmp Foam::multiphaseMixtureThermo::he +Foam::tmp Foam::compressibleMultiphaseMixture::nu ( - const scalarField& T, - const labelList& cells -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp the - ( - scalarField(phasei(), cells)*phasei().thermo().he(T, cells) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - the.ref() += - scalarField(phasei(), cells)*phasei().thermo().he(T, cells); - } - - return the; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::he -( - const scalarField& T, const label patchi ) const { PtrDictionary::const_iterator phasei = phases_.begin(); - tmp the + scalarField mu ( - phasei().Alpha().boundaryField()[patchi]*phasei().thermo().he(T, patchi) + phasei().Alpha().boundaryField()[patchi]*phasei().thermo().mu(patchi) ); for (++phasei; phasei != phases_.end(); ++phasei) { - the.ref() += + mu += phasei().Alpha().boundaryField()[patchi] - *phasei().thermo().he(T, patchi); + *phasei().thermo().mu(patchi); } - return the; + return mu/rho_.boundaryField()[patchi]; } -Foam::tmp Foam::multiphaseMixtureThermo::hs() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp ths(phasei().Alpha()*phasei().thermo().hs()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - ths.ref() += phasei().Alpha()*phasei().thermo().hs(); - } - - return ths; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::hs -( - const volScalarField& p, - const volScalarField& T -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp ths(phasei().Alpha()*phasei().thermo().hs(p, T)); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - ths.ref() += phasei().Alpha()*phasei().thermo().hs(p, T); - } - - return ths; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::hs -( - const scalarField& T, - const labelList& cells -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp ths - ( - scalarField(phasei(), cells)*phasei().thermo().hs(T, cells) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - ths.ref() += - scalarField(phasei(), cells)*phasei().thermo().hs(T, cells); - } - - return ths; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::hs -( - const scalarField& T, - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp ths - ( - phasei().Alpha().boundaryField()[patchi]*phasei().thermo().hs(T, patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - ths.ref() += - phasei().Alpha().boundaryField()[patchi] - *phasei().thermo().hs(T, patchi); - } - - return ths; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::ha() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tha(phasei().Alpha()*phasei().thermo().ha()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tha.ref() += phasei().Alpha()*phasei().thermo().ha(); - } - - return tha; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::ha -( - const volScalarField& p, - const volScalarField& T -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tha(phasei().Alpha()*phasei().thermo().ha(p, T)); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tha.ref() += phasei().Alpha()*phasei().thermo().ha(p, T); - } - - return tha; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::ha -( - const scalarField& T, - const labelList& cells -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tha - ( - scalarField(phasei(), cells)*phasei().thermo().ha(T, cells) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tha.ref() += - scalarField(phasei(), cells)*phasei().thermo().ha(T, cells); - } - - return tha; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::ha -( - const scalarField& T, - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tha - ( - phasei().Alpha().boundaryField()[patchi]*phasei().thermo().ha(T, patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tha.ref() += - phasei().Alpha().boundaryField()[patchi] - *phasei().thermo().ha(T, patchi); - } - - return tha; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::hc() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp thc(phasei().Alpha()*phasei().thermo().hc()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - thc.ref() += phasei().Alpha()*phasei().thermo().hc(); - } - - return thc; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::THE -( - const volScalarField& h, - const volScalarField& p, - const volScalarField& T0 -) const -{ - NotImplemented; - return T0; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::THE -( - const scalarField& h, - const scalarField& T0, - const labelList& cells -) const -{ - NotImplemented; - return T0; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::THE -( - const scalarField& h, - const scalarField& T0, - const label patchi -) const -{ - NotImplemented; - return T0; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::Cp() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tCp(phasei().Alpha()*phasei().thermo().Cp()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tCp.ref() += phasei().Alpha()*phasei().thermo().Cp(); - } - - return tCp; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::Cp -( - const scalarField& T, - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tCp - ( - phasei().Alpha().boundaryField()[patchi]*phasei().thermo().Cp(T, patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tCp.ref() += - phasei().Alpha().boundaryField()[patchi] - *phasei().thermo().Cp(T, patchi); - } - - return tCp; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::Cv() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tCv(phasei().Alpha()*phasei().thermo().Cv()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tCv.ref() += phasei().Alpha()*phasei().thermo().Cv(); - } - - return tCv; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::Cv -( - const scalarField& T, - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tCv - ( - phasei().Alpha().boundaryField()[patchi]*phasei().thermo().Cv(T, patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tCv.ref() += - phasei().Alpha().boundaryField()[patchi] - *phasei().thermo().Cv(T, patchi); - } - - return tCv; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::gamma() const -{ - return Cp()/Cv(); -} - - -Foam::tmp Foam::multiphaseMixtureThermo::gamma -( - const scalarField& T, - const label patchi -) const -{ - return Cp(T, patchi)/Cv(T, patchi); -} - - -Foam::tmp Foam::multiphaseMixtureThermo::Cpv() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tCpv(phasei().Alpha()*phasei().thermo().Cpv()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tCpv.ref() += phasei().Alpha()*phasei().thermo().Cpv(); - } - - return tCpv; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::Cpv -( - const scalarField& T, - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tCpv - ( - phasei().Alpha().boundaryField()[patchi] - *phasei().thermo().Cpv(T, patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tCpv.ref() += - phasei().boundaryField()[patchi] - *phasei().thermo().Cpv(T, patchi); - } - - return tCpv; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::W() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - volScalarField rW(phasei().Alpha()/phasei().thermo().W()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - rW += phasei().Alpha()/phasei().thermo().W(); - } - - return 1/rW; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::W -( - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - scalarField rW - ( - phasei().Alpha().boundaryField()[patchi]/phasei().thermo().W(patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - rW += - phasei().Alpha().boundaryField()[patchi] - /phasei().thermo().W(patchi); - } - - return 1/rW; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::nu() const -{ - return mu()/rho(); -} - - -Foam::tmp Foam::multiphaseMixtureThermo::nu -( - const label patchi -) const -{ - return mu(patchi)/rho(patchi); -} - - -Foam::tmp Foam::multiphaseMixtureThermo::kappa() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tkappa(phasei()*phasei().thermo().kappa()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tkappa.ref() += phasei()*phasei().thermo().kappa(); - } - - return tkappa; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::kappa -( - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tkappa - ( - phasei().boundaryField()[patchi]*phasei().thermo().kappa(patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tkappa.ref() += - phasei().boundaryField()[patchi]*phasei().thermo().kappa(patchi); - } - - return tkappa; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::alphahe() const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp talphaEff(phasei()*phasei().thermo().alphahe()); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - talphaEff.ref() += phasei()*phasei().thermo().alphahe(); - } - - return talphaEff; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::alphahe -( - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp talphaEff - ( - phasei().boundaryField()[patchi] - *phasei().thermo().alphahe(patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - talphaEff.ref() += - phasei().boundaryField()[patchi] - *phasei().thermo().alphahe(patchi); - } - - return talphaEff; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::kappaEff -( - const volScalarField& alphat -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tkappaEff(phasei()*phasei().thermo().kappaEff(alphat)); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tkappaEff.ref() += phasei()*phasei().thermo().kappaEff(alphat); - } - - return tkappaEff; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::kappaEff -( - const scalarField& alphat, - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp tkappaEff - ( - phasei().boundaryField()[patchi] - *phasei().thermo().kappaEff(alphat, patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - tkappaEff.ref() += - phasei().boundaryField()[patchi] - *phasei().thermo().kappaEff(alphat, patchi); - } - - return tkappaEff; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::alphaEff +Foam::tmp Foam::compressibleMultiphaseMixture::alphaEff ( const volScalarField& alphat ) const @@ -804,32 +263,7 @@ Foam::tmp Foam::multiphaseMixtureThermo::alphaEff } -Foam::tmp Foam::multiphaseMixtureThermo::alphaEff -( - const scalarField& alphat, - const label patchi -) const -{ - PtrDictionary::const_iterator phasei = phases_.begin(); - - tmp talphaEff - ( - phasei().boundaryField()[patchi] - *phasei().thermo().alphaEff(alphat, patchi) - ); - - for (++phasei; phasei != phases_.end(); ++phasei) - { - talphaEff.ref() += - phasei().boundaryField()[patchi] - *phasei().thermo().alphaEff(alphat, patchi); - } - - return talphaEff; -} - - -Foam::tmp Foam::multiphaseMixtureThermo::rCv() const +Foam::tmp Foam::compressibleMultiphaseMixture::rCv() const { PtrDictionary::const_iterator phasei = phases_.begin(); @@ -845,7 +279,7 @@ Foam::tmp Foam::multiphaseMixtureThermo::rCv() const Foam::tmp -Foam::multiphaseMixtureThermo::surfaceTensionForce() const +Foam::compressibleMultiphaseMixture::surfaceTensionForce() const { tmp tstf ( @@ -894,7 +328,7 @@ Foam::multiphaseMixtureThermo::surfaceTensionForce() const } -void Foam::multiphaseMixtureThermo::solve() +void Foam::compressibleMultiphaseMixture::solve() { const Time& runTime = mesh_.time(); @@ -930,7 +364,7 @@ void Foam::multiphaseMixtureThermo::solve() } -Foam::tmp Foam::multiphaseMixtureThermo::nHatfv +Foam::tmp Foam::compressibleMultiphaseMixture::nHatfv ( const volScalarField& alpha1, const volScalarField& alpha2 @@ -956,7 +390,7 @@ Foam::tmp Foam::multiphaseMixtureThermo::nHatfv } -Foam::tmp Foam::multiphaseMixtureThermo::nHatf +Foam::tmp Foam::compressibleMultiphaseMixture::nHatf ( const volScalarField& alpha1, const volScalarField& alpha2 @@ -973,7 +407,7 @@ Foam::tmp Foam::multiphaseMixtureThermo::nHatf // The dynamic contact angle is calculated from the component of the // velocity on the direction of the interface, parallel to the wall. -void Foam::multiphaseMixtureThermo::correctContactAngle +void Foam::compressibleMultiphaseMixture::correctContactAngle ( const phaseModel& alpha1, const phaseModel& alpha2, @@ -1099,7 +533,7 @@ void Foam::multiphaseMixtureThermo::correctContactAngle } -Foam::tmp Foam::multiphaseMixtureThermo::K +Foam::tmp Foam::compressibleMultiphaseMixture::K ( const phaseModel& alpha1, const phaseModel& alpha2 @@ -1115,7 +549,7 @@ Foam::tmp Foam::multiphaseMixtureThermo::K Foam::tmp -Foam::multiphaseMixtureThermo::nearInterface() const +Foam::compressibleMultiphaseMixture::nearInterface() const { tmp tnearInt ( @@ -1137,7 +571,7 @@ Foam::multiphaseMixtureThermo::nearInterface() const } -void Foam::multiphaseMixtureThermo::solveAlphas +void Foam::compressibleMultiphaseMixture::solveAlphas ( const scalar cAlpha ) diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/compressibleMultiphaseMixture.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/compressibleMultiphaseMixture.H new file mode 100644 index 0000000000..06824f8cf6 --- /dev/null +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/compressibleMultiphaseMixture.H @@ -0,0 +1,301 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::compressibleMultiphaseMixture + +Description + +SourceFiles + compressibleMultiphaseMixture.C + +\*---------------------------------------------------------------------------*/ + +#ifndef compressibleMultiphaseMixture_H +#define compressibleMultiphaseMixture_H + +#include "phaseModel.H" +#include "PtrDictionary.H" +#include "volFields.H" +#include "surfaceFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class compressibleMultiphaseMixture Declaration +\*---------------------------------------------------------------------------*/ + +class compressibleMultiphaseMixture +: + public IOdictionary, + public viscosity +{ +public: + + class interfacePair + : + public Pair + { + public: + + class hash + : + public Hash + { + public: + + hash() + {} + + label operator()(const interfacePair& key) const + { + return word::hash()(key.first()) + word::hash()(key.second()); + } + }; + + + // Constructors + + interfacePair() + {} + + interfacePair(const word& alpha1Name, const word& alpha2Name) + : + Pair(alpha1Name, alpha2Name) + {} + + interfacePair(const phaseModel& alpha1, const phaseModel& alpha2) + : + Pair(alpha1.name(), alpha2.name()) + {} + + + // Friend Operators + + friend bool operator== + ( + const interfacePair& a, + const interfacePair& b + ) + { + return + ( + ((a.first() == b.first()) && (a.second() == b.second())) + || ((a.first() == b.second()) && (a.second() == b.first())) + ); + } + + friend bool operator!= + ( + const interfacePair& a, + const interfacePair& b + ) + { + return (!(a == b)); + } + }; + + +private: + + // Private Data + + const fvMesh& mesh_; + + //- Pressure + volScalarField p_; + + //- Mixture temperature + volScalarField T_; + + //- Dictionary of phases + PtrDictionary phases_; + + volScalarField rho_; + + const volVectorField& U_; + const surfaceScalarField& phi_; + + surfaceScalarField rhoPhi_; + + volScalarField alphas_; + + typedef HashTable + sigmaTable; + + sigmaTable sigmas_; + dimensionSet dimSigma_; + + //- Stabilisation for normalisation of the interface normal + const dimensionedScalar deltaN_; + + + // Private Member Functions + + void calcAlphas(); + + void solveAlphas(const scalar cAlpha); + + tmp nHatfv + ( + const volScalarField& alpha1, + const volScalarField& alpha2 + ) const; + + tmp nHatf + ( + const volScalarField& alpha1, + const volScalarField& alpha2 + ) const; + + void correctContactAngle + ( + const phaseModel& alpha1, + const phaseModel& alpha2, + surfaceVectorField::Boundary& nHatb + ) const; + + tmp K + ( + const phaseModel& alpha1, + const phaseModel& alpha2 + ) const; + + +public: + + //- Runtime type information + TypeName("compressibleMultiphaseMixture"); + + + // Constructors + + //- Construct from components + compressibleMultiphaseMixture + ( + const volVectorField& U, + const surfaceScalarField& phi + ); + + + //- Destructor + virtual ~compressibleMultiphaseMixture() + {} + + + // Member Functions + + //- Return the phases + const PtrDictionary& phases() const + { + return phases_; + } + + //- Return non-const access to the phases + PtrDictionary& phases() + { + return phases_; + } + + //- Return pressure [Pa] + volScalarField& p() + { + return p_; + } + + //- Return mixture temperature [K] + volScalarField& T() + { + return T_; + } + + //- Return mixture density [kg/m^3] + const volScalarField& rho() const + { + return rho_; + } + + //- Return mixture velocity + const volVectorField& U() const + { + return U_; + } + + //- Return the volumetric flux + const surfaceScalarField& phi() const + { + return phi_; + } + + const surfaceScalarField& rhoPhi() const + { + return rhoPhi_; + } + + //- Correct the thermodynamics of each phase + virtual void correctThermo(); + + //- Update properties + virtual void correct(); + + //- Update densities for given pressure change + void correctRho(const volScalarField& dp); + + //- Kinematic viscosity of mixture [m^2/s] + virtual tmp nu() const; + + //- Kinematic viscosity of mixture for patch [m^2/s] + virtual tmp nu(const label patchi) const; + + //- Effective thermal diffusivity of mixture [W/m/K] + virtual tmp alphaEff + ( + const volScalarField& alphat + ) const; + + //- Return the phase-averaged reciprocal Cv + tmp rCv() const; + + tmp surfaceTensionForce() const; + + //- Indicator of the proximity of the interface + // Field values are 1 near and 0 away for the interface. + tmp nearInterface() const; + + //- Solve for the mixture phase-fractions + void solve(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/phaseModel/phaseModel.C similarity index 97% rename from applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C rename to applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/phaseModel/phaseModel.C index a60a069105..5f0a9de69c 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.C +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/phaseModel/phaseModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/phaseModel/phaseModel.H similarity index 98% rename from applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.H rename to applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/phaseModel/phaseModel.H index fb5bb5ea66..aa0389dfd9 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/phaseModel/phaseModel.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/phaseModel/phaseModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/createFields.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/createFields.H index aae7d1782a..ccf94010f9 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/createFields.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/createFields.H @@ -28,8 +28,8 @@ volVectorField U #include "createPhi.H" -Info<< "Constructing multiphaseMixtureThermo\n" << endl; -multiphaseMixtureThermo mixture(U, phi); +Info<< "Constructing compressibleMultiphaseMixture\n" << endl; +compressibleMultiphaseMixture mixture(U, phi); const volScalarField& rho = mixture.rho(); diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/Make/files b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/Make/files deleted file mode 100644 index 93e6eb9e3d..0000000000 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/Make/files +++ /dev/null @@ -1,5 +0,0 @@ -phaseModel/phaseModel.C -alphaContactAngle/alphaContactAngleFvPatchScalarField.C -multiphaseMixtureThermo.C - -LIB = $(FOAM_LIBBIN)/libmultiphaseMixtureThermo diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H deleted file mode 100644 index 1fd86cf957..0000000000 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H +++ /dev/null @@ -1,490 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::multiphaseMixtureThermo - -Description - -SourceFiles - multiphaseMixtureThermo.C - -\*---------------------------------------------------------------------------*/ - -#ifndef multiphaseMixtureThermo_H -#define multiphaseMixtureThermo_H - -#include "phaseModel.H" -#include "PtrDictionary.H" -#include "volFields.H" -#include "surfaceFields.H" -#include "rhoThermo.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class multiphaseMixtureThermo Declaration -\*---------------------------------------------------------------------------*/ - -class multiphaseMixtureThermo -: - public rhoThermo::composite -{ -public: - - class interfacePair - : - public Pair - { - public: - - class hash - : - public Hash - { - public: - - hash() - {} - - label operator()(const interfacePair& key) const - { - return word::hash()(key.first()) + word::hash()(key.second()); - } - }; - - - // Constructors - - interfacePair() - {} - - interfacePair(const word& alpha1Name, const word& alpha2Name) - : - Pair(alpha1Name, alpha2Name) - {} - - interfacePair(const phaseModel& alpha1, const phaseModel& alpha2) - : - Pair(alpha1.name(), alpha2.name()) - {} - - - // Friend Operators - - friend bool operator== - ( - const interfacePair& a, - const interfacePair& b - ) - { - return - ( - ((a.first() == b.first()) && (a.second() == b.second())) - || ((a.first() == b.second()) && (a.second() == b.first())) - ); - } - - friend bool operator!= - ( - const interfacePair& a, - const interfacePair& b - ) - { - return (!(a == b)); - } - }; - - -private: - - // Private Data - - //- Dictionary of phases - PtrDictionary phases_; - - const fvMesh& mesh_; - const volVectorField& U_; - const surfaceScalarField& phi_; - - surfaceScalarField rhoPhi_; - - volScalarField alphas_; - - typedef HashTable - sigmaTable; - - sigmaTable sigmas_; - dimensionSet dimSigma_; - - //- Stabilisation for normalisation of the interface normal - const dimensionedScalar deltaN_; - - - // Private Member Functions - - void calcAlphas(); - - void solveAlphas(const scalar cAlpha); - - tmp nHatfv - ( - const volScalarField& alpha1, - const volScalarField& alpha2 - ) const; - - tmp nHatf - ( - const volScalarField& alpha1, - const volScalarField& alpha2 - ) const; - - void correctContactAngle - ( - const phaseModel& alpha1, - const phaseModel& alpha2, - surfaceVectorField::Boundary& nHatb - ) const; - - tmp K - ( - const phaseModel& alpha1, - const phaseModel& alpha2 - ) const; - - -public: - - //- Runtime type information - TypeName("multiphaseMixtureThermo"); - - - // Constructors - - //- Construct from components - multiphaseMixtureThermo - ( - const volVectorField& U, - const surfaceScalarField& phi - ); - - - //- Destructor - virtual ~multiphaseMixtureThermo() - {} - - - // Member Functions - - //- Return the phases - const PtrDictionary& phases() const - { - return phases_; - } - - //- Return non-const access to the phases - PtrDictionary& phases() - { - return phases_; - } - - //- Return the velocity - const volVectorField& U() const - { - return U_; - } - - //- Return the volumetric flux - const surfaceScalarField& phi() const - { - return phi_; - } - - const surfaceScalarField& rhoPhi() const - { - return rhoPhi_; - } - - //- Correct the thermodynamics of each phase - virtual void correctThermo(); - - //- Update properties - virtual void correct(); - - //- Update densities for given pressure change - void correctRho(const volScalarField& dp); - - //- Return the name of the thermo physics - virtual word thermoName() const; - - //- Return true if the equation of state is incompressible - // i.e. rho != f(p) - virtual bool incompressible() const; - - //- Return true if the equation of state is isochoric - // i.e. rho = const - virtual bool isochoric() const; - - - // Access to thermodynamic state variables - - //- Enthalpy/Internal energy [J/kg] - // Non-const access allowed for transport equations - virtual volScalarField& he() - { - NotImplemented; - return phases_[0].thermo().he(); - } - - //- Enthalpy/Internal energy [J/kg] - virtual const volScalarField& he() const - { - NotImplemented; - return phases_[0].thermo().he(); - } - - //- Enthalpy/Internal energy - // for given pressure and temperature [J/kg] - virtual tmp he - ( - const volScalarField& p, - const volScalarField& T - ) const; - - //- Enthalpy/Internal energy for cell-set [J/kg] - virtual tmp he - ( - const scalarField& T, - const labelList& cells - ) const; - - //- Enthalpy/Internal energy for patch [J/kg] - virtual tmp he - ( - const scalarField& T, - const label patchi - ) const; - - //- Sensible enthalpy [J/kg] - virtual tmp hs() const; - - //- Sensible enthalpy - // for given pressure and temperature [J/kg] - virtual tmp hs - ( - const volScalarField& p, - const volScalarField& T - ) const; - - //- Sensible enthalpy for cell-set [J/kg] - virtual tmp hs - ( - const scalarField& T, - const labelList& cells - ) const; - - //- Sensible enthalpy for patch [J/kg] - virtual tmp hs - ( - const scalarField& T, - const label patchi - ) const; - - //- Absolute enthalpy [J/kg] - virtual tmp ha() const; - - //- Absolute enthalpy - // for given pressure and temperature [J/kg] - virtual tmp ha - ( - const volScalarField& p, - const volScalarField& T - ) const; - - //- Absolute enthalpy for cell-set [J/kg] - virtual tmp ha - ( - const scalarField& T, - const labelList& cells - ) const; - - //- Absolute enthalpy for patch [J/kg] - virtual tmp ha - ( - const scalarField& T, - const label patchi - ) const; - - //- Enthalpy of formation [J/kg] - virtual tmp hc() const; - - //- Temperature from enthalpy/internal energy - virtual tmp THE - ( - const volScalarField& h, - const volScalarField& p, - const volScalarField& T0 // starting temperature - ) const; - - //- Temperature from enthalpy/internal energy for cell-set - virtual tmp THE - ( - const scalarField& h, - const scalarField& T0, // starting temperature - const labelList& cells - ) const; - - //- Temperature from enthalpy/internal energy for patch - virtual tmp THE - ( - const scalarField& h, - const scalarField& T0, // starting temperature - const label patchi - ) const; - - - // Fields derived from thermodynamic state variables - - //- Heat capacity at constant pressure [J/kg/K] - virtual tmp Cp() const; - - //- Heat capacity at constant pressure for patch [J/kg/K] - virtual tmp Cp - ( - const scalarField& T, - const label patchi - ) const; - - //- Heat capacity at constant volume [J/kg/K] - virtual tmp Cv() const; - - //- Heat capacity at constant volume for patch [J/kg/K] - virtual tmp Cv - ( - const scalarField& T, - const label patchi - ) const; - - //- Gamma = Cp/Cv [] - virtual tmp gamma() const; - - //- Gamma = Cp/Cv for patch [] - virtual tmp gamma - ( - const scalarField& T, - const label patchi - ) const; - - //- Heat capacity at constant pressure/volume [J/kg/K] - virtual tmp Cpv() const; - - //- Heat capacity at constant pressure/volume for patch [J/kg/K] - virtual tmp Cpv - ( - const scalarField& T, - const label patchi - ) const; - - //- Molecular weight [kg/kmol] - virtual tmp W() const; - - //- Molecular weight for patch [kg/kmol] - virtual tmp W(const label patchi) const; - - - // Fields derived from transport state variables - - //- Kinematic viscosity of mixture [m^2/s] - virtual tmp nu() const; - - //- Kinematic viscosity of mixture for patch [m^2/s] - virtual tmp nu(const label patchi) const; - - //- Thermal diffusivity for temperature of mixture [W/m/K] - virtual tmp kappa() const; - - //- Thermal diffusivity of mixture for patch [W/m/K] - virtual tmp kappa - ( - const label patchi - ) const; - - //- Thermal diffusivity for energy of mixture [kg/m/s] - virtual tmp alphahe() const; - - //- Thermal diffusivity for energy of mixture for patch [kg/m/s] - virtual tmp alphahe(const label patchi) const; - - //- Effective thermal diffusivity of mixture [W/m/K] - virtual tmp kappaEff - ( - const volScalarField& alphat - ) const; - - //- Effective thermal diffusivity of mixture for patch [W/m/K] - virtual tmp kappaEff - ( - const scalarField& alphat, - const label patchi - ) const; - - //- Effective thermal diffusivity of mixture [W/m/K] - virtual tmp alphaEff - ( - const volScalarField& alphat - ) const; - - //- Effective thermal diffusivity of mixture for patch [W/m/K] - virtual tmp alphaEff - ( - const scalarField& alphat, - const label patchi - ) const; - - - //- Return the phase-averaged reciprocal Cv - tmp rCv() const; - - tmp surfaceTensionForce() const; - - //- Indicator of the proximity of the interface - // Field values are 1 near and 0 away for the interface. - tmp nearInterface() const; - - //- Solve for the mixture phase-fractions - void solve(); -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/driftFluxFoam/Make/options b/applications/solvers/multiphase/driftFluxFoam/Make/options index 440ac32f2d..ac1bc9f5ed 100644 --- a/applications/solvers/multiphase/driftFluxFoam/Make/options +++ b/applications/solvers/multiphase/driftFluxFoam/Make/options @@ -5,7 +5,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude diff --git a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C index f3209d477f..4837e2edc0 100644 --- a/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C +++ b/applications/solvers/multiphase/driftFluxFoam/driftFluxFoam.C @@ -39,7 +39,7 @@ Description #include "incompressibleTwoPhaseInteractingMixture.H" #include "relativeVelocityModel.H" #include "momentumTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "pimpleControl.H" #include "pressureReference.H" #include "fvModels.H" diff --git a/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C b/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C index 454080ee78..d237a94387 100644 --- a/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C +++ b/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.C @@ -25,8 +25,6 @@ License #include "incompressibleTwoPhaseInteractingMixture.H" #include "addToRunTimeSelectionTable.H" -#include "surfaceFields.H" -#include "fvc.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -45,51 +43,20 @@ incompressibleTwoPhaseInteractingMixture const surfaceScalarField& phi ) : - IOdictionary - ( - IOobject - ( - "transportProperties", - U.time().constant(), - U.db(), - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) - ), - twoPhaseMixture(U.mesh(), *this), - dynamicTransportModel(), + twoPhaseMixture(U.mesh()), - muModel_ - ( - mixtureViscosityModel::New - ( - "mu", - subDict(phase1Name_), - U, - phi - ) - ), + muModel_(mixtureViscosityModel::New(U.mesh(), phase1Name())), + nucModel_(viscosityModel::New(U.mesh(), phase2Name())), - nucModel_ - ( - viscosityModel::New - ( - "nuc", - subDict(phase2Name_), - U, - phi - ) - ), - - rhod_("rho", dimDensity, muModel_->viscosityProperties()), - rhoc_("rho", dimDensity, nucModel_->viscosityProperties()), + rhod_("rho", dimDensity, muModel_()), + rhoc_("rho", dimDensity, nucModel_()), dd_ ( "d", dimLength, - muModel_->viscosityProperties().lookupOrDefault("d", 0.0) + muModel_->lookupOrDefault("d", 0.0) ), - alphaMax_(muModel_->viscosityProperties().lookupOrDefault("alphaMax", 1.0)), + alphaMax_(muModel_->lookupOrDefault("alphaMax", 1.0)), U_(U), phi_(phi), @@ -117,28 +84,19 @@ bool Foam::incompressibleTwoPhaseInteractingMixture::read() { if (regIOobject::read()) { - if - ( - muModel_().read(subDict(phase1Name_)) - && nucModel_().read(subDict(phase2Name_)) - ) + if (muModel_->read() || nucModel_->read()) { - muModel_->viscosityProperties().lookup("rho") >> rhod_; - nucModel_->viscosityProperties().lookup("rho") >> rhoc_; + muModel_->lookup("rho") >> rhod_; + nucModel_->lookup("rho") >> rhoc_; dd_ = dimensionedScalar ( "d", dimLength, - muModel_->viscosityProperties().lookupOrDefault("d", 0) + muModel_->lookupOrDefault("d", 0) ); - alphaMax_ = - muModel_->viscosityProperties().lookupOrDefault - ( - "alphaMax", - 1.0 - ); + alphaMax_ = muModel_->lookupOrDefault( "alphaMax", 1.0); return true; } diff --git a/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.H b/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.H index 5841405d20..7de3300031 100644 --- a/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.H +++ b/applications/solvers/multiphase/driftFluxFoam/incompressibleTwoPhaseInteractingMixture/incompressibleTwoPhaseInteractingMixture.H @@ -40,8 +40,7 @@ SourceFiles #include "viscosityModel.H" #include "mixtureViscosityModel.H" #include "twoPhaseMixture.H" -#include "dynamicTransportModel.H" -#include "IOdictionary.H" +#include "viscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -54,13 +53,10 @@ namespace Foam class incompressibleTwoPhaseInteractingMixture : - public IOdictionary, public twoPhaseMixture, - public dynamicTransportModel + public viscosity { -protected: - - // Protected data + // Private data autoPtr muModel_; autoPtr nucModel_; @@ -160,15 +156,15 @@ public: //- Return the mixture density virtual tmp rho() const { - return alpha1_*rhod_ + alpha2_*rhoc_; + return alpha1()*rhod_ + alpha2()*rhoc_; } //- Return the mixture density for patch virtual tmp rho(const label patchi) const { return - alpha1_.boundaryField()[patchi]*rhod_.value() - + alpha2_.boundaryField()[patchi]*rhoc_.value(); + alpha1().boundaryField()[patchi]*rhod_.value() + + alpha2().boundaryField()[patchi]*rhoc_.value(); } //- Return the mixture viscosity @@ -186,10 +182,10 @@ public: //- Correct the laminar viscosity virtual void correct() { - mu_ = muModel_->mu(rhoc_*nucModel_->nu()); + mu_ = muModel_->mu(rhoc_*nucModel_->nu(), U_); } - //- Read base transportProperties dictionary + //- Read base phaseProperties dictionary virtual bool read(); }; diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C index cf3b98cb29..64a93fcf20 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -49,13 +49,11 @@ namespace mixtureViscosityModels Foam::mixtureViscosityModels::BinghamPlastic::BinghamPlastic ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ) : - plastic(name, viscosityProperties, U, phi, typeName), + plastic(mesh, group), yieldStressCoeff_ ( "BinghamCoeff", @@ -73,8 +71,7 @@ Foam::mixtureViscosityModels::BinghamPlastic::BinghamPlastic "BinghamOffset", dimless, plasticCoeffs_ - ), - U_(U) + ) {} @@ -83,7 +80,8 @@ Foam::mixtureViscosityModels::BinghamPlastic::BinghamPlastic Foam::tmp Foam::mixtureViscosityModels::BinghamPlastic::mu ( - const volScalarField& muc + const volScalarField& muc, + const volVectorField& U ) const { volScalarField tauy @@ -108,7 +106,7 @@ Foam::mixtureViscosityModels::BinghamPlastic::mu ) ); - volScalarField mup(plastic::mu(muc)); + volScalarField mup(plastic::mu(muc, U)); dimensionedScalar tauySmall("tauySmall", tauy.dimensions(), small); @@ -116,7 +114,7 @@ Foam::mixtureViscosityModels::BinghamPlastic::mu ( tauy /( - sqrt(2.0)*mag(symm(fvc::grad(U_))) + sqrt(2.0)*mag(symm(fvc::grad(U))) + 1.0e-4*(tauy + tauySmall)/mup ) + mup, @@ -125,18 +123,20 @@ Foam::mixtureViscosityModels::BinghamPlastic::mu } -bool Foam::mixtureViscosityModels::BinghamPlastic::read -( - const dictionary& viscosityProperties -) +bool Foam::mixtureViscosityModels::BinghamPlastic::read() { - plastic::read(viscosityProperties); + if (plastic::read()) + { + plasticCoeffs_.lookup("yieldStressCoeff") >> yieldStressCoeff_; + plasticCoeffs_.lookup("yieldStressExponent") >> yieldStressExponent_; + plasticCoeffs_.lookup("yieldStressOffset") >> yieldStressOffset_; - plasticCoeffs_.lookup("yieldStressCoeff") >> yieldStressCoeff_; - plasticCoeffs_.lookup("yieldStressExponent") >> yieldStressExponent_; - plasticCoeffs_.lookup("yieldStressOffset") >> yieldStressOffset_; - - return true; + return true; + } + else + { + return false; + } } diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.H b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.H index b5a5f042d4..c735537605 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.H +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/BinghamPlastic/BinghamPlastic.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -54,9 +54,7 @@ class BinghamPlastic : public plastic { -protected: - - // Protected data + // Private data //- Yield stress coefficient dimensionedScalar yieldStressCoeff_; @@ -67,9 +65,6 @@ protected: //- Yield stress offset dimensionedScalar yieldStressOffset_; - //- Velocity - const volVectorField& U_; - public: @@ -80,13 +75,7 @@ public: // Constructors //- Construct from components - BinghamPlastic - ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi - ); + BinghamPlastic(const fvMesh& mesh, const word& group); //- Destructor @@ -98,10 +87,14 @@ public: //- Return the mixture viscosity // given the viscosity of the continuous phase - tmp mu(const volScalarField& muc) const; + tmp mu + ( + const volScalarField& muc, + const volVectorField& U + ) const; - //- Read transportProperties dictionary - bool read(const dictionary& viscosityProperties); + //- Read phaseProperties dictionary + bool read(); }; diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/Make/options b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/Make/options index 44d726f695..6f67fba5f1 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/Make/options +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/Make/options @@ -1,10 +1,10 @@ EXE_INC = \ -I../incompressibleTwoPhaseInteractingMixture \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude LIB_LIBS = \ -ltwoPhaseMixture \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.C index 6ed8e1bf91..cb11de0f7f 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.C +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -39,27 +39,12 @@ namespace Foam Foam::mixtureViscosityModel::mixtureViscosityModel ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ) : - name_(name), - viscosityProperties_(viscosityProperties), - U_(U), - phi_(phi) + viscosityModel(mesh, group) {} -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -bool Foam::mixtureViscosityModel::read(const dictionary& viscosityProperties) -{ - viscosityProperties_ = viscosityProperties; - - return true; -} - - // ************************************************************************* // diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.H b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.H index ce92d23b34..6a98f3726c 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.H +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -43,9 +43,7 @@ SourceFiles #define mixtureViscosityModel_H #include "dictionary.H" -#include "volFieldsFwd.H" -#include "surfaceFieldsFwd.H" -#include "dimensionedScalar.H" +#include "viscosityModel.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -58,19 +56,10 @@ namespace Foam \*---------------------------------------------------------------------------*/ class mixtureViscosityModel +: + public viscosityModel { -protected: - - // Protected data - - word name_; - dictionary viscosityProperties_; - - const volVectorField& U_; - const surfaceScalarField& phi_; - - public: //- Runtime type information @@ -85,25 +74,17 @@ public: mixtureViscosityModel, dictionary, ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ), - (name, viscosityProperties, U, phi) + (mesh, group) ); // Constructors //- Construct from components - mixtureViscosityModel - ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi - ); + mixtureViscosityModel(const fvMesh& U, const word& group); //- Disallow default bitwise copy construction mixtureViscosityModel(const mixtureViscosityModel&); @@ -114,10 +95,8 @@ public: //- Return a reference to the selected viscosity model static autoPtr New ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ); @@ -128,18 +107,31 @@ public: // Member Functions - //- Return the phase transport properties dictionary - const dictionary& viscosityProperties() const + //- Return the laminar viscosity + virtual tmp nu() const { - return viscosityProperties_; + NotImplemented; + return tmp(nullptr); } - //- Return the mixture viscosity - // given the viscosity of the continuous phase - virtual tmp mu(const volScalarField& muc) const = 0; + //- Return the laminar viscosity for patch + virtual tmp nu(const label patchi) const + { + NotImplemented; + return tmp(nullptr); + } - //- Read transportProperties dictionary - virtual bool read(const dictionary& viscosityProperties) = 0; + //- Correct the laminar viscosity + virtual void correct() + {} + + //- Return the mixture viscosity + // given the viscosity and velocity of the continuous phase + virtual tmp mu + ( + const volScalarField& muc, + const volVectorField& U + ) const = 0; // Member Operators diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C index f0845c55ce..49a21ee279 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/mixtureViscosityModel/mixtureViscosityModelNew.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -31,15 +31,19 @@ License Foam::autoPtr Foam::mixtureViscosityModel::New ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ) { - const word modelType(viscosityProperties.lookup("transportModel")); + const word modelType + ( + IOdictionary + ( + viscosityModel::findModelDict(mesh, group) + ).lookup("viscosityModel") + ); - Info<< "Selecting incompressible transport model " << modelType << endl; + Info<< "Selecting mixture viscosity model " << modelType << endl; dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTablePtr_->find(modelType); @@ -54,8 +58,7 @@ Foam::autoPtr Foam::mixtureViscosityModel::New << exit(FatalError); } - return autoPtr - (cstrIter()(name, viscosityProperties, U, phi)); + return autoPtr(cstrIter()(mesh, group)); } diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C index 2cf09e4b0b..c69b7ba39a 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -48,15 +48,12 @@ namespace mixtureViscosityModels Foam::mixtureViscosityModels::plastic::plastic ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi, - const word modelName + const fvMesh& mesh, + const word& group ) : - mixtureViscosityModel(name, viscosityProperties, U, phi), - plasticCoeffs_(viscosityProperties.optionalSubDict(modelName + "Coeffs")), + mixtureViscosityModel(mesh, group), + plasticCoeffs_(optionalSubDict(typeName + "Coeffs")), plasticViscosityCoeff_ ( "coeff", @@ -77,12 +74,12 @@ Foam::mixtureViscosityModels::plastic::plastic ), alpha_ ( - U.mesh().lookupObject + mesh.lookupObject ( IOobject::groupName ( - viscosityProperties.lookupOrDefault("alpha", "alpha"), - viscosityProperties.dictName() + lookupOrDefault("alpha", "alpha"), + group ) ) ) @@ -92,7 +89,11 @@ Foam::mixtureViscosityModels::plastic::plastic // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // Foam::tmp -Foam::mixtureViscosityModels::plastic::mu(const volScalarField& muc) const +Foam::mixtureViscosityModels::plastic::mu +( + const volScalarField& muc, + const volVectorField& U +) const { return min ( @@ -110,20 +111,22 @@ Foam::mixtureViscosityModels::plastic::mu(const volScalarField& muc) const } -bool Foam::mixtureViscosityModels::plastic::read -( - const dictionary& viscosityProperties -) +bool Foam::mixtureViscosityModels::plastic::read() { - mixtureViscosityModel::read(viscosityProperties); + if (mixtureViscosityModel::read()) + { + plasticCoeffs_ = optionalSubDict(typeName + "Coeffs"); - plasticCoeffs_ = viscosityProperties.optionalSubDict(typeName + "Coeffs"); + plasticCoeffs_.lookup("k") >> plasticViscosityCoeff_; + plasticCoeffs_.lookup("n") >> plasticViscosityExponent_; + plasticCoeffs_.lookup("muMax") >> muMax_; - plasticCoeffs_.lookup("k") >> plasticViscosityCoeff_; - plasticCoeffs_.lookup("n") >> plasticViscosityExponent_; - plasticCoeffs_.lookup("muMax") >> muMax_; - - return true; + return true; + } + else + { + return false; + } } diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.H b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.H index ee8e7b0ab1..43d99941ea 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.H +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/plastic/plastic.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -86,14 +86,7 @@ public: // Constructors //- Construct from components - plastic - ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi, - const word modelName=typeName - ); + plastic(const fvMesh& mesh, const word& group); //- Destructor @@ -105,10 +98,14 @@ public: //- Return the mixture viscosity // given the viscosity of the continuous phase - tmp mu(const volScalarField& muc) const; + tmp mu + ( + const volScalarField& muc, + const volVectorField& U + ) const; - //- Read transportProperties dictionary - bool read(const dictionary& viscosityProperties); + //- Read phaseProperties dictionary + bool read(); }; diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.C b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.C index 950ee01a9e..50a4b6c91c 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.C +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -48,22 +48,19 @@ namespace mixtureViscosityModels Foam::mixtureViscosityModels::slurry::slurry ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi, - const word modelName + const fvMesh& mesh, + const word& group ) : - mixtureViscosityModel(name, viscosityProperties, U, phi), + mixtureViscosityModel(mesh, group), alpha_ ( - U.mesh().lookupObject + mesh.lookupObject ( IOobject::groupName ( - viscosityProperties.lookupOrDefault("alpha", "alpha"), - viscosityProperties.dictName() + lookupOrDefault("alpha", "alpha"), + group ) ) ) @@ -73,7 +70,11 @@ Foam::mixtureViscosityModels::slurry::slurry // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // Foam::tmp -Foam::mixtureViscosityModels::slurry::mu(const volScalarField& muc) const +Foam::mixtureViscosityModels::slurry::mu +( + const volScalarField& muc, + const volVectorField& U +) const { return ( @@ -82,12 +83,9 @@ Foam::mixtureViscosityModels::slurry::mu(const volScalarField& muc) const } -bool Foam::mixtureViscosityModels::slurry::read -( - const dictionary& viscosityProperties -) +bool Foam::mixtureViscosityModels::slurry::read() { - return true; + return mixtureViscosityModel::read(); } diff --git a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.H b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.H index fe1e3613e9..a078e1e0b6 100644 --- a/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.H +++ b/applications/solvers/multiphase/driftFluxFoam/mixtureViscosityModels/slurry/slurry.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -66,9 +66,7 @@ class slurry : public mixtureViscosityModel { -protected: - - // Protected data + // Private data //- Slurry phase fraction const volScalarField& alpha_; @@ -83,14 +81,7 @@ public: // Constructors //- Construct from components - slurry - ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi, - const word modelName=typeName - ); + slurry(const fvMesh& mesh, const word& group); //- Destructor @@ -102,10 +93,14 @@ public: //- Return the mixture viscosity // given the viscosity of the continuous phase - tmp mu(const volScalarField& muc) const; + tmp mu + ( + const volScalarField& muc, + const volVectorField& U + ) const; - //- Read transportProperties dictionary - bool read(const dictionary& viscosityProperties); + //- Read phaseProperties dictionary + bool read(); }; diff --git a/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/Make/options b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/Make/options index 449f1ea9bd..38e2b6e929 100644 --- a/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/Make/options +++ b/applications/solvers/multiphase/driftFluxFoam/relativeVelocityModels/Make/options @@ -1,12 +1,12 @@ EXE_INC = \ -I../incompressibleTwoPhaseInteractingMixture \ -I../mixtureViscosityModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/multiphase/interFoam/Allwclean b/applications/solvers/multiphase/interFoam/Allwclean new file mode 100755 index 0000000000..63318c1e7a --- /dev/null +++ b/applications/solvers/multiphase/interFoam/Allwclean @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +wclean libso incompressibleInterPhaseTransportModel + +wclean +wclean interMixingFoam + +#------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/interFoam/Allwmake b/applications/solvers/multiphase/interFoam/Allwmake new file mode 100755 index 0000000000..2c663f0b19 --- /dev/null +++ b/applications/solvers/multiphase/interFoam/Allwmake @@ -0,0 +1,12 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Parse arguments for library compilation +. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments + +wmake $targetType incompressibleInterPhaseTransportModel + +wmake $targetType +wmake $targetType interMixingFoam + +#------------------------------------------------------------------------------ diff --git a/applications/solvers/multiphase/interFoam/Make/options b/applications/solvers/multiphase/interFoam/Make/options index ee12a0285a..50399aa158 100644 --- a/applications/solvers/multiphase/interFoam/Make/options +++ b/applications/solvers/multiphase/interFoam/Make/options @@ -1,5 +1,6 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -IincompressibleInterPhaseTransportModel/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \ @@ -7,6 +8,8 @@ EXE_INC = \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseChange/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ + -I$(LIB_SRC)/MomentumTransportModels/phaseIncompressible/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/dynamicFvMesh/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ @@ -17,6 +20,7 @@ EXE_LIBS = \ -ltwoPhaseChangeModels \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ + -lincompressibleInterPhaseTransportModel \ -lfiniteVolume \ -ldynamicFvMesh \ -ltopoChangerFvMesh \ diff --git a/applications/solvers/multiphase/interFoam/UEqn.H b/applications/solvers/multiphase/interFoam/UEqn.H index e620093f29..b3317395c4 100644 --- a/applications/solvers/multiphase/interFoam/UEqn.H +++ b/applications/solvers/multiphase/interFoam/UEqn.H @@ -4,7 +4,7 @@ ( fvm::ddt(rho, U) + fvm::div(rhoPhi, U) + MRF.DDt(rho, U) - + turbulence->divDevTau(rho, U) + + turbulence.divDevTau(rho, U) == phaseChange.SU(rho, rhoPhi, U) + fvModels.source(rho, U) diff --git a/applications/solvers/multiphase/interFoam/createFieldRefs.H b/applications/solvers/multiphase/interFoam/createFieldRefs.H index c6874b154c..3f95cb8ffc 100644 --- a/applications/solvers/multiphase/interFoam/createFieldRefs.H +++ b/applications/solvers/multiphase/interFoam/createFieldRefs.H @@ -1,2 +1,7 @@ +volScalarField& alpha2(mixture.alpha2()); + +const dimensionedScalar& rho1 = mixture.rho1(); +const dimensionedScalar& rho2 = mixture.rho2(); + twoPhaseChangeModel& phaseChange = phaseChangePtr(); tmp rAU; diff --git a/applications/solvers/multiphase/interFoam/createFields.H b/applications/solvers/multiphase/interFoam/createFields.H index bc337a7875..12e1454352 100644 --- a/applications/solvers/multiphase/interFoam/createFields.H +++ b/applications/solvers/multiphase/interFoam/createFields.H @@ -31,7 +31,7 @@ volVectorField U #include "createPhi.H" -Info<< "Reading transportProperties\n" << endl; +Info<< "Reading phaseProperties\n" << endl; immiscibleIncompressibleTwoPhaseMixture mixture(U, phi); autoPtr phaseChangePtr @@ -39,12 +39,6 @@ autoPtr phaseChangePtr twoPhaseChangeModel::New(mixture) ); -volScalarField& alpha1(mixture.alpha1()); -volScalarField& alpha2(mixture.alpha2()); - -const dimensionedScalar& rho1 = mixture.rho1(); -const dimensionedScalar& rho2 = mixture.rho2(); - // Need to store rho for ddt(rho, U) volScalarField rho @@ -56,18 +50,11 @@ volScalarField rho mesh, IOobject::READ_IF_PRESENT ), - alpha1*rho1 + alpha2*rho2 + mixture.rho() ); rho.oldTime(); -// Construct incompressible turbulence model -autoPtr turbulence -( - incompressible::momentumTransportModel::New(U, phi, mixture) -); - - #include "readGravitationalAcceleration.H" #include "readhRef.H" #include "gh.H" @@ -101,8 +88,23 @@ if (p_rgh.needReference()) } mesh.setFluxRequired(p_rgh.name()); + +volScalarField& alpha1(mixture.alpha1()); mesh.setFluxRequired(alpha1.name()); + +#include "createAlphaFluxes.H" + +// Construct incompressible turbulence model +incompressibleInterPhaseTransportModel turbulence +( + U, + phi, + alphaPhi1, + mixture +); + + #include "createMRF.H" #include "createFvModels.H" #include "createFvConstraints.H" diff --git a/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/files b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/files new file mode 100644 index 0000000000..76494fe7cd --- /dev/null +++ b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/files @@ -0,0 +1,3 @@ +incompressibleInterPhaseTransportModel.C + +LIB = $(FOAM_LIBBIN)/libincompressibleInterPhaseTransportModel diff --git a/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/options b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/options new file mode 100644 index 0000000000..4f81b2d57f --- /dev/null +++ b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/options @@ -0,0 +1,21 @@ +EXE_INC = \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ + -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ + -I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \ + -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ + -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ + -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ + -I$(LIB_SRC)/MomentumTransportModels/phaseIncompressible/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude + +LIB_LIBS = \ + -lphysicalProperties \ + -ltwoPhaseMixture \ + -ltwoPhaseProperties \ + -linterfaceProperties \ + -lmomentumTransportModels \ + -lincompressibleMomentumTransportModels \ + -lphaseIncompressibleMomentumTransportModels \ + -lfiniteVolume \ + -lmeshTools diff --git a/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.C b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.C new file mode 100644 index 0000000000..af897105dc --- /dev/null +++ b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.C @@ -0,0 +1,165 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "incompressibleInterPhaseTransportModel.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::incompressibleInterPhaseTransportModel:: +incompressibleInterPhaseTransportModel +( + const volVectorField& U, + const surfaceScalarField& phi, + const surfaceScalarField& alphaPhi10, + const incompressibleTwoPhaseMixture& mixture +) +: + twoPhaseTransport_(false), + mixture_(mixture), + phi_(phi), + alphaPhi10_(alphaPhi10) +{ + { + IOdictionary momentumTransport + ( + IOobject + ( + momentumTransportModel::typeName, + U.time().constant(), + U.db(), + IOobject::MUST_READ, + IOobject::NO_WRITE + ) + ); + + word simulationType + ( + momentumTransport.lookup("simulationType") + ); + + if (simulationType == "twoPhaseTransport") + { + twoPhaseTransport_ = true; + } + } + + if (twoPhaseTransport_) + { + const volScalarField& alpha1(mixture_.alpha1()); + const volScalarField& alpha2(mixture_.alpha2()); + + alphaPhi2_ = + ( + new surfaceScalarField + ( + IOobject::groupName("alphaPhi", alpha2.group()), + (phi_ - alphaPhi10_) + ) + ); + + turbulence1_ = + ( + phaseIncompressible::momentumTransportModel::New + ( + alpha1, + U, + alphaPhi10_, + phi, + mixture.nuModel1() + ) + ); + + turbulence2_ = + ( + phaseIncompressible::momentumTransportModel::New + ( + alpha2, + U, + alphaPhi2_(), + phi, + mixture.nuModel2() + ) + ); + } + else + { + turbulence_ = incompressible::momentumTransportModel::New + ( + U, + phi, + mixture + ); + + turbulence_->validate(); + } +} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +Foam::tmp +Foam::incompressibleInterPhaseTransportModel::divDevTau +( + const volScalarField& rho, + volVectorField& U +) const +{ + if (twoPhaseTransport_) + { + return + mixture_.rho1()*turbulence1_->divDevSigma(U) + + mixture_.rho2()*turbulence2_->divDevSigma(U); + } + else + { + return turbulence_->divDevTau(rho, U); + } +} + + +void Foam::incompressibleInterPhaseTransportModel::correctPhasePhi() +{ + if (twoPhaseTransport_) + { + alphaPhi2_.ref() = (phi_ - alphaPhi10_); + } +} + + +void Foam::incompressibleInterPhaseTransportModel::correct() +{ + if (twoPhaseTransport_) + { + turbulence1_->correct(); + turbulence2_->correct(); + } + else + { + turbulence_->correct(); + } +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.H b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.H new file mode 100644 index 0000000000..b81ec29428 --- /dev/null +++ b/applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.H @@ -0,0 +1,140 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::incompressibleInterPhaseTransportModel + +Description + Transport model selection class for the interFoam family of solvers. + + By default the standard mixture transport modelling approach is used in + which a single momentum stress model (laminar, non-Newtonian, LES or RAS) is + constructed for the mixture. However if the \c simulationType in + constant/momentumTransport is set to \c twoPhaseTransport the alternative + Euler-Euler two-phase transport modelling approach is used in which separate + stress models (laminar, non-Newtonian, LES or RAS) are instantiated for each + of the two phases allowing for different modeling for the phases. + +SourceFiles + incompressibleInterPhaseTransportModel.C + +\*---------------------------------------------------------------------------*/ + +#ifndef incompressibleInterPhaseTransportModel_H +#define incompressibleInterPhaseTransportModel_H + +#include "incompressibleTwoPhaseMixture.H" +#include "incompressibleMomentumTransportModels.H" +#include "phaseIncompressibleMomentumTransportModel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class incompressibleInterPhaseTransportModel Declaration +\*---------------------------------------------------------------------------*/ + +class incompressibleInterPhaseTransportModel +{ + // Private Data + + //- Switch to select two-phase or mixture transport modelling + Switch twoPhaseTransport_; + + //- Two-phase mixture + const incompressibleTwoPhaseMixture& mixture_; + + //- Mixture volumetric flux + const surfaceScalarField& phi_; + + //- Phase volumetric flux + const surfaceScalarField& alphaPhi10_; + + //- Phase-2 mass-flux (constructed from alphaPhi10_ and phi_) + tmp alphaPhi2_; + + //- Mixture transport model (constructed for mixture transport) + autoPtr turbulence_; + + //- Phase-1 transport model (constructed for two-phase transport) + autoPtr turbulence1_; + + //- Phase-2 transport model (constructed for two-phase transport) + autoPtr turbulence2_; + + +public: + + // Constructors + + //- Construct from components + incompressibleInterPhaseTransportModel + ( + const volVectorField& U, + const surfaceScalarField& phi, + const surfaceScalarField& alphaPhi10, + const incompressibleTwoPhaseMixture& mixture + ); + + //- Disallow default bitwise copy construction + incompressibleInterPhaseTransportModel + ( + const incompressibleInterPhaseTransportModel& + ); + + + // Member Functions + + //- Return the effective momentum stress divergence + tmp divDevTau + ( + const volScalarField& rho, + volVectorField& U + ) const; + + //- Correct the phase mass-fluxes + // (required for the two-phase transport option) + void correctPhasePhi(); + + //- Correct the phase or mixture transport models + void correct(); + + + // Member Operators + + //- Disallow default bitwise assignment + void operator=(const incompressibleInterPhaseTransportModel&) = delete; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/interFoam/interFoam.C b/applications/solvers/multiphase/interFoam/interFoam.C index 747ef808a9..2be05a6d6f 100644 --- a/applications/solvers/multiphase/interFoam/interFoam.C +++ b/applications/solvers/multiphase/interFoam/interFoam.C @@ -41,7 +41,7 @@ Description #include "subCycle.H" #include "immiscibleIncompressibleTwoPhaseMixture.H" #include "noPhaseChange.H" -#include "kinematicMomentumTransportModel.H" +#include "incompressibleInterPhaseTransportModel.H" #include "pimpleControl.H" #include "pressureReference.H" #include "fvModels.H" @@ -62,12 +62,9 @@ int main(int argc, char *argv[]) #include "createDyMControls.H" #include "createFields.H" #include "createFieldRefs.H" - #include "createAlphaFluxes.H" #include "initCorrectPhi.H" #include "createUfIfPresent.H" - turbulence->validate(); - if (!LTS) { #include "CourantNo.H" @@ -171,6 +168,8 @@ int main(int argc, char *argv[]) #include "alphaControls.H" #include "alphaEqnSubCycle.H" + turbulence.correctPhasePhi(); + mixture.correct(); #include "UEqn.H" @@ -183,7 +182,7 @@ int main(int argc, char *argv[]) if (pimple.turbCorr()) { - turbulence->correct(); + turbulence.correct(); } } diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options index e0f6fca14f..145d027c3f 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I. \ -I.. \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseProperties/alphaContactAngle/alphaContactAngle \ @@ -18,7 +18,7 @@ EXE_INC = \ EXE_LIBS = \ -ltwoPhaseMixture \ -ltwoPhaseProperties \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lfiniteVolume \ diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C index 7839a14d80..9544888fd9 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.C @@ -53,7 +53,7 @@ Foam::incompressibleThreePhaseMixture::incompressibleThreePhaseMixture ( IOobject ( - "transportProperties", + "phaseProperties", U.time().constant(), U.db(), IOobject::MUST_READ_IF_MODIFIED, @@ -120,40 +120,13 @@ Foam::incompressibleThreePhaseMixture::incompressibleThreePhaseMixture calculatedFvPatchScalarField::typeName ), - nuModel1_ - ( - viscosityModel::New - ( - "nu1", - subDict(phase1Name_), - U, - phi - ) - ), - nuModel2_ - ( - viscosityModel::New - ( - "nu2", - subDict(phase2Name_), - U, - phi - ) - ), - nuModel3_ - ( - viscosityModel::New - ( - "nu3", - subDict(phase3Name_), - U, - phi - ) - ), + nuModel1_(viscosityModel::New(U.mesh(), phase1Name_)), + nuModel2_(viscosityModel::New(U.mesh(), phase2Name_)), + nuModel3_(viscosityModel::New(U.mesh(), phase3Name_)), - rho1_("rho", dimDensity, nuModel1_->viscosityProperties()), - rho2_("rho", dimDensity, nuModel2_->viscosityProperties()), - rho3_("rho", dimDensity, nuModel3_->viscosityProperties()) + rho1_("rho", dimDensity, nuModel1_()), + rho2_("rho", dimDensity, nuModel2_()), + rho3_("rho", dimDensity, nuModel3_()) { alpha3_ == 1.0 - alpha1_ - alpha2_; calcNu(); @@ -215,23 +188,11 @@ bool Foam::incompressibleThreePhaseMixture::read() { if (regIOobject::read()) { - if - ( - nuModel1_().read(*this) - && nuModel2_().read(*this) - && nuModel3_().read(*this) - ) - { - nuModel1_->viscosityProperties().lookup("rho") >> rho1_; - nuModel2_->viscosityProperties().lookup("rho") >> rho2_; - nuModel3_->viscosityProperties().lookup("rho") >> rho3_; + nuModel1_->lookup("rho") >> rho1_; + nuModel2_->lookup("rho") >> rho2_; + nuModel3_->lookup("rho") >> rho3_; - return true; - } - else - { - return false; - } + return true; } else { diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.H b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.H index 1e65d4beb7..62315a44ef 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.H +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/incompressibleThreePhaseMixture.H @@ -34,7 +34,7 @@ SourceFiles #ifndef incompressibleThreePhaseMixture_H #define incompressibleThreePhaseMixture_H -#include "kinematicTransportModel.H" +#include "viscosity.H" #include "IOdictionary.H" #include "viscosityModel.H" #include "dimensionedScalar.H" @@ -52,7 +52,7 @@ namespace Foam class incompressibleThreePhaseMixture : public IOdictionary, - public kinematicTransportModel + public viscosity { // Private Data @@ -223,7 +223,7 @@ public: calcNu(); } - //- Read base transportProperties dictionary + //- Read base phaseProperties dictionary bool read(); }; diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C index a6c40b3194..c1e064d442 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/interMixingFoam.C @@ -37,7 +37,7 @@ Description #include "localEulerDdtScheme.H" #include "subCycle.H" #include "immiscibleIncompressibleThreePhaseMixture.H" -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "pimpleControl.H" #include "pressureReference.H" #include "fvModels.H" diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/functionObjects/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/functionObjects/Make/options index c9b69038a2..7dd0220916 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/functionObjects/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/functionObjects/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I../phaseSystems/lnInclude \ -I../interfacialModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/Make/options index 0ba44f9d18..999696cdaa 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I../phaseSystems/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C index 8dab1045e3..9927869238 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -64,14 +64,18 @@ Foam::interfaceCompositionModel::interfaceCompositionModel ( phase_.mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phase_.name()) + IOobject::groupName(physicalProperties::typeName, phase_.name()) ) ), otherThermo_ ( otherPhase_.mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, otherPhase_.name()) + IOobject::groupName + ( + physicalProperties::typeName, + otherPhase_.name() + ) ) ) {} diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options index 9141b2de87..bdcf2eece0 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I../phaseSystems/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C index 4f46cd7fb6..1ddd67d10e 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C @@ -25,7 +25,7 @@ License #include "Burns.H" #include "phasePair.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" #include "dragModel.H" diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C index aeb96011ac..569db6cac8 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C @@ -25,7 +25,7 @@ License #include "Gosman.H" #include "phasePair.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" #include "dragModel.H" diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C index a2ca5c9e70..eeb17ecada 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C @@ -25,7 +25,7 @@ License #include "LopezDeBertodano.H" #include "phasePair.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C index a8800c6453..f96e527b67 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C @@ -25,7 +25,7 @@ License #include "constantTurbulentDispersionCoefficient.H" #include "phasePair.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C index 38982af8e8..22d2397037 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C @@ -28,7 +28,7 @@ License #include "fvcGrad.H" #include "surfaceInterpolate.H" #include "fvcSnGrad.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "BlendedInterfacialModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H index d5f2061ef6..2c80dbc956 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H @@ -38,7 +38,7 @@ SourceFiles #include "volFields.H" #include "dictionary.H" #include "runTimeSelectionTables.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/Make/options index f5aac1545a..c7556bae1d 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I../phaseSystems/lnInclude \ -I../interfacialModels/lnInclude\ -I../interfacialCompositionModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseJayatillekeWallFunction/alphatPhaseJayatillekeWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseJayatillekeWallFunction/alphatPhaseJayatillekeWallFunctionFvPatchScalarField.C index 776ae0db72..1e7706caae 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseJayatillekeWallFunction/alphatPhaseJayatillekeWallFunctionFvPatchScalarField.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseJayatillekeWallFunction/alphatPhaseJayatillekeWallFunctionFvPatchScalarField.C @@ -25,7 +25,7 @@ License #include "alphatPhaseJayatillekeWallFunctionFvPatchScalarField.H" #include "phaseSystem.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -182,8 +182,8 @@ alphatPhaseJayatillekeWallFunctionFvPatchScalarField::calcAlphat const scalarField& y = turbModel.y()[patchi]; - const tmp tmuw = turbModel.mu(patchi); - const scalarField& muw = tmuw(); + const tmp tnuw = turbModel.nu(patchi); + const scalarField& nuw = tnuw(); const tmp talphaw = phase.thermo().alpha(patchi); const scalarField& alphaw = talphaw(); @@ -213,9 +213,9 @@ alphatPhaseJayatillekeWallFunctionFvPatchScalarField::calcAlphat const scalarField uTau(Cmu25*sqrt(kw)); - const scalarField yPlus(uTau*y/(muw/rhow)); + const scalarField yPlus(uTau*y/nuw); - const scalarField Pr(muw/alphaw); + const scalarField Pr(rhow*nuw/alphaw); // Molecular-to-turbulent Prandtl number ratio const scalarField Prat(Pr/Prt_); diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C index 0ed81a44cf..f87ab5c8c7 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C @@ -26,8 +26,8 @@ License #include "alphatWallBoilingWallFunctionFvPatchScalarField.H" #include "phaseSystem.H" #include "heatTransferPhaseSystem.H" -#include "compressibleMomentumTransportModel.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "saturationModel.H" #include "rhoReactionThermo.H" #include "addToRunTimeSelectionTable.H" @@ -351,8 +351,8 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const scalarField& y = turbModel.y()[patchi]; - const tmp tmuw = turbModel.mu(patchi); - const scalarField& muw = tmuw(); + const tmp tnuw = turbModel.nu(patchi); + const scalarField& nuw = tnuw(); const rhoThermo& lThermo = liquid.thermo(); @@ -383,9 +383,9 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const scalarField uTau(Cmu25*sqrt(kw)); - const scalarField yPlus(uTau*y/(muw/rhoLiquidw)); + const scalarField yPlus(uTau*y/nuw); - const scalarField Pr(muw/alphaw); + const scalarField Pr(rhoLiquidw*nuw/alphaw); // Molecular-to-turbulent Prandtl number ratio const scalarField Prat(Pr/Prt_); diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C index a82b1025a7..da800679b6 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/fixedMultiPhaseHeatFlux/fixedMultiPhaseHeatFluxFvPatchScalarField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -28,8 +28,8 @@ License #include "addToRunTimeSelectionTable.H" #include "phaseSystem.H" -#include "compressibleMomentumTransportModel.H" -#include "PhaseCompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C index 6f0b008448..b5c1975744 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,8 +26,8 @@ License #include "KocamustafaogullariIshiiDepartureDiameter.H" #include "addToRunTimeSelectionTable.H" #include "uniformDimensionedFields.H" -#include "compressibleMomentumTransportModel.H" -#include "PhaseCompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "phaseSystem.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C index 7035a77ecb..bf54e9342f 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,8 +26,8 @@ License #include "Cole.H" #include "addToRunTimeSelectionTable.H" #include "uniformDimensionedFields.H" -#include "compressibleMomentumTransportModel.H" -#include "PhaseCompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C index 9ee254d6a0..629de6aad2 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2019-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -26,8 +26,8 @@ License #include "KocamustafaogullariIshiiDepartureFrequency.H" #include "addToRunTimeSelectionTable.H" #include "uniformDimensionedFields.H" -#include "compressibleMomentumTransportModel.H" -#include "PhaseCompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "phaseSystem.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModelNew.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModelNew.C index 9a8c6324b2..cce902e078 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModelNew.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModelNew.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -33,9 +33,9 @@ Foam::kineticTheoryModels::conductivityModel::New const dictionary& dict ) { - word conductivityModelType(dict.lookup("conductivityModel")); + word conductivityModelType(dict.lookup("granularConductivityModel")); - Info<< "Selecting conductivityModel " + Info<< "Selecting granularConductivityModel " << conductivityModelType << endl; dictionaryConstructorTable::iterator cstrIter = @@ -45,10 +45,10 @@ Foam::kineticTheoryModels::conductivityModel::New { FatalError << "conductivityModel::New(const dictionary&) : " << endl - << " unknown conductivityModelType type " + << " unknown granularConductivityModel type " << conductivityModelType << ", constructor not in hash table" << endl << endl - << " Valid conductivityModelType types are :" << endl; + << " Valid granularConductivityModel types are :" << endl; Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); } diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 32c5d99b3a..9b4279549c 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -70,7 +70,7 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -82,10 +82,10 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel U, alphaRhoPhi, phi, - transport + viscosity ), - phase_(refCast(transport)), + phase_(refCast(viscosity)), continuousPhaseName_ ( diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H index fe8be86836..857c516d5e 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H @@ -47,7 +47,7 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "phaseModel.H" #include "dragModel.H" #include "kineticTheoryViscosityModel.H" @@ -168,7 +168,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/kineticTheoryViscosityModelNew.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/kineticTheoryViscosityModelNew.C index b5a48cc966..a43a671eed 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/kineticTheoryViscosityModelNew.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/kineticTheoryModels/viscosityModel/viscosityModel/kineticTheoryViscosityModelNew.C @@ -33,9 +33,9 @@ Foam::kineticTheoryModels::viscosityModel::New const dictionary& dict ) { - word viscosityModelType(dict.lookup("viscosityModel")); + word viscosityModelType(dict.lookup("granularViscosityModel")); - Info<< "Selecting viscosityModel " + Info<< "Selecting granularViscosityModel " << viscosityModelType << endl; dictionaryConstructorTable::iterator cstrIter = @@ -45,10 +45,10 @@ Foam::kineticTheoryModels::viscosityModel::New { FatalError << "viscosityModel::New(const dictionary&) : " << endl - << " unknown viscosityModelType type " + << " unknown granularViscosityModel type " << viscosityModelType << ", constructor not in hash table" << endl << endl - << " Valid viscosityModelType types are :" << endl; + << " Valid granularViscosityModel types are :" << endl; Info<< dictionaryConstructorTablePtr_->sortedToc() << abort(FatalError); } diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/multiphaseCompressibleMomentumTransportModels.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/multiphaseCompressibleMomentumTransportModels.C index a2efa499e4..f5c407cc2e 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/multiphaseCompressibleMomentumTransportModels.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/multiphaseCompressibleMomentumTransportModels.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "phaseDynamicMomentumTransportModels.H" +#include "makePhaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -51,7 +51,7 @@ makeLESModel(continuousGasKEqn); #include "kineticTheoryModel.H" makeMomentumTransportModel ( - dynamicTransportModelPhaseCompressibleMomentumTransportModel, + phaseCompressibleMomentumTransportModel, RAS, kineticTheoryModel ); @@ -59,7 +59,7 @@ makeMomentumTransportModel #include "phasePressureModel.H" makeMomentumTransportModel ( - dynamicTransportModelPhaseCompressibleMomentumTransportModel, + phaseCompressibleMomentumTransportModel, RAS, phasePressureModel ); diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.C index 3c2bb7862f..fe45bd3b89 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.C @@ -34,7 +34,7 @@ Foam::RASModels::phasePressureModel::phasePressureModel const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -46,7 +46,7 @@ Foam::RASModels::phasePressureModel::phasePressureModel U, alphaRhoPhi, phi, - transport + viscosity ), alphaMax_(coeffDict_.lookup("alphaMax")), diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.H index ec9b96b53b..0da4599ad5 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseCompressibleMomentumTransportModels/phasePressureModel/phasePressureModel.H @@ -53,7 +53,7 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "phaseModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -110,7 +110,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/Make/options index 29e015258c..173699dd3d 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I../phaseSystems/lnInclude \ -I../interfacialModels/lnInclude \ -I../interfacialCompositionModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseEulerFoam.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseEulerFoam.C index 38684b9a6d..013b3db660 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseEulerFoam.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseEulerFoam.C @@ -36,7 +36,7 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" #include "phaseSystem.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "pimpleControl.H" #include "pressureReference.H" #include "localEulerDdtScheme.H" diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseSystems/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseSystems/Make/options index 0572ef7762..7dd13b149e 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseSystems/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseEulerFoam/multiphaseSystems/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I../../interfacialCompositionModels/lnInclude \ -I../../phaseSystems/lnInclude \ -I../../multiphaseCompressibleMomentumTransportModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseReactions/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseReactions/Make/options index 22028cc703..5b74862cbf 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseReactions/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseReactions/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/Make/options index 297aa887fd..8678dbb2a1 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I../interfacialModels/lnInclude \ -I../interfacialCompositionModels/lnInclude \ -I../multiphaseCompressibleMomentumTransportModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C index 87b311befb..5d217e6e92 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C @@ -25,7 +25,7 @@ License #include "IATEsource.H" #include "fvMatrix.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "uniformDimensionedFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H index 82c61d46fd..f91818bd9c 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H @@ -46,7 +46,7 @@ SourceFiles #include "phaseModel.H" #include "PhaseThermophysicalTransportModel.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C index e91f7926ba..075ed6cd0a 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C @@ -38,7 +38,7 @@ Foam::ThermoPhaseModel::ThermoPhaseModel ) : BasePhaseModel(fluid, phaseName, referencePhase, index), - dynamicTransportModel(), + viscosity(), thermo_(ThermoModel::New(fluid.mesh(), this->name())) { thermo_->validate diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H index a802b311dc..bd9fae196d 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H @@ -56,7 +56,7 @@ template class ThermoPhaseModel : public BasePhaseModel, - public dynamicTransportModel + public viscosity { protected: diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LehrMilliesMewes/LehrMilliesMewes.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LehrMilliesMewes/LehrMilliesMewes.C index 2e5f15b410..d5a9ecf6e1 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LehrMilliesMewes/LehrMilliesMewes.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LehrMilliesMewes/LehrMilliesMewes.C @@ -25,7 +25,7 @@ License #include "LehrMilliesMewes.H" #include "addToRunTimeSelectionTable.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "mathematicalConstants.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LuoSvendsen/LuoSvendsen.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LuoSvendsen/LuoSvendsen.C index 03ea26cb1f..c797e48cb2 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LuoSvendsen/LuoSvendsen.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/binaryBreakupModels/LuoSvendsen/LuoSvendsen.C @@ -25,7 +25,7 @@ License #include "LuoSvendsen.H" #include "addToRunTimeSelectionTable.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "linearInterpolationWeights.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/breakupModels/Laakkonen/Laakkonen.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/breakupModels/Laakkonen/Laakkonen.C index 669e9e90f8..dca0aabc41 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/breakupModels/Laakkonen/Laakkonen.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/breakupModels/Laakkonen/Laakkonen.C @@ -25,7 +25,7 @@ License #include "Laakkonen.H" #include "addToRunTimeSelectionTable.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/CoulaloglouTavlarides/CoulaloglouTavlarides.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/CoulaloglouTavlarides/CoulaloglouTavlarides.C index 6a9f841e74..8723f27e39 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/CoulaloglouTavlarides/CoulaloglouTavlarides.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/CoulaloglouTavlarides/CoulaloglouTavlarides.C @@ -25,7 +25,7 @@ License #include "CoulaloglouTavlarides.H" #include "addToRunTimeSelectionTable.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/LehrMilliesMewesCoalescence/LehrMilliesMewesCoalescence.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/LehrMilliesMewesCoalescence/LehrMilliesMewesCoalescence.C index f31057536a..b84bd81899 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/LehrMilliesMewesCoalescence/LehrMilliesMewesCoalescence.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/LehrMilliesMewesCoalescence/LehrMilliesMewesCoalescence.C @@ -26,7 +26,7 @@ License #include "LehrMilliesMewesCoalescence.H" #include "addToRunTimeSelectionTable.H" #include "mathematicalConstants.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/Luo/Luo.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/Luo/Luo.C index 0b6067795a..4ca42aaa62 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/Luo/Luo.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/Luo/Luo.C @@ -26,7 +26,7 @@ License #include "Luo.H" #include "addToRunTimeSelectionTable.H" #include "mathematicalConstants.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "virtualMassModel.H" #include "phaseSystem.H" diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/PrinceBlanch/PrinceBlanch.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/PrinceBlanch/PrinceBlanch.C index 14cddf651f..bb25491398 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/PrinceBlanch/PrinceBlanch.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/PrinceBlanch/PrinceBlanch.C @@ -26,7 +26,7 @@ License #include "PrinceBlanch.H" #include "addToRunTimeSelectionTable.H" #include "mathematicalConstants.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "fvcGrad.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/turbulentShear/turbulentShear.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/turbulentShear/turbulentShear.C index d02ac7ed7f..19799d9299 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/turbulentShear/turbulentShear.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/coalescenceModels/turbulentShear/turbulentShear.C @@ -25,7 +25,7 @@ License #include "turbulentShear.H" #include "addToRunTimeSelectionTable.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.C index 9a20b1652f..ff61a6e959 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.C @@ -33,7 +33,7 @@ License #include "surfaceTensionModel.H" #include "fvm.H" #include "fvcDdt.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "shapeModel.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.H index f7588a785c..5d265c57e9 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/phaseSystems/populationBalanceModel/populationBalanceModel/populationBalanceModel.H @@ -152,7 +152,7 @@ SourceFiles #include "sizeGroup.H" #include "phasePair.H" #include "pimpleControl.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "HashPtrTable.H" #include "Pair.H" diff --git a/applications/solvers/multiphase/multiphaseInterFoam/Make/options b/applications/solvers/multiphase/multiphaseInterFoam/Make/options index cbf53b4812..670f30a645 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/Make/options +++ b/applications/solvers/multiphase/multiphaseInterFoam/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -ImultiphaseMixture/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ @@ -13,7 +13,7 @@ EXE_INC = \ EXE_LIBS = \ -lmultiphaseInterFoam \ -linterfaceProperties \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lfiniteVolume \ diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C index 8d07ebe1e2..78c1792393 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseInterFoam.C @@ -36,7 +36,7 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" #include "multiphaseMixture.H" -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "pimpleControl.H" #include "pressureReference.H" #include "fvModels.H" diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/Make/options b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/Make/options index 2b7d2ae98e..ee0bc13126 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/Make/options +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/Make/options @@ -1,12 +1,12 @@ EXE_INC = \ -IalphaContactAngle \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ -linterfaceProperties \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C index c8927bfcf1..a52ca5b29b 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C @@ -63,7 +63,7 @@ Foam::multiphaseMixture::multiphaseMixture ( IOobject ( - "transportProperties", + "phaseProperties", U.time().constant(), U.db(), IOobject::MUST_READ_IF_MODIFIED, @@ -695,19 +695,8 @@ bool Foam::multiphaseMixture::read() { if (regIOobject::read()) { - bool readOK = true; - - PtrList phaseData(lookup("phases")); - label phasei = 0; - - forAllIter(PtrDictionary, phases_, iter) - { - readOK &= iter().read(phaseData[phasei++].dict()); - } - lookup("sigmas") >> sigmas_; - - return readOK; + return true; } else { diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.H b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.H index e85f7c38a1..2e50e2c08e 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.H +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.H @@ -28,7 +28,7 @@ Description Incompressible multi-phase mixture with built in solution for the phase fractions with interface compression for interface-capturing. - Derived from kinematicTransportModel so that it can be used in conjunction + Derived from viscosity so that it can be used in conjunction with the incompressible turbulence models. Surface tension and contact-angle is handled for the interface @@ -42,7 +42,7 @@ SourceFiles #ifndef multiphaseMixture_H #define multiphaseMixture_H -#include "kinematicTransportModel.H" +#include "viscosity.H" #include "IOdictionary.H" #include "phase.H" #include "PtrDictionary.H" @@ -61,7 +61,7 @@ namespace Foam class multiphaseMixture : public IOdictionary, - public kinematicTransportModel + public viscosity { public: @@ -266,7 +266,7 @@ public: //- Correct the mixture properties void correct(); - //- Read base transportProperties dictionary + //- Read base phaseProperties dictionary bool read(); }; diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C index 14bdc88011..060ef1358f 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2018 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -30,7 +30,6 @@ License Foam::phase::phase ( const word& phaseName, - const dictionary& phaseDict, const volVectorField& U, const surfaceScalarField& phi ) @@ -48,18 +47,8 @@ Foam::phase::phase U.mesh() ), name_(phaseName), - phaseDict_(phaseDict), - nuModel_ - ( - viscosityModel::New - ( - IOobject::groupName("nu", phaseName), - phaseDict_, - U, - phi - ) - ), - rho_("rho", dimDensity, phaseDict_) + nuModel_(viscosityModel::New(U.mesh(), phaseName)), + rho_("rho", dimDensity, nuModel_()) {} @@ -80,18 +69,9 @@ void Foam::phase::correct() bool Foam::phase::read(const dictionary& phaseDict) { - phaseDict_ = phaseDict; + phaseDict.lookup("rho") >> rho_; - if (nuModel_->read(phaseDict_)) - { - phaseDict_.lookup("rho") >> rho_; - - return true; - } - else - { - return false; - } + return true; } diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.H b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.H index 5f5cf0849c..325bb3b295 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.H +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/phase/phase.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -57,7 +57,6 @@ class phase // Private Data word name_; - dictionary phaseDict_; autoPtr nuModel_; dimensionedScalar rho_; @@ -70,7 +69,6 @@ public: phase ( const word& name, - const dictionary& phaseDict, const volVectorField& U, const surfaceScalarField& phi ); @@ -99,8 +97,8 @@ public: autoPtr operator()(Istream& is) const { - dictionaryEntry ent(dictionary::null, is); - return autoPtr(new phase(ent.keyword(), ent, U_, phi_)); + const word name(is); + return autoPtr(new phase(name, U_, phi_)); } }; @@ -147,7 +145,7 @@ public: //-Inherit read from volScalarField using volScalarField::read; - //- Read base transportProperties dictionary + //- Read base phaseProperties dictionary bool read(const dictionary& phaseDict); }; diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options index 234f8d3967..904f047fd3 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/Make/options @@ -1,14 +1,14 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/dynamicFvMesh/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lfiniteVolume \ diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/createFields.H b/applications/solvers/multiphase/potentialFreeSurfaceFoam/createFields.H index c6bf2b17cd..a47551f887 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/createFields.H +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/createFields.H @@ -28,11 +28,12 @@ volVectorField U #include "createPhi.H" -singlePhaseTransportModel laminarTransport(U, phi); + +autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); #include "readGravitationalAcceleration.H" diff --git a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C index fe400c47cb..0f09922f03 100644 --- a/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C +++ b/applications/solvers/multiphase/potentialFreeSurfaceFoam/potentialFreeSurfaceFoam.C @@ -40,8 +40,8 @@ Description #include "fvCFD.H" #include "dynamicFvMesh.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "pimpleControl.H" #include "pressureReference.H" #include "fvModels.H" @@ -138,7 +138,7 @@ int main(int argc, char *argv[]) if (pimple.turbCorr()) { - laminarTransport.correct(); + viscosity->correct(); turbulence->correct(); } } diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options index c30d2a90e4..4002f3191f 100644 --- a/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options +++ b/applications/solvers/multiphase/twoLiquidMixingFoam/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I. \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/twoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/incompressibleTwoPhaseMixture/lnInclude \ -I$(LIB_SRC)/twoPhaseModels/interfaceProperties/lnInclude \ diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H b/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H index 658db7994d..d7cc5b244e 100644 --- a/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H +++ b/applications/solvers/multiphase/twoLiquidMixingFoam/createFields.H @@ -28,7 +28,7 @@ volVectorField U #include "createPhi.H" -Info<< "Reading transportProperties\n" << endl; +Info<< "Reading phaseProperties\n" << endl; incompressibleTwoPhaseMixture mixture(U, phi); volScalarField& alpha1(mixture.alpha1()); diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C index f55aec6fae..2eb89baf53 100644 --- a/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C +++ b/applications/solvers/multiphase/twoLiquidMixingFoam/twoLiquidMixingFoam.C @@ -35,7 +35,7 @@ Description #include "MULES.H" #include "subCycle.H" #include "incompressibleTwoPhaseMixture.H" -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "pimpleControl.H" #include "pressureReference.H" diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options b/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options index c870dc0ef4..dd688b483f 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -IsolidDisplacementThermo \ -IderivedFvPatchFields/tractionDisplacement \ -IderivedFvPatchFields/hydrostaticDisplacement \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/derivedFvPatchFields/tractionDisplacement/tractionDisplacementFvPatchVectorFieldTemplates.C b/applications/solvers/stressAnalysis/solidDisplacementFoam/derivedFvPatchFields/tractionDisplacement/tractionDisplacementFvPatchVectorFieldTemplates.C index 8661ba0649..81eb3c336e 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/derivedFvPatchFields/tractionDisplacement/tractionDisplacementFvPatchVectorFieldTemplates.C +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/derivedFvPatchFields/tractionDisplacement/tractionDisplacementFvPatchVectorFieldTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -39,7 +39,7 @@ void Foam::tractionDisplacementFvPatchVectorField::updateCoeffs const solidDisplacementThermo& thermo = db().lookupObject ( - solidDisplacementThermo::dictName + physicalProperties::typeName ); const scalarField& E = thermo.E(patchi); diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementThermo/Make/options b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementThermo/Make/options index dccaba6150..77fec2248a 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementThermo/Make/options +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidDisplacementThermo/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/Make/options b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/Make/options index a91b17d444..3da3ce0c71 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/Make/options +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I.. \ -I../solidDisplacementThermo \ -ItractionDisplacementCorrection \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ diff --git a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.C b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.C index a270da8ea8..ea6454f3c1 100644 --- a/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.C +++ b/applications/solvers/stressAnalysis/solidDisplacementFoam/solidEquilibriumDisplacementFoam/tractionDisplacementCorrection/tractionDisplacementCorrectionFvPatchVectorField.C @@ -138,7 +138,7 @@ void tractionDisplacementCorrectionFvPatchVectorField::updateCoeffs() const solidDisplacementThermo& thermo = db().lookupObject ( - solidDisplacementThermo::dictName + physicalProperties::typeName ); const scalarField& E = thermo.E(patchi); diff --git a/applications/test/Function1/table.dat b/applications/test/Function1/table.dat new file mode 100644 index 0000000000..d5ab3e031c --- /dev/null +++ b/applications/test/Function1/table.dat @@ -0,0 +1,51 @@ +# x y integralY trapezoidIntegralY +-0.5 0.915 0 0 +-0.438776 0.936429 0.0566764 0.0566764 +-0.377551 0.952806 0.114608 0.11451 +-0.316327 0.960459 0.173177 0.173079 +-0.255102 0.968112 0.232215 0.232117 +-0.193878 0.975765 0.291722 0.291624 +-0.132653 0.983418 0.351697 0.351599 +-0.0714286 0.991071 0.41214 0.412042 +-0.0102041 0.998724 0.473052 0.472954 +0.0510204 0.126786 0.489035 0.507409 +0.112245 0.158929 0.497782 0.516155 +0.173469 0.191071 0.508496 0.52687 +0.234694 0.223214 0.521178 0.539552 +0.295918 0.255357 0.535828 0.554202 +0.357143 0.2875 0.552446 0.57082 +0.418367 0.322857 0.571062 0.589504 +0.479592 0.365714 0.592141 0.610583 +0.540816 0.408571 0.615843 0.634286 +0.602041 0.451429 0.64217 0.660612 +0.663265 0.494286 0.67112 0.689563 +0.72449 0.537143 0.702695 0.721137 +0.785714 0.58 0.736893 0.755335 +0.846939 0.615816 0.77355 0.791942 +0.908163 0.64949 0.812284 0.830676 +0.969388 0.683163 0.853079 0.871471 +1.03061 0.716837 0.895936 0.914328 +1.09184 0.75051 0.940855 0.959247 +1.15306 0.784184 0.987835 1.00623 +1.21429 0.815 1.03686 1.05518 +1.27551 0.836429 1.08741 1.10574 +1.33673 0.857857 1.13928 1.1576 +1.39796 0.879286 1.19245 1.21078 +1.45918 0.900714 1.24694 1.26527 +1.52041 0.922143 1.30275 1.32107 +1.58163 0.943571 1.35986 1.37819 +1.64286 0.955357 1.41808 1.43632 +1.70408 0.96301 1.4768 1.49504 +1.76531 0.970663 1.536 1.55424 +1.82653 0.978316 1.59566 1.6139 +1.88776 0.985969 1.65579 1.67403 +1.94898 0.993622 1.71639 1.73463 +2.0102 0.105357 1.7683 1.76827 +2.07143 0.1375 1.77573 1.77571 +2.13265 0.169643 1.78513 1.78511 +2.19388 0.201786 1.7965 1.79648 +2.2551 0.233929 1.80984 1.80982 +2.31633 0.266071 1.82515 1.82512 +2.37755 0.298214 1.84242 1.8424 +2.43878 0.337143 1.8618 1.86185 +2.5 0.38 1.88375 1.8838 diff --git a/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options b/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options index f60daa3c7a..c97ea22b61 100644 --- a/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options +++ b/applications/utilities/postProcessing/dataConversion/foamToGMV/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C b/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C index ea9d858233..7c847163b5 100644 --- a/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C +++ b/applications/utilities/postProcessing/miscellaneous/postChannel/postChannel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -57,7 +57,7 @@ int main(int argc, char *argv[]) instantList timeDirs = timeSelector::select0(runTime, args); #include "createMesh.H" - #include "readTransportProperties.H" + #include "readPhysicalProperties.H" const word& gFormat = runTime.graphFormat(); diff --git a/applications/utilities/postProcessing/miscellaneous/postChannel/readTransportProperties.H b/applications/utilities/postProcessing/miscellaneous/postChannel/readPhysicalProperties.H similarity index 70% rename from applications/utilities/postProcessing/miscellaneous/postChannel/readTransportProperties.H rename to applications/utilities/postProcessing/miscellaneous/postChannel/readPhysicalProperties.H index cef26f6c35..0c7a609890 100644 --- a/applications/utilities/postProcessing/miscellaneous/postChannel/readTransportProperties.H +++ b/applications/utilities/postProcessing/miscellaneous/postChannel/readPhysicalProperties.H @@ -1,10 +1,10 @@ - Info<< nl << "Reading transportProperties" << endl; + Info<< nl << "Reading physicalProperties" << endl; IOdictionary transportProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), mesh, IOobject::MUST_READ_IF_MODIFIED, diff --git a/applications/utilities/postProcessing/postProcess/Make/options b/applications/utilities/postProcessing/postProcess/Make/options index 18dfa9feb6..15b42222a2 100644 --- a/applications/utilities/postProcessing/postProcess/Make/options +++ b/applications/utilities/postProcessing/postProcess/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ @@ -13,7 +13,7 @@ EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lcompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfluidThermophysicalModels \ -lspecie \ -lfiniteVolume \ diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options index 43018716c6..7a8e38eb49 100644 --- a/applications/utilities/preProcessing/applyBoundaryLayer/Make/options +++ b/applications/utilities/preProcessing/applyBoundaryLayer/Make/options @@ -1,14 +1,14 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude EXE_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lgenericPatchFields \ -lfiniteVolume \ -lmeshTools \ diff --git a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C index f86188328f..467317e5c3 100644 --- a/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C +++ b/applications/utilities/preProcessing/applyBoundaryLayer/applyBoundaryLayer.C @@ -36,8 +36,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" -#include "singlePhaseTransportModel.H" -#include "kinematicMomentumTransportModel.H" +#include "viscosityModel.H" +#include "incompressibleMomentumTransportModels.H" #include "wallDist.H" #include "bound.H" @@ -122,11 +122,11 @@ int main(int argc, char *argv[]) #include "createPhi.H" phi.write(); - singlePhaseTransportModel laminarTransport(U, phi); + autoPtr viscosity(viscosityModel::New(mesh)); autoPtr turbulence ( - incompressible::momentumTransportModel::New(U, phi, laminarTransport) + incompressible::momentumTransportModel::New(U, phi, viscosity) ); if (isA(turbulence())) diff --git a/etc/codeTemplates/dynamicCode/basicChemistryModel b/etc/codeTemplates/dynamicCode/basicChemistryModel index f7793c98b9..137435c634 100644 --- a/etc/codeTemplates/dynamicCode/basicChemistryModel +++ b/etc/codeTemplates/dynamicCode/basicChemistryModel @@ -34,7 +34,7 @@ method codeOptions #{ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/etc/codeTemplates/dynamicCode/fluidReactionThermo b/etc/codeTemplates/dynamicCode/fluidReactionThermo index 1b83c71de2..c9bf80c2d8 100644 --- a/etc/codeTemplates/dynamicCode/fluidReactionThermo +++ b/etc/codeTemplates/dynamicCode/fluidReactionThermo @@ -97,7 +97,7 @@ specie codeOptions #{ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/etc/codeTemplates/dynamicCode/fluidThermo b/etc/codeTemplates/dynamicCode/fluidThermo index 5f469f0cc2..91fc7c55eb 100644 --- a/etc/codeTemplates/dynamicCode/fluidThermo +++ b/etc/codeTemplates/dynamicCode/fluidThermo @@ -88,7 +88,7 @@ specie codeOptions #{ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ diff --git a/etc/codeTemplates/dynamicCode/psiThermo b/etc/codeTemplates/dynamicCode/psiThermo index 9b386e3267..de8fd5b9ab 100644 --- a/etc/codeTemplates/dynamicCode/psiThermo +++ b/etc/codeTemplates/dynamicCode/psiThermo @@ -73,7 +73,7 @@ specie codeOptions #{ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ diff --git a/etc/codeTemplates/dynamicCode/psiuReactionThermo b/etc/codeTemplates/dynamicCode/psiuReactionThermo index 75a5a8d9a2..b4362950d9 100644 --- a/etc/codeTemplates/dynamicCode/psiuReactionThermo +++ b/etc/codeTemplates/dynamicCode/psiuReactionThermo @@ -72,7 +72,7 @@ specie codeOptions #{ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ diff --git a/src/Allwmake b/src/Allwmake index b1eb0c0c15..29f8b1f148 100755 --- a/src/Allwmake +++ b/src/Allwmake @@ -54,7 +54,7 @@ wmake $targetType sampling wmake $targetType ODE wmake $targetType randomProcesses -wmake $targetType transportModels +wmake $targetType physicalProperties thermophysicalModels/Allwmake $targetType $* twoPhaseModels/Allwmake $targetType $* diff --git a/src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.C b/src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.C deleted file mode 100644 index 5e996b8ec6..0000000000 --- a/src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.C +++ /dev/null @@ -1,95 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "CompressibleMomentumTransportModel.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -template -Foam::CompressibleMomentumTransportModel:: -CompressibleMomentumTransportModel -( - const word& type, - const geometricOneField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport -) -: - MomentumTransportModel - < - geometricOneField, - volScalarField, - compressibleMomentumTransportModel, - transportModel - > - ( - alpha, - rho, - U, - alphaRhoPhi, - phi, - transport - ) -{} - - -// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // - -template -Foam::autoPtr> -Foam::CompressibleMomentumTransportModel::New -( - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& phi, - const transportModel& transport -) -{ - return autoPtr - ( - static_cast( - MomentumTransportModel - < - geometricOneField, - volScalarField, - compressibleMomentumTransportModel, - transportModel - >::New - ( - geometricOneField(), - rho, - U, - phi, - phi, - transport - ).ptr()) - ); -} - - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.H b/src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.H deleted file mode 100644 index dd1522780a..0000000000 --- a/src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.H +++ /dev/null @@ -1,170 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::CompressibleMomentumTransportModel - -Description - Templated abstract base class for single-phase compressible - turbulence models. - -SourceFiles - CompressibleMomentumTransportModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef CompressibleMomentumTransportModel_H -#define CompressibleMomentumTransportModel_H - -#include "MomentumTransportModel.H" -#include "compressibleMomentumTransportModel.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class CompressibleMomentumTransportModel Declaration -\*---------------------------------------------------------------------------*/ - -template -class CompressibleMomentumTransportModel -: - public MomentumTransportModel - < - geometricOneField, - volScalarField, - compressibleMomentumTransportModel, - TransportModel - > -{ - -public: - - typedef geometricOneField alphaField; - typedef volScalarField rhoField; - typedef TransportModel transportModel; - - - // Constructors - - //- Construct - CompressibleMomentumTransportModel - ( - const word& type, - const geometricOneField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport - ); - - - // Selectors - - //- Return a reference to the selected turbulence model - static autoPtr New - ( - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& phi, - const transportModel& transportModel - ); - - - //- Destructor - virtual ~CompressibleMomentumTransportModel() - {} - - - // Member Functions - - //- Return the laminar dynamic viscosity - virtual tmp mu() const - { - return this->transport_.mu(); - } - - //- Return the laminar dynamic viscosity on patch - virtual tmp mu(const label patchi) const - { - return this->transport_.mu(patchi); - } - - //- Return the laminar viscosity - virtual tmp nu() const - { - return this->transport_.mu()/this->rho_; - } - - //- Return the laminar viscosity on patchi - virtual tmp nu(const label patchi) const - { - return - this->transport_.mu(patchi) - /this->rho_.boundaryField()[patchi]; - } - - //- Return the turbulence dynamic viscosity - virtual tmp mut() const - { - return this->rho_*this->nut(); - } - - //- Return the turbulence dynamic viscosity on patch - virtual tmp mut(const label patchi) const - { - return this->rho_.boundaryField()[patchi]*this->nut(patchi); - } - - //- Return the effective dynamic viscosity - virtual tmp muEff() const - { - return mut() + mu(); - } - - //- Return the effective dynamic viscosity on patch - virtual tmp muEff(const label patchi) const - { - return mut(patchi) + mu(patchi); - } -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "CompressibleMomentumTransportModel.C" -#endif - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/compressible/Make/files b/src/MomentumTransportModels/compressible/Make/files index 34eed772a2..d1429599b7 100644 --- a/src/MomentumTransportModels/compressible/Make/files +++ b/src/MomentumTransportModels/compressible/Make/files @@ -1,4 +1,4 @@ compressibleMomentumTransportModel.C -dynamicMomentumTransportModels/dynamicMomentumTransportModels.C +compressibleMomentumTransportModels.C LIB = $(FOAM_LIBBIN)/libcompressibleMomentumTransportModels diff --git a/src/MomentumTransportModels/compressible/Make/options b/src/MomentumTransportModels/compressible/Make/options index d2ac924d58..3ce78468e5 100644 --- a/src/MomentumTransportModels/compressible/Make/options +++ b/src/MomentumTransportModels/compressible/Make/options @@ -1,10 +1,10 @@ EXE_INC = \ -I../momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ LIB_LIBS = \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools diff --git a/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C b/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C index b1e18e5f6f..12ac59c243 100644 --- a/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C +++ b/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -45,7 +45,7 @@ buoyantKEpsilon::buoyantKEpsilon const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -56,7 +56,7 @@ buoyantKEpsilon::buoyantKEpsilon U, alphaRhoPhi, phi, - transport, + viscosity, type ), diff --git a/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.H b/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.H index d27ea9495c..ee5daeb9f5 100644 --- a/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.H +++ b/src/MomentumTransportModels/compressible/RAS/buoyantKEpsilon/buoyantKEpsilon.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -100,7 +100,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -117,7 +116,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.C b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.C index 9cd66b8473..729a42c684 100644 --- a/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.C +++ b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,36 +25,63 @@ License #include "compressibleMomentumTransportModel.H" #include "surfaceInterpolate.H" -#include "surfaceFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -namespace Foam -{ - defineTypeNameAndDebug(compressibleMomentumTransportModel, 0); -} +// namespace Foam +// { +// defineTypeNameAndDebug(compressibleMomentumTransportModel, 0); +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::compressibleMomentumTransportModel::compressibleMomentumTransportModel ( + const word& type, + const geometricOneField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi + const surfaceScalarField& phi, + const viscosity& viscosity ) : momentumTransportModel ( U, alphaRhoPhi, - phi + phi, + viscosity ), + alpha_(alpha), rho_(rho) {} +// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // + +Foam::autoPtr +Foam::compressibleMomentumTransportModel::New +( + const volScalarField& rho, + const volVectorField& U, + const surfaceScalarField& phi, + const viscosity& viscosity +) +{ + return momentumTransportModel::New + ( + geometricOneField(), + rho, + U, + phi, + phi, + viscosity + ); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::tmp diff --git a/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.H b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.H index a45228ed77..34d1d3a6a9 100644 --- a/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.H +++ b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModel.H @@ -25,7 +25,7 @@ Class Foam::compressibleMomentumTransportModel Description - Abstract base class for turbulence models (RAS, LES and laminar). + Base class for single-phase compressible turbulence models. SourceFiles compressibleMomentumTransportModel.C @@ -42,9 +42,6 @@ SourceFiles namespace Foam { -// Forward declarations -class fvMesh; - /*---------------------------------------------------------------------------*\ Class compressibleMomentumTransportModel Declaration \*---------------------------------------------------------------------------*/ @@ -54,35 +51,70 @@ class compressibleMomentumTransportModel public momentumTransportModel { +public: + + typedef geometricOneField alphaField; + typedef volScalarField rhoField; + + protected: // Protected data - const volScalarField& rho_; + alphaField alpha_; + const rhoField& rho_; public: //- Runtime type information - TypeName(momentumTransportModel::typeName_()); + // TypeName("compressibleMomentumTransportModel"); + + + // Declare run-time constructor selection table + + declareRunTimeNewSelectionTable + ( + autoPtr, + compressibleMomentumTransportModel, + dictionary, + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity + ), + (alpha, rho, U, alphaRhoPhi, phi, viscosity) + ); // Constructors - //- Construct from components + //- Construct compressibleMomentumTransportModel ( + const word& type, + const geometricOneField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi + const surfaceScalarField& phi, + const viscosity& viscosity ); - //- Disallow default bitwise copy construction - compressibleMomentumTransportModel + + // Selectors + + //- Return a reference to the selected turbulence model + static autoPtr New ( - const compressibleMomentumTransportModel& - ) = delete; + const volScalarField& rho, + const volVectorField& U, + const surfaceScalarField& phi, + const viscosity& viscosity + ); //- Destructor @@ -92,8 +124,14 @@ public: // Member Functions + //- Return the phase fraction field + const alphaField& alpha() const + { + return alpha_; + } + //- Return the density field - const volScalarField& rho() const + const rhoField& rho() const { return rho_; } @@ -106,21 +144,36 @@ public: //- Return the source term for the momentum equation virtual tmp divDevTau(volVectorField& U) const = 0; - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const compressibleMomentumTransportModel&) = delete; }; +namespace compressible +{ + typedef compressibleMomentumTransportModel momentumTransportModel; + + template + autoPtr New + ( + const volScalarField& rho, + const volVectorField& U, + const surfaceScalarField& phi, + const viscosity& viscosity + ); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#ifdef NoRepository + #include "compressibleMomentumTransportModelTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModel.C b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModelTemplates.C similarity index 82% rename from src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModel.C rename to src/MomentumTransportModels/compressible/compressibleMomentumTransportModelTemplates.C index d70ce5c295..e64b67f14c 100644 --- a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModel.C +++ b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModelTemplates.C @@ -23,32 +23,29 @@ License \*---------------------------------------------------------------------------*/ -#include "dynamicMomentumTransportModel.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { namespace compressible { - template - autoPtr New + template + autoPtr New ( const volScalarField& rho, const volVectorField& U, const surfaceScalarField& phi, - const typename BasicCompressibleMomentumTransportModel:: - transportModel& transport + const viscosity& viscosity ) { - return BasicCompressibleMomentumTransportModel::New + return CompressibleMomentumTransportModel::New ( geometricOneField(), rho, U, phi, phi, - transport + viscosity ); } } diff --git a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModels.C b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModels.C similarity index 95% rename from src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModels.C rename to src/MomentumTransportModels/compressible/compressibleMomentumTransportModels.C index 79d98a574e..b812b49104 100644 --- a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModels.C +++ b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModels.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "dynamicMomentumTransportModels.H" +#include "makeCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -31,9 +31,7 @@ makeBaseMomentumTransportModel ( geometricOneField, volScalarField, - compressibleMomentumTransportModel, - CompressibleMomentumTransportModel, - dynamicTransportModel + compressibleMomentumTransportModel ); diff --git a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModel.H b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModels.H similarity index 69% rename from src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModel.H rename to src/MomentumTransportModels/compressible/compressibleMomentumTransportModels.H index 319ef98d4b..c6f8e1e681 100644 --- a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModel.H +++ b/src/MomentumTransportModels/compressible/compressibleMomentumTransportModels.H @@ -37,20 +37,15 @@ Description Typedefs for turbulence, RAS and LES models for compressible flow based on the standard laminar transport package. -SourceFiles - dynamicMomentumTransportModel.C - dynamicMomentumTransportModels.C - \*---------------------------------------------------------------------------*/ -#ifndef dynamicMomentumTransportModel_H -#define dynamicMomentumTransportModel_H +#ifndef compressibleMomentumTransportModels_H +#define compressibleMomentumTransportModels_H -#include "CompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" #include "laminarModel.H" #include "RASModel.H" #include "LESModel.H" -#include "dynamicTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -58,31 +53,13 @@ namespace Foam { namespace compressible { - typedef CompressibleMomentumTransportModel - momentumTransportModel; typedef laminarModel laminarModel; typedef RASModel RASModel; typedef LESModel LESModel; - - template - autoPtr New - ( - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& phi, - const typename BasicCompressibleMomentumTransportModel:: - transportModel& transport - ); } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "dynamicMomentumTransportModel.C" -#endif - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif diff --git a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModels.H b/src/MomentumTransportModels/compressible/makeCompressibleMomentumTransportModel.H similarity index 65% rename from src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModels.H rename to src/MomentumTransportModels/compressible/makeCompressibleMomentumTransportModel.H index 3f2aa0520b..46bc90c841 100644 --- a/src/MomentumTransportModels/compressible/dynamicMomentumTransportModels/dynamicMomentumTransportModels.H +++ b/src/MomentumTransportModels/compressible/makeCompressibleMomentumTransportModel.H @@ -23,9 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "CompressibleMomentumTransportModel.H" -#include "dynamicTransportModel.H" -#include "addToRunTimeSelectionTable.H" +#include "compressibleMomentumTransportModel.H" #include "makeMomentumTransportModel.H" #include "laminarModel.H" @@ -38,22 +36,32 @@ makeMomentumTransportModelTypes ( geometricOneField, volScalarField, - compressibleMomentumTransportModel, - CompressibleMomentumTransportModel, - dynamicTransportModel + compressibleMomentumTransportModel ); #define makeLaminarModel(Type) \ makeTemplatedLaminarModel \ - (dynamicTransportModelCompressibleMomentumTransportModel, laminar, Type) + ( \ + compressibleMomentumTransportModel, \ + laminar, \ + Type \ + ) #define makeRASModel(Type) \ makeTemplatedMomentumTransportModel \ - (dynamicTransportModelCompressibleMomentumTransportModel, RAS, Type) + ( \ + compressibleMomentumTransportModel, \ + RAS, \ + Type \ + ) #define makeLESModel(Type) \ makeTemplatedMomentumTransportModel \ - (dynamicTransportModelCompressibleMomentumTransportModel, LES, Type) + ( \ + compressibleMomentumTransportModel, \ + LES, \ + Type \ + ) // ************************************************************************* // diff --git a/src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.C b/src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.C deleted file mode 100644 index 8c707005d5..0000000000 --- a/src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.C +++ /dev/null @@ -1,155 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "IncompressibleMomentumTransportModel.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -template -Foam::IncompressibleMomentumTransportModel:: -IncompressibleMomentumTransportModel -( - const word& type, - const geometricOneField& alpha, - const geometricOneField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const TransportModel& transport -) -: - MomentumTransportModel - < - geometricOneField, - geometricOneField, - incompressibleMomentumTransportModel, - TransportModel - > - ( - alpha, - rho, - U, - alphaRhoPhi, - phi, - transport - ) -{} - - -// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // - -template -Foam::autoPtr> -Foam::IncompressibleMomentumTransportModel::New -( - const volVectorField& U, - const surfaceScalarField& phi, - const TransportModel& transport -) -{ - return autoPtr - ( - static_cast( - MomentumTransportModel - < - geometricOneField, - geometricOneField, - incompressibleMomentumTransportModel, - TransportModel - >::New - ( - geometricOneField(), - geometricOneField(), - U, - phi, - phi, - transport - ).ptr()) - ); -} - - -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -Foam::tmp -Foam::IncompressibleMomentumTransportModel::devSigma() const -{ - return devTau(); -} - - -template -Foam::tmp -Foam::IncompressibleMomentumTransportModel::divDevSigma -( - volVectorField& U -) const -{ - return divDevTau(U); -} - - -template -Foam::tmp -Foam::IncompressibleMomentumTransportModel:: -devTau() const -{ - NotImplemented; - - return devSigma(); -} - - -template -Foam::tmp -Foam::IncompressibleMomentumTransportModel:: -divDevTau -( - volVectorField& U -) const -{ - NotImplemented; - - return divDevSigma(U); -} - - -template -Foam::tmp -Foam::IncompressibleMomentumTransportModel:: -divDevTau -( - const volScalarField& rho, - volVectorField& U -) const -{ - NotImplemented; - - return divDevSigma(U); -} - - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.H b/src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.H deleted file mode 100644 index ee328c60de..0000000000 --- a/src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.H +++ /dev/null @@ -1,151 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::IncompressibleMomentumTransportModel - -Description - Templated abstract base class for single-phase incompressible - turbulence models. - -SourceFiles - IncompressibleMomentumTransportModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef IncompressibleMomentumTransportModel_H -#define IncompressibleMomentumTransportModel_H - -#include "MomentumTransportModel.H" -#include "incompressibleMomentumTransportModel.H" -#include "fvMatrix.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class IncompressibleMomentumTransportModel Declaration -\*---------------------------------------------------------------------------*/ - -template -class IncompressibleMomentumTransportModel -: - public MomentumTransportModel - < - geometricOneField, - geometricOneField, - incompressibleMomentumTransportModel, - TransportModel - > -{ - -public: - - typedef geometricOneField alphaField; - typedef geometricOneField rhoField; - typedef TransportModel transportModel; - - - // Constructors - - //- Construct - IncompressibleMomentumTransportModel - ( - const word& type, - const geometricOneField& alpha, - const geometricOneField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const TransportModel& transport - ); - - - // Selectors - - //- Return a reference to the selected turbulence model - static autoPtr New - ( - const volVectorField& U, - const surfaceScalarField& phi, - const TransportModel& transportModel - ); - - - //- Destructor - virtual ~IncompressibleMomentumTransportModel() - {} - - - // Member Functions - - //- Return the laminar viscosity - virtual tmp nu() const - { - return this->transport_.nu(); - } - - //- Return the laminar viscosity on patchi - virtual tmp nu(const label patchi) const - { - return this->transport_.nu(patchi); - } - - //- Return the effective stress tensor - virtual tmp devSigma() const; - - //- Return the source term for the momentum equation - virtual tmp divDevSigma(volVectorField& U) const; - - //- Return the effective stress tensor - virtual tmp devTau() const; - - //- Return the source term for the momentum equation - virtual tmp divDevTau(volVectorField& U) const; - - //- Return the source term for the momentum equation - virtual tmp divDevTau - ( - const volScalarField& rho, - volVectorField& U - ) const; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "IncompressibleMomentumTransportModel.C" -#endif - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/incompressible/Make/files b/src/MomentumTransportModels/incompressible/Make/files index 5394d3ae51..244c1368ba 100644 --- a/src/MomentumTransportModels/incompressible/Make/files +++ b/src/MomentumTransportModels/incompressible/Make/files @@ -1,11 +1,11 @@ incompressibleMomentumTransportModel.C +incompressibleMomentumTransportModels.C -kinematicMomentumTransportModels/kinematicMomentumTransportModels.C -kinematicMomentumTransportModels/RAS/qZeta/qZeta.C -kinematicMomentumTransportModels/RAS/kkLOmega/kkLOmega.C -kinematicMomentumTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C -kinematicMomentumTransportModels/RAS/LienLeschziner/LienLeschziner.C -kinematicMomentumTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C -kinematicMomentumTransportModels/RAS/LienCubicKE/LienCubicKE.C +RAS/qZeta/qZeta.C +RAS/kkLOmega/kkLOmega.C +RAS/LamBremhorstKE/LamBremhorstKE.C +RAS/LienLeschziner/LienLeschziner.C +RAS/ShihQuadraticKE/ShihQuadraticKE.C +RAS/LienCubicKE/LienCubicKE.C LIB = $(FOAM_LIBBIN)/libincompressibleMomentumTransportModels diff --git a/src/MomentumTransportModels/incompressible/Make/options b/src/MomentumTransportModels/incompressible/Make/options index bd03fbc70b..b4b233d3c0 100644 --- a/src/MomentumTransportModels/incompressible/Make/options +++ b/src/MomentumTransportModels/incompressible/Make/options @@ -1,11 +1,11 @@ EXE_INC = \ -I../momentumTransportModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ LIB_LIBS = \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lfiniteVolume \ -lmeshTools diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C b/src/MomentumTransportModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C similarity index 98% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C rename to src/MomentumTransportModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C index d0889d40f6..ae2bbbf2f5 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.C +++ b/src/MomentumTransportModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -93,7 +93,7 @@ LamBremhorstKE::LamBremhorstKE const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -105,7 +105,7 @@ LamBremhorstKE::LamBremhorstKE U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.H b/src/MomentumTransportModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.H similarity index 96% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.H rename to src/MomentumTransportModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.H index 2bd38b0fa4..d69e8ecde1 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LamBremhorstKE/LamBremhorstKE.H +++ b/src/MomentumTransportModels/incompressible/RAS/LamBremhorstKE/LamBremhorstKE.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -43,7 +43,7 @@ SourceFiles #ifndef LamBremhorstKE_H #define LamBremhorstKE_H -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "eddyViscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -111,7 +111,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienCubicKE/LienCubicKE.C b/src/MomentumTransportModels/incompressible/RAS/LienCubicKE/LienCubicKE.C similarity index 98% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienCubicKE/LienCubicKE.C rename to src/MomentumTransportModels/incompressible/RAS/LienCubicKE/LienCubicKE.C index 575d8db0a2..0652189482 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienCubicKE/LienCubicKE.C +++ b/src/MomentumTransportModels/incompressible/RAS/LienCubicKE/LienCubicKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -126,7 +126,7 @@ LienCubicKE::LienCubicKE const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -138,7 +138,7 @@ LienCubicKE::LienCubicKE U, alphaRhoPhi, phi, - transport + viscosity ), Ceps1_ diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienCubicKE/LienCubicKE.H b/src/MomentumTransportModels/incompressible/RAS/LienCubicKE/LienCubicKE.H similarity index 97% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienCubicKE/LienCubicKE.H rename to src/MomentumTransportModels/incompressible/RAS/LienCubicKE/LienCubicKE.H index 4161bb8a01..c7cd325b53 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienCubicKE/LienCubicKE.H +++ b/src/MomentumTransportModels/incompressible/RAS/LienCubicKE/LienCubicKE.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -56,7 +56,7 @@ SourceFiles #ifndef LienCubicKE_H #define LienCubicKE_H -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "nonlinearEddyViscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -140,7 +140,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienLeschziner/LienLeschziner.C b/src/MomentumTransportModels/incompressible/RAS/LienLeschziner/LienLeschziner.C similarity index 98% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienLeschziner/LienLeschziner.C rename to src/MomentumTransportModels/incompressible/RAS/LienLeschziner/LienLeschziner.C index 8dc4696f38..a6e6f662a5 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienLeschziner/LienLeschziner.C +++ b/src/MomentumTransportModels/incompressible/RAS/LienLeschziner/LienLeschziner.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -92,7 +92,7 @@ LienLeschziner::LienLeschziner const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -104,7 +104,7 @@ LienLeschziner::LienLeschziner U, alphaRhoPhi, phi, - transport + viscosity ), Ceps1_ diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienLeschziner/LienLeschziner.H b/src/MomentumTransportModels/incompressible/RAS/LienLeschziner/LienLeschziner.H similarity index 97% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienLeschziner/LienLeschziner.H rename to src/MomentumTransportModels/incompressible/RAS/LienLeschziner/LienLeschziner.H index b1f1b32bfd..cbe8610df1 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/LienLeschziner/LienLeschziner.H +++ b/src/MomentumTransportModels/incompressible/RAS/LienLeschziner/LienLeschziner.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -54,7 +54,7 @@ SourceFiles #ifndef LienLeschziner_H #define LienLeschziner_H -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "eddyViscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -128,7 +128,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C b/src/MomentumTransportModels/incompressible/RAS/ShihQuadraticKE/ShihQuadraticKE.C similarity index 98% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C rename to src/MomentumTransportModels/incompressible/RAS/ShihQuadraticKE/ShihQuadraticKE.C index cad7943724..00951aa7cf 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.C +++ b/src/MomentumTransportModels/incompressible/RAS/ShihQuadraticKE/ShihQuadraticKE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -83,7 +83,7 @@ ShihQuadraticKE::ShihQuadraticKE const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -95,7 +95,7 @@ ShihQuadraticKE::ShihQuadraticKE U, alphaRhoPhi, phi, - transport + viscosity ), Ceps1_ diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.H b/src/MomentumTransportModels/incompressible/RAS/ShihQuadraticKE/ShihQuadraticKE.H similarity index 96% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.H rename to src/MomentumTransportModels/incompressible/RAS/ShihQuadraticKE/ShihQuadraticKE.H index 34fd087c64..f438349e25 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/ShihQuadraticKE/ShihQuadraticKE.H +++ b/src/MomentumTransportModels/incompressible/RAS/ShihQuadraticKE/ShihQuadraticKE.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -48,7 +48,7 @@ SourceFiles #ifndef ShihQuadraticKE_H #define ShihQuadraticKE_H -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "nonlinearEddyViscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -115,7 +115,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/kkLOmega/kkLOmega.C b/src/MomentumTransportModels/incompressible/RAS/kkLOmega/kkLOmega.C similarity index 99% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/kkLOmega/kkLOmega.C rename to src/MomentumTransportModels/incompressible/RAS/kkLOmega/kkLOmega.C index 9cc7d5c148..13ea186054 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/kkLOmega/kkLOmega.C +++ b/src/MomentumTransportModels/incompressible/RAS/kkLOmega/kkLOmega.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -222,7 +222,7 @@ kkLOmega::kkLOmega const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -234,7 +234,7 @@ kkLOmega::kkLOmega U, alphaRhoPhi, phi, - transport + viscosity ), A0_ diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/kkLOmega/kkLOmega.H b/src/MomentumTransportModels/incompressible/RAS/kkLOmega/kkLOmega.H similarity index 98% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/kkLOmega/kkLOmega.H rename to src/MomentumTransportModels/incompressible/RAS/kkLOmega/kkLOmega.H index f273e79e18..01bf69d992 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/kkLOmega/kkLOmega.H +++ b/src/MomentumTransportModels/incompressible/RAS/kkLOmega/kkLOmega.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -95,7 +95,7 @@ SourceFiles #ifndef kkLOmega_H #define kkLOmega_H -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "eddyViscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -227,7 +227,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/qZeta/qZeta.C b/src/MomentumTransportModels/incompressible/RAS/qZeta/qZeta.C similarity index 98% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/qZeta/qZeta.C rename to src/MomentumTransportModels/incompressible/RAS/qZeta/qZeta.C index 020a92c1fc..71c42c8cee 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/qZeta/qZeta.C +++ b/src/MomentumTransportModels/incompressible/RAS/qZeta/qZeta.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -83,7 +83,7 @@ qZeta::qZeta const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -95,7 +95,7 @@ qZeta::qZeta U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/qZeta/qZeta.H b/src/MomentumTransportModels/incompressible/RAS/qZeta/qZeta.H similarity index 97% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/qZeta/qZeta.H rename to src/MomentumTransportModels/incompressible/RAS/qZeta/qZeta.H index 9fbf4a0577..84905d8b4c 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/RAS/qZeta/qZeta.H +++ b/src/MomentumTransportModels/incompressible/RAS/qZeta/qZeta.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -52,7 +52,7 @@ SourceFiles #ifndef qZeta_H #define qZeta_H -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModels.H" #include "eddyViscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -122,7 +122,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.C b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.C index 0f24f3d979..26c110ad09 100644 --- a/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.C +++ b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,73 +24,101 @@ License \*---------------------------------------------------------------------------*/ #include "incompressibleMomentumTransportModel.H" +#include "fvMatrix.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // -namespace Foam -{ - defineTypeNameAndDebug(incompressibleMomentumTransportModel, 0); -} +// namespace Foam +// { +// defineTypeNameAndDebug(incompressibleMomentumTransportModel, 0); +// } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::incompressibleMomentumTransportModel::incompressibleMomentumTransportModel ( - const geometricOneField&, + const word& type, + const geometricOneField& alpha, + const geometricOneField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi + const surfaceScalarField& phi, + const viscosity& viscosity ) : - momentumTransportModel - ( - U, - alphaRhoPhi, - phi - ) + momentumTransportModel(U, alphaRhoPhi, phi, viscosity), + alpha_(alpha), + rho_(rho) {} -Foam::tmp -Foam::incompressibleMomentumTransportModel::mu() const +// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // + +Foam::autoPtr +Foam::incompressibleMomentumTransportModel::New +( + const volVectorField& U, + const surfaceScalarField& phi, + const viscosity& viscosity +) { - return nu(); + return momentumTransportModel::New + ( + geometricOneField(), + geometricOneField(), + U, + phi, + phi, + viscosity + ); } -Foam::tmp -Foam::incompressibleMomentumTransportModel::mu(const label patchi) const +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +Foam::tmp +Foam::incompressibleMomentumTransportModel::devSigma() const { - return nu(patchi); + return devTau(); } -Foam::tmp -Foam::incompressibleMomentumTransportModel::mut() const +Foam::tmp +Foam::incompressibleMomentumTransportModel::divDevSigma(volVectorField& U) const { - return nut(); + return divDevTau(U); } -Foam::tmp -Foam::incompressibleMomentumTransportModel::mut(const label patchi) const +Foam::tmp +Foam::incompressibleMomentumTransportModel::devTau() const { - return nut(patchi); + NotImplemented; + return devSigma(); } -Foam::tmp -Foam::incompressibleMomentumTransportModel::muEff() const +Foam::tmp +Foam::incompressibleMomentumTransportModel::divDevTau +( + volVectorField& U +) const { - return nuEff(); + NotImplemented; + return divDevSigma(U); } -Foam::tmp -Foam::incompressibleMomentumTransportModel::muEff(const label patchi) const +Foam::tmp +Foam::incompressibleMomentumTransportModel::divDevTau +( + const volScalarField& rho, + volVectorField& U +) const { - return nuEff(patchi); + NotImplemented; + return divDevSigma(U); } diff --git a/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.H b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.H index b2fc398bb0..bcc9b145b1 100644 --- a/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.H +++ b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,7 +25,7 @@ Class Foam::incompressibleMomentumTransportModel Description - Abstract base class for turbulence models (RAS, LES and laminar). + Base class for single-phase incompressible turbulence models. SourceFiles incompressibleMomentumTransportModel.C @@ -36,16 +36,12 @@ SourceFiles #define incompressibleMomentumTransportModel_H #include "momentumTransportModel.H" -#include "geometricOneField.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -// Forward declarations -class fvMesh; - /*---------------------------------------------------------------------------*\ Class incompressibleMomentumTransportModel Declaration \*---------------------------------------------------------------------------*/ @@ -54,35 +50,70 @@ class incompressibleMomentumTransportModel : public momentumTransportModel { + +public: + + typedef geometricOneField alphaField; + typedef geometricOneField rhoField; + + protected: // Protected data - geometricOneField rho_; + alphaField alpha_; + rhoField rho_; public: //- Runtime type information - TypeName(momentumTransportModel::typeName_()); + // TypeName("incompressibleMomentumTransportModel"); + + + // Declare run-time constructor selection table + + declareRunTimeNewSelectionTable + ( + autoPtr, + incompressibleMomentumTransportModel, + dictionary, + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity + ), + (alpha, rho, U, alphaRhoPhi, phi, viscosity) + ); // Constructors - //- Construct from components + //- Construct incompressibleMomentumTransportModel ( + const word& type, + const geometricOneField& alpha, const geometricOneField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi + const surfaceScalarField& phi, + const viscosity& viscosity ); - //- Disallow default bitwise copy construction - incompressibleMomentumTransportModel + + // Selectors + + //- Return a reference to the selected turbulence model + static autoPtr New ( - const incompressibleMomentumTransportModel& - ) = delete; + const volVectorField& U, + const surfaceScalarField& phi, + const viscosity& viscosity + ); //- Destructor @@ -92,44 +123,65 @@ public: // Member Functions - //- Return the laminar dynamic viscosity - virtual tmp mu() const; + //- Access function to phase fraction + const alphaField& alpha() const + { + return alpha_; + } - //- Return the laminar dynamic viscosity on patch - virtual tmp mu(const label patchi) const; + //- Return the density field + const rhoField& rho() const + { + return rho_; + } - //- Return the turbulence dynamic viscosity - virtual tmp mut() const; - - //- Return the turbulence dynamic viscosity on patch - virtual tmp mut(const label patchi) const; - - //- Return the effective dynamic viscosity - virtual tmp muEff() const; - - //- Return the effective dynamic viscosity on patch - virtual tmp muEff(const label patchi) const; - - //- Return the effective stress tensor including the laminar stress - virtual tmp devSigma() const = 0; + //- Return the effective stress tensor + virtual tmp devSigma() const; //- Return the source term for the momentum equation - virtual tmp divDevSigma(volVectorField& U) const = 0; + virtual tmp divDevSigma(volVectorField& U) const; + //- Return the effective stress tensor + virtual tmp devTau() const; - // Member Operators + //- Return the source term for the momentum equation + virtual tmp divDevTau(volVectorField& U) const; - //- Disallow default bitwise assignment - void operator=(const incompressibleMomentumTransportModel&) = delete; + //- Return the source term for the momentum equation + virtual tmp divDevTau + ( + const volScalarField& rho, + volVectorField& U + ) const; }; +namespace incompressible +{ + typedef incompressibleMomentumTransportModel momentumTransportModel; + + template + autoPtr New + ( + const volVectorField& U, + const surfaceScalarField& phi, + const viscosity& viscosity + ); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#ifdef NoRepository + #include "incompressibleMomentumTransportModelTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModel.C b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModelTemplates.C similarity index 78% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModel.C rename to src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModelTemplates.C index eb075b833f..2ad4dda393 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModel.C +++ b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModelTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,31 +23,28 @@ License \*---------------------------------------------------------------------------*/ -#include "kinematicMomentumTransportModel.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { namespace incompressible { - template - autoPtr New + template + autoPtr New ( const volVectorField& U, const surfaceScalarField& phi, - const typename BasicIncompressibleMomentumTransportModel:: - transportModel& transport + const viscosity& viscosity ) { - return BasicIncompressibleMomentumTransportModel::New + return IncompressibleMomentumTransportModel::New ( geometricOneField(), geometricOneField(), U, phi, phi, - transport + viscosity ); } } diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModels.C b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModels.C similarity index 95% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModels.C rename to src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModels.C index 5825a83cda..097f9b022c 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModels.C +++ b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModels.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "kinematicMomentumTransportModels.H" +#include "makeIncompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -31,9 +31,7 @@ makeBaseMomentumTransportModel ( geometricOneField, geometricOneField, - incompressibleMomentumTransportModel, - IncompressibleMomentumTransportModel, - kinematicTransportModel + incompressibleMomentumTransportModel ); diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModel.H b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModels.H similarity index 69% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModel.H rename to src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModels.H index d48d7b0cad..e75ee9696e 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModel.H +++ b/src/MomentumTransportModels/incompressible/incompressibleMomentumTransportModels.H @@ -34,20 +34,15 @@ Description Typedefs for turbulence, RAS and LES models for incompressible flow based on the standard laminar transport package. -SourceFiles - kinematicMomentumTransportModel.C - kinematicMomentumTransportModels.C - \*---------------------------------------------------------------------------*/ -#ifndef kinematicMomentumTransportModel_H -#define kinematicMomentumTransportModel_H +#ifndef incompressibleMomentumTransportModels_H +#define incompressibleMomentumTransportModels_H -#include "IncompressibleMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" #include "laminarModel.H" #include "RASModel.H" #include "LESModel.H" -#include "kinematicTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -55,31 +50,13 @@ namespace Foam { namespace incompressible { - typedef IncompressibleMomentumTransportModel - momentumTransportModel; - typedef laminarModel laminarModel; typedef RASModel RASModel; typedef LESModel LESModel; - - template - autoPtr New - ( - const volVectorField& U, - const surfaceScalarField& phi, - const typename BasicIncompressibleMomentumTransportModel:: - transportModel& transport - ); } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "kinematicMomentumTransportModel.C" -#endif - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif diff --git a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModels.H b/src/MomentumTransportModels/incompressible/makeIncompressibleMomentumTransportModel.H similarity index 73% rename from src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModels.H rename to src/MomentumTransportModels/incompressible/makeIncompressibleMomentumTransportModel.H index 12e9518d09..95b2bd20bb 100644 --- a/src/MomentumTransportModels/incompressible/kinematicMomentumTransportModels/kinematicMomentumTransportModels.H +++ b/src/MomentumTransportModels/incompressible/makeIncompressibleMomentumTransportModel.H @@ -23,9 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "IncompressibleMomentumTransportModel.H" -#include "kinematicTransportModel.H" -#include "addToRunTimeSelectionTable.H" +#include "incompressibleMomentumTransportModel.H" #include "makeMomentumTransportModel.H" #include "laminarModel.H" @@ -38,26 +36,32 @@ makeMomentumTransportModelTypes ( geometricOneField, geometricOneField, - incompressibleMomentumTransportModel, - IncompressibleMomentumTransportModel, - kinematicTransportModel + incompressibleMomentumTransportModel ); #define makeLaminarModel(Type) \ makeTemplatedMomentumTransportModel \ ( \ - kinematicTransportModelIncompressibleMomentumTransportModel, \ + incompressibleMomentumTransportModel, \ laminar, \ Type \ ) #define makeRASModel(Type) \ makeTemplatedMomentumTransportModel \ - (kinematicTransportModelIncompressibleMomentumTransportModel, RAS, Type) + ( \ + incompressibleMomentumTransportModel, \ + RAS, \ + Type \ + ) #define makeLESModel(Type) \ makeTemplatedMomentumTransportModel \ - (kinematicTransportModelIncompressibleMomentumTransportModel, LES, Type) + ( \ + incompressibleMomentumTransportModel, \ + LES, \ + Type \ + ) // ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.C b/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.C index 280387a3f2..3dd736de0e 100644 --- a/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.C +++ b/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.C @@ -56,7 +56,7 @@ kOmegaSST::kOmegaSST::F1 max ( (scalar(1)/betaStar_)*sqrt(k_)/(omega_*y_), - scalar(500)*(this->mu()/this->rho_)/(sqr(y_)*omega_) + scalar(500)*this->nu()/(sqr(y_)*omega_) ), (4*alphaOmega2_)*k_/(CDkOmegaPlus*sqr(y_)) ), @@ -76,7 +76,7 @@ F2() const max ( (scalar(2)/betaStar_)*sqrt(k_)/(omega_*y_), - scalar(500)*(this->mu()/this->rho_)/(sqr(y_)*omega_) + scalar(500)*this->nu()/(sqr(y_)*omega_) ), scalar(100) ); @@ -91,7 +91,7 @@ F3() const { tmp arg3 = min ( - 150*(this->mu()/this->rho_)/(omega_*sqr(y_)), + 150*this->nu()/(omega_*sqr(y_)), scalar(10) ); @@ -222,7 +222,7 @@ kOmegaSST::kOmegaSST const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : MomentumTransportModel @@ -233,7 +233,7 @@ kOmegaSST::kOmegaSST U, alphaRhoPhi, phi, - transport + viscosity ), alphaK1_ diff --git a/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.H b/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.H index 12b0c11639..b05b35b45d 100644 --- a/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.H +++ b/src/MomentumTransportModels/momentumTransportModels/Base/kOmegaSST/kOmegaSSTBase.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -242,7 +242,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; // Constructors @@ -256,7 +255,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); //- Disallow default bitwise copy construction diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.C b/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.C index e03255987d..b5866f2f1d 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.C @@ -55,7 +55,7 @@ DeardorffDiffStress::DeardorffDiffStress const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -67,7 +67,7 @@ DeardorffDiffStress::DeardorffDiffStress U, alphaRhoPhi, phi, - transport + viscosity ), Ck_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.H b/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.H index 31a36c6d58..3090b65de5 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/DeardorffDiffStress/DeardorffDiffStress.H @@ -103,7 +103,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -120,7 +119,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.C b/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.C index 045877ab2b..e9a0f26c83 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.C @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "LESModel.H" +#include "NewtonianViscosityModel.H" // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // @@ -48,7 +49,7 @@ Foam::LESModel::LESModel const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : BasicMomentumTransportModel @@ -59,7 +60,7 @@ Foam::LESModel::LESModel U, alphaRhoPhi, phi, - transport + viscosity ), LESDict_(this->subOrEmptyDict("LES")), @@ -100,6 +101,26 @@ Foam::LESModel::LESModel ) ), + viscosityModel_ + ( + coeffDict_.found("viscosityModel") + ? laminarModels::generalisedNewtonianViscosityModel::New + ( + coeffDict_, + viscosity, + U + ) + : autoPtr + ( + new laminarModels::generalisedNewtonianViscosityModels::Newtonian + ( + coeffDict_, + viscosity, + U + ) + ) + ), + delta_ ( LESdelta::New @@ -127,7 +148,7 @@ Foam::LESModel::New const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) { const IOdictionary modelDict @@ -162,7 +183,7 @@ Foam::LESModel::New return autoPtr ( - cstrIter()(alpha, rho, U, alphaRhoPhi, phi, transport) + cstrIter()(alpha, rho, U, alphaRhoPhi, phi, viscosity) ); } @@ -195,6 +216,7 @@ bool Foam::LESModel::read() template void Foam::LESModel::correct() { + viscosityModel_->correct(); delta_().correct(); BasicMomentumTransportModel::correct(); } diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.H b/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.H index 8cf8bda647..cef5160ae6 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/LESModel/LESModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -33,6 +33,9 @@ Class Description Templated abstract base class for LES SGS models + with support for generalised Newtonian viscosity models including + strain-rate dependency. + SourceFiles LESModel.C @@ -41,7 +44,8 @@ SourceFiles #ifndef LESModel_H #define LESModel_H -#include "MomentumTransportModel.H" +#include "momentumTransportModel.H" +#include "generalisedNewtonianViscosityModel.H" #include "LESdelta.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -84,6 +88,10 @@ protected: //- Lower limit for omega dimensionedScalar omegaMin_; + //- Run-time selectable generalised Newtonian viscosity model + autoPtr + viscosityModel_; + //- Run-time selectable delta model autoPtr delta_; @@ -98,7 +106,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -118,9 +125,9 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ), - (alpha, rho, U, alphaRhoPhi, phi, transport) + (alpha, rho, U, alphaRhoPhi, phi, viscosity) ); @@ -135,7 +142,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); //- Disallow default bitwise copy construction @@ -152,7 +159,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); @@ -166,33 +173,41 @@ public: //- Read model coefficients if they have changed virtual bool read(); + //- Const access to the coefficients dictionary + virtual const dictionary& coeffDict() const + { + return coeffDict_; + } - // Access + //- Return the lower allowable limit for k (default: small) + const dimensionedScalar& kMin() const + { + return kMin_; + } - //- Const access to the coefficients dictionary - virtual const dictionary& coeffDict() const - { - return coeffDict_; - } + //- Allow kMin to be changed + dimensionedScalar& kMin() + { + return kMin_; + } - //- Return the lower allowable limit for k (default: small) - const dimensionedScalar& kMin() const - { - return kMin_; - } + //- Access function to filter width + inline const volScalarField& delta() const + { + return delta_(); + } - //- Allow kMin to be changed - dimensionedScalar& kMin() - { - return kMin_; - } - - //- Access function to filter width - inline const volScalarField& delta() const - { - return delta_(); - } + //- Return the laminar viscosity + virtual tmp nu() const + { + return viscosityModel_->nu(); + } + //- Return the laminar viscosity on patchi + virtual tmp nu(const label patchi) const + { + return viscosityModel_->nu(patchi); + } //- Return the effective viscosity virtual tmp nuEff() const diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.C b/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.C index fc09ca4d3e..39ae663786 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -43,7 +43,7 @@ LESeddyViscosity::LESeddyViscosity const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : eddyViscosity> @@ -54,7 +54,7 @@ LESeddyViscosity::LESeddyViscosity U, alphaRhoPhi, phi, - transport + viscosity ), Ce_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.H b/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.H index 8144ce1b3b..0ea66e5007 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/LESeddyViscosity/LESeddyViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -65,7 +65,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; // Constructors @@ -79,7 +78,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); //- Disallow default bitwise copy construction diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.C b/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.C index a5c77c5ef8..15f2a4987b 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.C @@ -77,7 +77,7 @@ Smagorinsky::Smagorinsky const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -89,7 +89,7 @@ Smagorinsky::Smagorinsky U, alphaRhoPhi, phi, - transport + viscosity ), Ck_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.H b/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.H index 96f2121dcb..cd27a8fca4 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/Smagorinsky/Smagorinsky.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -109,7 +109,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -126,7 +125,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C index 5d37371dcf..48773efde1 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -115,7 +115,7 @@ SpalartAllmarasDDES::SpalartAllmarasDDES const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -126,7 +126,7 @@ SpalartAllmarasDDES::SpalartAllmarasDDES U, alphaRhoPhi, phi, - transport + viscosity ) {} diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H index 608bb1784c..ec09f42238 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDDES/SpalartAllmarasDDES.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -95,7 +95,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -112,7 +111,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C index 50de7073ce..e1ea09a8b5 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.C @@ -226,7 +226,7 @@ SpalartAllmarasDES::SpalartAllmarasDES const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -238,7 +238,7 @@ SpalartAllmarasDES::SpalartAllmarasDES U, alphaRhoPhi, phi, - transport + viscosity ), sigmaNut_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H index c2ce22f861..7943829e0b 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasDES/SpalartAllmarasDES.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -153,7 +153,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -170,7 +169,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C index 197d07bf9c..760cc90203 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -222,7 +222,7 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -233,7 +233,7 @@ SpalartAllmarasIDDES::SpalartAllmarasIDDES U, alphaRhoPhi, phi, - transport + viscosity ), fwStar_ ( diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H index f6de279a01..a697a099be 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/SpalartAllmarasIDDES/SpalartAllmarasIDDES.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -122,7 +122,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -139,7 +138,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.C b/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.C index dd91fcaf4f..bc4674d57b 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.C @@ -97,7 +97,7 @@ WALE::WALE const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -109,7 +109,7 @@ WALE::WALE U, alphaRhoPhi, phi, - transport + viscosity ), Ck_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.H b/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.H index 201d98e78d..c0b803822e 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/WALE/WALE.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -101,7 +101,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -118,7 +117,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.C b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.C index 6a09e58afd..04a19ea129 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.C @@ -150,7 +150,7 @@ dynamicKEqn::dynamicKEqn const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -162,7 +162,7 @@ dynamicKEqn::dynamicKEqn U, alphaRhoPhi, phi, - transport + viscosity ), k_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.H b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.H index cd72a891cd..c6f48ae14f 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicKEqn/dynamicKEqn.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -128,7 +128,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -145,7 +144,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.C b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.C index c291204576..215d92d204 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.C @@ -65,7 +65,7 @@ dynamicLagrangian::dynamicLagrangian const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -77,7 +77,7 @@ dynamicLagrangian::dynamicLagrangian U, alphaRhoPhi, phi, - transport + viscosity ), flm_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.H b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.H index f1dc03847b..f21918634d 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/dynamicLagrangian/dynamicLagrangian.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -90,7 +90,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information TypeName("dynamicLagrangian"); @@ -106,7 +105,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.C b/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.C index 6631b071b8..d19a0f23d6 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.C @@ -70,7 +70,7 @@ kEqn::kEqn const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -82,7 +82,7 @@ kEqn::kEqn U, alphaRhoPhi, phi, - transport + viscosity ), k_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.H b/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.H index 6d0f6036b2..8ad3a124de 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/kEqn/kEqn.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -97,7 +97,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -114,7 +113,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.C b/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.C index 9d23ede8f4..862730cf91 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.C +++ b/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -88,7 +88,7 @@ kOmegaSSTDES::kOmegaSSTDES const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -104,7 +104,7 @@ kOmegaSSTDES::kOmegaSSTDES U, alphaRhoPhi, phi, - transport + viscosity ), CDES_ diff --git a/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.H b/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.H index 5c3d881c0f..a52974ea62 100644 --- a/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.H +++ b/src/MomentumTransportModels/momentumTransportModels/LES/kOmegaSSTDES/kOmegaSSTDES.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -120,7 +120,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -137,7 +136,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/Make/files b/src/MomentumTransportModels/momentumTransportModels/Make/files index 1c0050e8ad..ab992e7ca9 100644 --- a/src/MomentumTransportModels/momentumTransportModels/Make/files +++ b/src/MomentumTransportModels/momentumTransportModels/Make/files @@ -65,11 +65,16 @@ $(RASBCs)/turbulentMixingLengthFrequencyInlet/turbulentMixingLengthFrequencyInle generalisedNewtonianViscosityModels = laminar/generalisedNewtonian/generalisedNewtonianViscosityModels $(generalisedNewtonianViscosityModels)/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.C $(generalisedNewtonianViscosityModels)/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModelNew.C -$(generalisedNewtonianViscosityModels)/CrossPowerLaw/CrossPowerLaw.C -$(generalisedNewtonianViscosityModels)/BirdCarreau/BirdCarreau.C -$(generalisedNewtonianViscosityModels)/Casson/Casson.C -$(generalisedNewtonianViscosityModels)/HerschelBulkley/HerschelBulkley.C -$(generalisedNewtonianViscosityModels)/powerLaw/powerLaw.C -$(generalisedNewtonianViscosityModels)/strainRateFunction/strainRateFunction.C + +$(generalisedNewtonianViscosityModels)/Newtonian/NewtonianViscosityModel.C + +strainRateViscosityModels = $(generalisedNewtonianViscosityModels)/strainRateViscosityModels +$(strainRateViscosityModels)/strainRateViscosityModel/strainRateViscosityModel.C +$(strainRateViscosityModels)/CrossPowerLaw/CrossPowerLaw.C +$(strainRateViscosityModels)/BirdCarreau/BirdCarreau.C +$(strainRateViscosityModels)/Casson/Casson.C +$(strainRateViscosityModels)/HerschelBulkley/HerschelBulkley.C +$(strainRateViscosityModels)/powerLaw/powerLaw.C +$(strainRateViscosityModels)/strainRateFunction/strainRateFunction.C LIB = $(FOAM_LIBBIN)/libmomentumTransportModels diff --git a/src/MomentumTransportModels/momentumTransportModels/Make/options b/src/MomentumTransportModels/momentumTransportModels/Make/options index a3ae8da833..6fd53217f9 100644 --- a/src/MomentumTransportModels/momentumTransportModels/Make/options +++ b/src/MomentumTransportModels/momentumTransportModels/Make/options @@ -1,4 +1,5 @@ EXE_INC = \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude diff --git a/src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.C b/src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.C deleted file mode 100644 index 03857a4776..0000000000 --- a/src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.C +++ /dev/null @@ -1,133 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "MomentumTransportModel.H" -#include "volFields.H" -#include "surfaceFields.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -template -< - class Alpha, - class Rho, - class BasicMomentumTransportModel, - class TransportModel -> -Foam::MomentumTransportModel -< - Alpha, - Rho, - BasicMomentumTransportModel, - TransportModel ->::MomentumTransportModel -( - const alphaField& alpha, - const rhoField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport -) -: - BasicMomentumTransportModel - ( - rho, - U, - alphaRhoPhi, - phi - ), - alpha_(alpha), - transport_(transport) -{} - - -// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // - -template -< - class Alpha, - class Rho, - class BasicMomentumTransportModel, - class TransportModel -> -Foam::autoPtr -< - Foam::MomentumTransportModel - < - Alpha, - Rho, - BasicMomentumTransportModel, - TransportModel - > -> -Foam::MomentumTransportModel -< - Alpha, - Rho, - BasicMomentumTransportModel, - TransportModel ->::New -( - const alphaField& alpha, - const rhoField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport -) -{ - const word modelType - ( - momentumTransportModel::readModelDict - ( - U.db(), - alphaRhoPhi.group() - ).lookup("simulationType") - ); - - Info<< "Selecting turbulence model type " << modelType << endl; - - typename dictionaryConstructorTable::iterator cstrIter = - dictionaryConstructorTablePtr_->find(modelType); - - if (cstrIter == dictionaryConstructorTablePtr_->end()) - { - FatalErrorInFunction - << "Unknown MomentumTransportModel type " - << modelType << nl << nl - << "Valid MomentumTransportModel types:" << endl - << dictionaryConstructorTablePtr_->sortedToc() - << exit(FatalError); - } - - return autoPtr - ( - cstrIter()(alpha, rho, U, alphaRhoPhi, phi, transport) - ); -} - - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.H b/src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.H deleted file mode 100644 index 50cb56e0a8..0000000000 --- a/src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.H +++ /dev/null @@ -1,171 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -Class - Foam::MomentumTransportModel - -Description - Templated abstract base class for turbulence models - -SourceFiles - MomentumTransportModel.C - -\*---------------------------------------------------------------------------*/ - -#ifndef MomentumTransportModel_H -#define MomentumTransportModel_H - -#include "momentumTransportModel.H" -#include "autoPtr.H" -#include "runTimeSelectionTables.H" - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - -/*---------------------------------------------------------------------------*\ - Class MomentumTransportModel Declaration -\*---------------------------------------------------------------------------*/ - -template -< - class Alpha, - class Rho, - class BasicMomentumTransportModel, - class TransportModel -> -class MomentumTransportModel -: - public BasicMomentumTransportModel -{ - -public: - - typedef Alpha alphaField; - typedef Rho rhoField; - typedef TransportModel transportModel; - - -protected: - - // Protected data - - const alphaField& alpha_; - const transportModel& transport_; - - -public: - - // Declare run-time constructor selection table - - declareRunTimeNewSelectionTable - ( - autoPtr, - MomentumTransportModel, - dictionary, - ( - const alphaField& alpha, - const rhoField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport - ), - (alpha, rho, U, alphaRhoPhi, phi, transport) - ); - - - // Constructors - - //- Construct - MomentumTransportModel - ( - const alphaField& alpha, - const rhoField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport - ); - - //- Disallow default bitwise copy construction - MomentumTransportModel(const MomentumTransportModel&) = delete; - - - // Selectors - - //- Return a reference to the selected turbulence model - static autoPtr New - ( - const alphaField& alpha, - const rhoField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport - ); - - - //- Destructor - virtual ~MomentumTransportModel() - {} - - - // Member Functions - - //- Access function to phase fraction - const alphaField& alpha() const - { - return alpha_; - } - - //- Access function to incompressible transport model - const transportModel& transport() const - { - return transport_; - } - - - // Member Operators - - //- Disallow default bitwise assignment - void operator=(const MomentumTransportModel&) = delete; -}; - - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "MomentumTransportModel.C" -#endif - -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#endif - -// ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.C b/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.C index 191c020c2f..915f0d16b2 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.C @@ -70,7 +70,7 @@ LRR::LRR const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -82,7 +82,7 @@ LRR::LRR U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.H b/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.H index 1d6d5c8d78..a5c743a929 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/LRR/LRR.H @@ -143,7 +143,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -160,7 +159,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C b/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C index 12850eb79a..b1cfada58e 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.C @@ -104,7 +104,7 @@ LaunderSharmaKE::LaunderSharmaKE const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -116,7 +116,7 @@ LaunderSharmaKE::LaunderSharmaKE U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.H b/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.H index 13c1216de9..8b3447d879 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/LaunderSharmaKE/LaunderSharmaKE.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -117,7 +117,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -134,7 +133,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.C b/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.C index f6b16411d8..2ecde9bb93 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.C @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "RASModel.H" +#include "NewtonianViscosityModel.H" // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // @@ -48,7 +49,7 @@ Foam::RASModel::RASModel const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : BasicMomentumTransportModel @@ -59,7 +60,7 @@ Foam::RASModel::RASModel U, alphaRhoPhi, phi, - transport + viscosity ), RASDict_(this->subOrEmptyDict("RAS")), @@ -98,6 +99,26 @@ Foam::RASModel::RASModel dimless/dimTime, small ) + ), + + viscosityModel_ + ( + coeffDict_.found("viscosityModel") + ? laminarModels::generalisedNewtonianViscosityModel::New + ( + coeffDict_, + viscosity, + U + ) + : autoPtr + ( + new laminarModels::generalisedNewtonianViscosityModels::Newtonian + ( + coeffDict_, + viscosity, + U + ) + ) ) { // Force the construction of the mesh deltaCoeffs which may be needed @@ -117,7 +138,7 @@ Foam::RASModel::New const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) { const IOdictionary modelDict @@ -152,7 +173,7 @@ Foam::RASModel::New return autoPtr ( - cstrIter()(alpha, rho, U, alphaRhoPhi, phi, transport) + cstrIter()(alpha, rho, U, alphaRhoPhi, phi, viscosity) ); } @@ -185,6 +206,7 @@ bool Foam::RASModel::read() template void Foam::RASModel::correct() { + viscosityModel_->correct(); BasicMomentumTransportModel::correct(); } diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.H b/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.H index 2d6b932958..ead617fd4a 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/RASModel/RASModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -27,6 +27,9 @@ Class Description Templated abstract base class for RAS turbulence models + with support for generalised Newtonian viscosity models including + strain-rate dependency. + SourceFiles RASModel.C @@ -35,7 +38,8 @@ SourceFiles #ifndef RASModel_H #define RASModel_H -#include "MomentumTransportModel.H" +#include "momentumTransportModel.H" +#include "generalisedNewtonianViscosityModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -77,6 +81,10 @@ protected: //- Lower limit for omega dimensionedScalar omegaMin_; + //- Run-time selectable generalised Newtonian viscosity model + autoPtr + viscosityModel_; + // Protected Member Functions @@ -88,7 +96,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -108,9 +115,9 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ), - (alpha, rho, U, alphaRhoPhi, phi, transport) + (alpha, rho, U, alphaRhoPhi, phi, viscosity) ); @@ -125,7 +132,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); //- Disallow default bitwise copy construction @@ -142,7 +149,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); @@ -156,51 +163,59 @@ public: //- Read model coefficients if they have changed virtual bool read(); + //- Return the lower allowable limit for k (default: small) + const dimensionedScalar& kMin() const + { + return kMin_; + } - // Access + //- Return the lower allowable limit for epsilon (default: small) + const dimensionedScalar& epsilonMin() const + { + return epsilonMin_; + } - //- Return the lower allowable limit for k (default: small) - const dimensionedScalar& kMin() const - { - return kMin_; - } + //- Return the lower allowable limit for omega (default: small) + const dimensionedScalar& omegaMin() const + { + return omegaMin_; + } - //- Return the lower allowable limit for epsilon (default: small) - const dimensionedScalar& epsilonMin() const - { - return epsilonMin_; - } + //- Allow kMin to be changed + dimensionedScalar& kMin() + { + return kMin_; + } - //- Return the lower allowable limit for omega (default: small) - const dimensionedScalar& omegaMin() const - { - return omegaMin_; - } + //- Allow epsilonMin to be changed + dimensionedScalar& epsilonMin() + { + return epsilonMin_; + } - //- Allow kMin to be changed - dimensionedScalar& kMin() - { - return kMin_; - } + //- Allow omegaMin to be changed + dimensionedScalar& omegaMin() + { + return omegaMin_; + } - //- Allow epsilonMin to be changed - dimensionedScalar& epsilonMin() - { - return epsilonMin_; - } + //- Const access to the coefficients dictionary + virtual const dictionary& coeffDict() const + { + return coeffDict_; + } - //- Allow omegaMin to be changed - dimensionedScalar& omegaMin() - { - return omegaMin_; - } - - //- Const access to the coefficients dictionary - virtual const dictionary& coeffDict() const - { - return coeffDict_; - } + //- Return the laminar viscosity + virtual tmp nu() const + { + return viscosityModel_->nu(); + } + //- Return the laminar viscosity on patchi + virtual tmp nu(const label patchi) const + { + return viscosityModel_->nu(patchi); + } //- Return the effective viscosity virtual tmp nuEff() const diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C b/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C index 9d8f1a5d71..d41e80a385 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.C @@ -87,7 +87,7 @@ RNGkEpsilon::RNGkEpsilon const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -99,7 +99,7 @@ RNGkEpsilon::RNGkEpsilon U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.H b/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.H index 8372b243c9..c836918adc 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/RNGkEpsilon/RNGkEpsilon.H @@ -122,7 +122,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -139,7 +138,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.C b/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.C index 71753c39d7..c962fcc69d 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.C @@ -70,7 +70,7 @@ SSG::SSG const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -82,7 +82,7 @@ SSG::SSG U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.H b/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.H index 6461c17d74..2c6fefad89 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/SSG/SSG.H @@ -134,7 +134,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -151,7 +150,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.C b/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.C index e440ba36f7..e5dad44f49 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.C @@ -163,7 +163,7 @@ SpalartAllmaras::SpalartAllmaras const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -175,7 +175,7 @@ SpalartAllmaras::SpalartAllmaras U, alphaRhoPhi, phi, - transport + viscosity ), sigmaNut_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.H b/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.H index 643b5cae77..eca6e09cba 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/SpalartAllmaras/SpalartAllmaras.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -151,7 +151,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -168,7 +167,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.C b/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.C index 78dd9b3d8e..4012db3cd8 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.C @@ -86,7 +86,7 @@ kEpsilon::kEpsilon const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -98,7 +98,7 @@ kEpsilon::kEpsilon U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.H b/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.H index ba18191427..694627f986 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kEpsilon/kEpsilon.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -115,7 +115,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -132,7 +131,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.C b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.C index 516b4f4028..03a05bdcf7 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.C @@ -85,7 +85,7 @@ kOmega::kOmega const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -97,10 +97,10 @@ kOmega::kOmega U, alphaRhoPhi, phi, - transport + viscosity ), - Cmu_ + betaStar_ ( dimensioned::lookupOrAddToDict ( @@ -188,7 +188,7 @@ bool kOmega::read() { if (eddyViscosity>::read()) { - Cmu_.readIfPresent(this->coeffDict()); + betaStar_.readIfPresent(this->coeffDict()); beta_.readIfPresent(this->coeffDict()); gamma_.readIfPresent(this->coeffDict()); alphaK_.readIfPresent(this->coeffDict()); @@ -272,7 +272,7 @@ void kOmega::correct() == alpha()*rho()*G - fvm::SuSp((2.0/3.0)*alpha()*rho()*divU, k_) - - fvm::Sp(Cmu_*alpha()*rho()*omega_(), k_) + - fvm::Sp(betaStar_*alpha()*rho()*omega_(), k_) + kSource() + fvModels.source(alpha, rho, k_) ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.H b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.H index 1e43bde84e..53337aba7e 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega/kOmega.H @@ -39,7 +39,7 @@ Description \verbatim kOmegaCoeffs { - Cmu 0.09; // Equivalent to betaStar + betaStar 0.09; gamma 0.52; beta 0.072; alphak 0.5; @@ -81,7 +81,7 @@ protected: // Model coefficients - dimensionedScalar Cmu_; + dimensionedScalar betaStar_; dimensionedScalar beta_; dimensionedScalar gamma_; dimensionedScalar alphaK_; @@ -105,7 +105,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -122,7 +121,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); @@ -175,7 +174,7 @@ public: return volScalarField::New ( "epsilon", - Cmu_*k_*omega_, + betaStar_*k_*omega_, omega_.boundaryField().types() ); } diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.C b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.C index d938116d5f..b1ec1d3bae 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.C @@ -133,7 +133,7 @@ kOmega2006::kOmega2006 const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -145,7 +145,7 @@ kOmega2006::kOmega2006 U, alphaRhoPhi, phi, - transport + viscosity ), betaStar_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.H b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.H index 6ad2460701..dfec0b83dd 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmega2006/kOmega2006.H @@ -122,7 +122,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -139,7 +138,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.C b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.C index 903e7f3c51..0a0a38480d 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -42,7 +42,7 @@ kOmegaSST::kOmegaSST const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -58,7 +58,7 @@ kOmegaSST::kOmegaSST U, alphaRhoPhi, phi, - transport + viscosity ) { if (type == typeName) diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.H b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.H index 72d18dbc9c..32c5aebf9b 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSST/kOmegaSST.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -68,7 +68,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -85,7 +84,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C index 0f2f3f94d9..ff9bb0d70f 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.C @@ -341,7 +341,7 @@ kOmegaSSTLM::kOmegaSSTLM const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -352,7 +352,7 @@ kOmegaSSTLM::kOmegaSSTLM U, alphaRhoPhi, phi, - transport + viscosity ), ca1_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H index fe468d41f6..61294a22d8 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTLM/kOmegaSSTLM.H @@ -202,7 +202,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -219,7 +218,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.C b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.C index 921f308b44..682f64cf14 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -100,7 +100,7 @@ kOmegaSSTSAS::kOmegaSSTSAS const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -111,7 +111,7 @@ kOmegaSSTSAS::kOmegaSSTSAS U, alphaRhoPhi, phi, - transport + viscosity ), Cs_ diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.H b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.H index af3ebd60d5..b06a7bf2f3 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/kOmegaSSTSAS/kOmegaSSTSAS.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -131,7 +131,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -148,7 +147,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.C b/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.C index c0e1ec0eb5..68d3dff326 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.C @@ -136,7 +136,7 @@ realizableKE::realizableKE const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -148,7 +148,7 @@ realizableKE::realizableKE U, alphaRhoPhi, phi, - transport + viscosity ), A0_ ( diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.H b/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.H index bd802152c9..88d2fd5466 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/realizableKE/realizableKE.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -127,7 +127,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -143,7 +142,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.C b/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.C index 772656725b..9a5ac02ffa 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.C +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.C @@ -72,7 +72,7 @@ v2f::v2f const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -84,7 +84,7 @@ v2f::v2f U, alphaRhoPhi, phi, - transport + viscosity ), v2fBase(), diff --git a/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.H b/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.H index f5a08b4d04..24b8066c8c 100644 --- a/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.H +++ b/src/MomentumTransportModels/momentumTransportModels/RAS/v2f/v2f.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2012-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -175,7 +175,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -192,7 +191,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.C b/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.C index 206fbca924..541de7597c 100644 --- a/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.C +++ b/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.C @@ -128,7 +128,7 @@ Foam::ReynoldsStress::ReynoldsStress const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : BasicMomentumTransportModel @@ -139,7 +139,7 @@ Foam::ReynoldsStress::ReynoldsStress U, alphaRhoPhi, phi, - transport + viscosity ), couplingFactor_ diff --git a/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.H b/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.H index b70dbc9b07..f028b73951 100644 --- a/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.H +++ b/src/MomentumTransportModels/momentumTransportModels/ReynoldsStress/ReynoldsStress.H @@ -88,7 +88,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; // Constructors @@ -102,7 +101,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); diff --git a/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.C b/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.C index f7b1874582..a30b908d64 100644 --- a/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.C +++ b/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -38,7 +38,7 @@ Foam::eddyViscosity::eddyViscosity const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : linearViscousStress @@ -49,7 +49,7 @@ Foam::eddyViscosity::eddyViscosity U, alphaRhoPhi, phi, - transport + viscosity ), nut_ diff --git a/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.H b/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.H index c7940cd160..306ab29243 100644 --- a/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.H +++ b/src/MomentumTransportModels/momentumTransportModels/eddyViscosity/eddyViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -70,7 +70,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; // Constructors @@ -84,7 +83,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.C b/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.C index c1300800fc..6449e99f59 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2019-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -62,7 +62,7 @@ Giesekus::Giesekus const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -73,7 +73,7 @@ Giesekus::Giesekus U, alphaRhoPhi, phi, - transport, + viscosity, type ), diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.H b/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.H index 281875f379..7065243de4 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/Giesekus/Giesekus.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2019-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -87,7 +87,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -104,7 +103,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.C b/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.C index 785d1a825e..631bde75ed 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.C @@ -109,7 +109,7 @@ Maxwell::Maxwell const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -121,7 +121,7 @@ Maxwell::Maxwell U, alphaRhoPhi, phi, - transport + viscosity ), modeCoefficients_ diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.H b/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.H index 47af517f53..1b8e218205 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/Maxwell/Maxwell.H @@ -31,9 +31,9 @@ Description See http://en.wikipedia.org/wiki/Upper-convected_Maxwell_model http://en.wikipedia.org/wiki/Generalised_Maxwell_model - The model includes an additional viscosity (nu) from the transport + The model includes an additional viscosity (nu) from the viscosity model from which it is instantiated, which makes it equivalent to - the Oldroyd-B model for the case of an incompressible transport + the Oldroyd-B model for the case of an incompressible viscosity model (where nu is non-zero). See https://en.wikipedia.org/wiki/Oldroyd-B_model @@ -111,7 +111,7 @@ protected: const dimensionSet& dims ) const; - //- Return the turbulence viscosity + //- Return the non-Newtonian viscosity tmp nu0() const { return this->nu() + nuM_; @@ -128,7 +128,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -145,7 +144,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.C b/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.C index f534743ef9..36e5270219 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -63,7 +63,7 @@ PTT::PTT const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -74,7 +74,7 @@ PTT::PTT U, alphaRhoPhi, phi, - transport, + viscosity, type ), diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.H b/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.H index 3f17f75fd5..157b8a3b19 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/PTT/PTT.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -87,7 +87,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -104,7 +103,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.C b/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.C index c41e19eb0c..1ae3362e6f 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -47,7 +47,7 @@ Stokes::Stokes const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : linearViscousStress> @@ -58,7 +58,7 @@ Stokes::Stokes U, alphaRhoPhi, phi, - transport + viscosity ) {} diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.H b/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.H index 67add48979..53c5d7d17b 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/Stokes/Stokes.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -59,7 +59,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -76,7 +75,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); @@ -90,7 +89,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.C index 8a6c0d837a..7b8674d64d 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.C @@ -47,7 +47,7 @@ generalisedNewtonian::generalisedNewtonian const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : linearViscousStress> @@ -58,46 +58,21 @@ generalisedNewtonian::generalisedNewtonian U, alphaRhoPhi, phi, - transport + viscosity ), viscosityModel_ ( generalisedNewtonianViscosityModel::New ( - this->coeffDict_ + this->coeffDict_, + viscosity, + U ) - ), - - nu_ - ( - IOobject - ( - IOobject::groupName - ( - IOobject::modelName("nu", typeName), - alphaRhoPhi.group() - ), - this->runTime_.timeName(), - this->mesh_, - IOobject::NO_READ, - IOobject::AUTO_WRITE - ), - viscosityModel_->nu(this->nu(), strainRate()) ) {} -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // - -template -tmp -generalisedNewtonian::strainRate() const -{ - return sqrt(2.0)*mag(symm(fvc::grad(this->U()))); -} - - // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template @@ -116,7 +91,7 @@ generalisedNewtonian::nuEff() const return volScalarField::New ( IOobject::groupName("nuEff", this->alphaRhoPhi_.group()), - nu_ + viscosityModel_->nu() ); } @@ -128,14 +103,14 @@ generalisedNewtonian::nuEff const label patchi ) const { - return nu_.boundaryField()[patchi]; + return viscosityModel_->nu(patchi); } template void generalisedNewtonian::correct() { - nu_ = viscosityModel_->nu(this->nu(), strainRate()); + viscosityModel_->correct(); laminarModel::correct(); } diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.H index d72ba51366..9dbbfa359a 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonian.H @@ -60,23 +60,14 @@ protected: // Protected data - //- Run-time selectable non-Newtonian viscosity model + //- Run-time selectable generalised Newtonian viscosity model autoPtr viscosityModel_; - //- The non-Newtonian viscosity field - volScalarField nu_; - - - // Protected Member Functions - - virtual tmp strainRate() const; - public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -93,7 +84,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); @@ -107,7 +98,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); diff --git a/src/transportModels/viscosityModels/viscosityModel/viscosityModel.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.C similarity index 65% rename from src/transportModels/viscosityModels/viscosityModel/viscosityModel.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.C index ffc6b6f542..e2ac46b0b3 100644 --- a/src/transportModels/viscosityModels/viscosityModel/viscosityModel.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,49 +23,52 @@ License \*---------------------------------------------------------------------------*/ -#include "viscosityModel.H" +#include "NewtonianViscosityModel.H" #include "volFields.H" -#include "fvcGrad.H" +#include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(viscosityModel, 0); - defineRunTimeSelectionTable(viscosityModel, dictionary); +namespace laminarModels +{ +namespace generalisedNewtonianViscosityModels +{ + defineTypeNameAndDebug(Newtonian, 0); + + addToRunTimeSelectionTable + ( + generalisedNewtonianViscosityModel, + Newtonian, + dictionary + ); +} +} } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::viscosityModel::viscosityModel +Foam::laminarModels::generalisedNewtonianViscosityModels::Newtonian::Newtonian ( - const word& name, const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const viscosity& viscosity, + const volVectorField& U ) : - name_(name), - viscosityProperties_(viscosityProperties), - U_(U), - phi_(phi) + generalisedNewtonianViscosityModel(viscosityProperties, viscosity, U) {} // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -Foam::tmp Foam::viscosityModel::strainRate() const +bool Foam::laminarModels::generalisedNewtonianViscosityModels::Newtonian::read +( + const dictionary& viscosityProperties +) { - return sqrt(2.0)*mag(symm(fvc::grad(U_))); -} - - -bool Foam::viscosityModel::read(const dictionary& viscosityProperties) -{ - viscosityProperties_ = viscosityProperties; - - return true; + return generalisedNewtonianViscosityModel::read(viscosityProperties); } diff --git a/src/transportModels/viscosityModels/powerLaw/powerLaw.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.H similarity index 67% rename from src/transportModels/viscosityModels/powerLaw/powerLaw.H rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.H index 97559b17e7..14be0ad536 100644 --- a/src/transportModels/viscosityModels/powerLaw/powerLaw.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,107 +22,100 @@ License along with OpenFOAM. If not, see . Class - Foam::viscosityModels::powerLaw + Foam::laminarModels::generalisedNewtonianViscosityModels::Newtonian Description - Standard power-law non-Newtonian viscosity model. + Newtonian viscosity model which returns the fluid Newtonian viscosity SourceFiles - powerLaw.C + NewtonianViscosityModel.C \*---------------------------------------------------------------------------*/ -#ifndef powerLaw_H -#define powerLaw_H +#ifndef NewtonianViscosityModel_H +#define NewtonianViscosityModel_H -#include "viscosityModel.H" -#include "dimensionedScalar.H" -#include "volFields.H" +#include "generalisedNewtonianViscosityModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { -namespace viscosityModels +namespace laminarModels +{ +namespace generalisedNewtonianViscosityModels { /*---------------------------------------------------------------------------*\ - Class powerLaw Declaration + Class Newtonian Declaration \*---------------------------------------------------------------------------*/ -class powerLaw +class Newtonian : - public viscosityModel + public generalisedNewtonianViscosityModel { - // Private Data - - dictionary powerLawCoeffs_; - - dimensionedScalar k_; - dimensionedScalar n_; - dimensionedScalar nuMin_; - dimensionedScalar nuMax_; - - volScalarField nu_; - - - // Private Member Functions - - //- Calculate and return the laminar viscosity - tmp calcNu() const; - public: //- Runtime type information - TypeName("powerLaw"); + TypeName("Newtonian"); // Constructors //- Construct from components - powerLaw + Newtonian ( - const word& name, const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const viscosity& viscosity, + const volVectorField& U ); + //- Disallow default bitwise copy construction + Newtonian + ( + const Newtonian& + ) = delete; + //- Destructor - virtual ~powerLaw() + virtual ~Newtonian() {} // Member Functions + //- Read transportProperties dictionary + virtual bool read(const dictionary& viscosityProperties); + //- Return the laminar viscosity virtual tmp nu() const { - return nu_; + return viscosity_.nu(); } //- Return the laminar viscosity for patch virtual tmp nu(const label patchi) const { - return nu_.boundaryField()[patchi]; + return viscosity_.nu(patchi); } //- Correct the laminar viscosity virtual void correct() - { - nu_ = calcNu(); - } + {} - //- Read transportProperties dictionary - virtual bool read(const dictionary& viscosityProperties); + + // Member Operators + + //- Disallow default bitwise assignment + void operator=(const Newtonian&) = delete; }; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -} // End namespace viscosityModels +} // End namespace generalisedNewtonianViscosityModels +} // End namespace laminarModels } // End namespace Foam // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.C index 1528ade872..3149e41322 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.C @@ -42,10 +42,13 @@ namespace laminarModels Foam::laminarModels::generalisedNewtonianViscosityModel:: generalisedNewtonianViscosityModel ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const viscosity& viscosity, + const volVectorField& U ) : - viscosityProperties_(viscosityProperties) + viscosity_(viscosity), + U_(U) {} @@ -56,8 +59,6 @@ bool Foam::laminarModels::generalisedNewtonianViscosityModel::read const dictionary& viscosityProperties ) { - viscosityProperties_ = viscosityProperties; - return true; } diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.H index 611bdbac35..7c9dd137cc 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModel.H @@ -25,8 +25,7 @@ Namespace Foam::laminarModels::generalisedNewtonianViscosityModels Description - A namespace for various generalised Newtonian viscosity model - implementations. + A namespace for the generalised Newtonian viscosity model implementations. Class Foam::laminarModels::generalisedNewtonianViscosityModel @@ -43,8 +42,7 @@ SourceFiles #ifndef generalisedNewtonianViscosityModel_H #define generalisedNewtonianViscosityModel_H -#include "dictionary.H" -#include "volFieldsFwd.H" +#include "viscosity.H" #include "runTimeSelectionTables.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -59,12 +57,16 @@ namespace laminarModels \*---------------------------------------------------------------------------*/ class generalisedNewtonianViscosityModel +: + public viscosity { protected: - // Protected data + //- Reference to the fluid Newtonian viscosity + const viscosity& viscosity_; - dictionary viscosityProperties_; + //- Reference to the velocity field + const volVectorField& U_; public: @@ -81,9 +83,11 @@ public: generalisedNewtonianViscosityModel, dictionary, ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const viscosity& viscosity, + const volVectorField& U ), - (viscosityProperties) + (viscosityProperties, viscosity, U) ); @@ -92,7 +96,9 @@ public: //- Return a reference to the selected viscosity model static autoPtr New ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const viscosity& viscosity, + const volVectorField& U ); @@ -101,14 +107,16 @@ public: //- Construct from components generalisedNewtonianViscosityModel ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const viscosity& viscosity, + const volVectorField& U ); //- Disallow default bitwise copy construction generalisedNewtonianViscosityModel ( const generalisedNewtonianViscosityModel& - ); + ) = delete; //- Destructor @@ -118,22 +126,12 @@ public: // Member Functions - //- Return the phase transport properties dictionary - const dictionary& viscosityProperties() const - { - return viscosityProperties_; - } - - //- Return the laminar viscosity - virtual tmp nu - ( - const volScalarField& nu0, - const volScalarField& strainRate - ) const = 0; - //- Read transportProperties dictionary virtual bool read(const dictionary& viscosityProperties) = 0; + //- Correct the laminar viscosity + virtual void correct() = 0; + // Member Operators diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModelNew.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModelNew.C index 202a635802..32478c8460 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModelNew.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/generalisedNewtonianViscosityModel/generalisedNewtonianViscosityModelNew.C @@ -24,13 +24,16 @@ License \*---------------------------------------------------------------------------*/ #include "generalisedNewtonianViscosityModel.H" +#include "dictionary.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Foam::autoPtr Foam::laminarModels::generalisedNewtonianViscosityModel::New ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const viscosity& viscosity, + const volVectorField& U ) { const word modelType @@ -55,7 +58,7 @@ Foam::laminarModels::generalisedNewtonianViscosityModel::New return autoPtr ( - cstrIter()(viscosityProperties) + cstrIter()(viscosityProperties, viscosity, U) ); } diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/BirdCarreau/BirdCarreau.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/BirdCarreau/BirdCarreau.C similarity index 92% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/BirdCarreau/BirdCarreau.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/BirdCarreau/BirdCarreau.C index 29de1af7e0..fb00baacce 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/BirdCarreau/BirdCarreau.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/BirdCarreau/BirdCarreau.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "BirdCarreau.H" -#include "volFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -52,10 +51,12 @@ namespace generalisedNewtonianViscosityModels Foam::laminarModels::generalisedNewtonianViscosityModels::BirdCarreau:: BirdCarreau ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U ) : - generalisedNewtonianViscosityModel(viscosityProperties), + strainRateViscosityModel(viscosityProperties, viscosity, U), nuInf_("nuInf", dimViscosity, 0), k_("k", dimTime, 0), tauStar_( "tauStar", dimViscosity/dimTime, 0), @@ -63,6 +64,7 @@ BirdCarreau a_("a", dimless, 2) { read(viscosityProperties); + correct(); } @@ -74,7 +76,7 @@ read const dictionary& viscosityProperties ) { - generalisedNewtonianViscosityModel::read(viscosityProperties); + strainRateViscosityModel::read(viscosityProperties); const dictionary& coeffs = viscosityProperties.optionalSubDict(typeName + "Coeffs"); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/BirdCarreau/BirdCarreau.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/BirdCarreau/BirdCarreau.H similarity index 93% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/BirdCarreau/BirdCarreau.H rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/BirdCarreau/BirdCarreau.H index 9eeba0a642..0d5be6bd26 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/BirdCarreau/BirdCarreau.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/BirdCarreau/BirdCarreau.H @@ -67,8 +67,7 @@ SourceFiles #ifndef BirdCarreau_H #define BirdCarreau_H -#include "generalisedNewtonianViscosityModel.H" -#include "dimensionedScalar.H" +#include "strainRateViscosityModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -85,7 +84,7 @@ namespace generalisedNewtonianViscosityModels class BirdCarreau : - public generalisedNewtonianViscosityModel + public strainRateViscosityModel { // Private Data @@ -105,7 +104,12 @@ public: // Constructors //- Construct from components - BirdCarreau(const dictionary& viscosityProperties); + BirdCarreau + ( + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U + ); //- Destructor diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Casson/Casson.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/Casson/Casson.C similarity index 92% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Casson/Casson.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/Casson/Casson.C index 40fb84a2b2..cc1e342cda 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Casson/Casson.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/Casson/Casson.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "Casson.H" -#include "volFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -51,16 +50,19 @@ namespace generalisedNewtonianViscosityModels Foam::laminarModels::generalisedNewtonianViscosityModels::Casson::Casson ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U ) : - generalisedNewtonianViscosityModel(viscosityProperties), + strainRateViscosityModel(viscosityProperties, viscosity, U), m_("m", dimViscosity, 0), tau0_("tau0", dimViscosity/dimTime, 0), nuMin_("nuMin", dimViscosity, 0), nuMax_("nuMax", dimViscosity, 0) { read(viscosityProperties); + correct(); } @@ -71,7 +73,7 @@ bool Foam::laminarModels::generalisedNewtonianViscosityModels::Casson::read const dictionary& viscosityProperties ) { - generalisedNewtonianViscosityModel::read(viscosityProperties); + strainRateViscosityModel::read(viscosityProperties); const dictionary& coeffs = viscosityProperties.optionalSubDict(typeName + "Coeffs"); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Casson/Casson.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/Casson/Casson.H similarity index 93% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Casson/Casson.H rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/Casson/Casson.H index c7e8334cac..4cef1ddf37 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Casson/Casson.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/Casson/Casson.H @@ -58,8 +58,7 @@ SourceFiles #ifndef Casson_H #define Casson_H -#include "generalisedNewtonianViscosityModel.H" -#include "dimensionedScalar.H" +#include "strainRateViscosityModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -70,14 +69,13 @@ namespace laminarModels namespace generalisedNewtonianViscosityModels { - /*---------------------------------------------------------------------------*\ Class Casson Declaration \*---------------------------------------------------------------------------*/ class Casson : - public generalisedNewtonianViscosityModel + public strainRateViscosityModel { // Private Data @@ -96,7 +94,12 @@ public: // Constructors //- Construct from components - Casson(const dictionary& viscosityProperties); + Casson + ( + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U + ); //- Destructor diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/CrossPowerLaw/CrossPowerLaw.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/CrossPowerLaw/CrossPowerLaw.C similarity index 92% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/CrossPowerLaw/CrossPowerLaw.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/CrossPowerLaw/CrossPowerLaw.C index 95df78c772..15a942b7fb 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/CrossPowerLaw/CrossPowerLaw.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/CrossPowerLaw/CrossPowerLaw.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "CrossPowerLaw.H" -#include "volFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -53,16 +52,19 @@ namespace generalisedNewtonianViscosityModels Foam::laminarModels::generalisedNewtonianViscosityModels::CrossPowerLaw:: CrossPowerLaw ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U ) : - generalisedNewtonianViscosityModel(viscosityProperties), + strainRateViscosityModel(viscosityProperties, viscosity, U), nuInf_("nuInf", dimViscosity, 0), m_("m", dimTime, 0), tauStar_( "tauStar", dimViscosity/dimTime, 0), n_("n", dimless, 0) { read(viscosityProperties); + correct(); } @@ -74,7 +76,7 @@ read const dictionary& viscosityProperties ) { - generalisedNewtonianViscosityModel::read(viscosityProperties); + strainRateViscosityModel::read(viscosityProperties); const dictionary& coeffs = viscosityProperties.optionalSubDict(typeName + "Coeffs"); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/CrossPowerLaw/CrossPowerLaw.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/CrossPowerLaw/CrossPowerLaw.H similarity index 93% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/CrossPowerLaw/CrossPowerLaw.H rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/CrossPowerLaw/CrossPowerLaw.H index 359941e2b3..0468c3d32b 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/CrossPowerLaw/CrossPowerLaw.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/CrossPowerLaw/CrossPowerLaw.H @@ -62,8 +62,7 @@ SourceFiles #ifndef CrossPowerLaw_H #define CrossPowerLaw_H -#include "generalisedNewtonianViscosityModel.H" -#include "dimensionedScalar.H" +#include "strainRateViscosityModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -80,7 +79,7 @@ namespace generalisedNewtonianViscosityModels class CrossPowerLaw : - public generalisedNewtonianViscosityModel + public strainRateViscosityModel { // Private Data @@ -99,7 +98,12 @@ public: // Constructors //- Construct from components - CrossPowerLaw(const dictionary& viscosityProperties); + CrossPowerLaw + ( + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U + ); //- Destructor diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/HerschelBulkley/HerschelBulkley.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/HerschelBulkley/HerschelBulkley.C similarity index 92% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/HerschelBulkley/HerschelBulkley.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/HerschelBulkley/HerschelBulkley.C index 0629486edb..8fe8781817 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/HerschelBulkley/HerschelBulkley.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/HerschelBulkley/HerschelBulkley.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "HerschelBulkley.H" -#include "volFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -53,15 +52,18 @@ namespace generalisedNewtonianViscosityModels Foam::laminarModels::generalisedNewtonianViscosityModels::HerschelBulkley:: HerschelBulkley ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U ) : - generalisedNewtonianViscosityModel(viscosityProperties), + strainRateViscosityModel(viscosityProperties, viscosity, U), k_("k", dimViscosity, 0), n_("n", dimless, 0), tau0_("tau0", dimViscosity/dimTime, 0) { read(viscosityProperties); + correct(); } @@ -73,7 +75,7 @@ HerschelBulkley::read const dictionary& viscosityProperties ) { - generalisedNewtonianViscosityModel::read(viscosityProperties); + strainRateViscosityModel::read(viscosityProperties); const dictionary& coeffs = viscosityProperties.optionalSubDict(typeName + "Coeffs"); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/HerschelBulkley/HerschelBulkley.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/HerschelBulkley/HerschelBulkley.H similarity index 91% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/HerschelBulkley/HerschelBulkley.H rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/HerschelBulkley/HerschelBulkley.H index c01ae3a2bf..3732968308 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/HerschelBulkley/HerschelBulkley.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/HerschelBulkley/HerschelBulkley.H @@ -35,8 +35,7 @@ SourceFiles #ifndef HerschelBulkley_H #define HerschelBulkley_H -#include "generalisedNewtonianViscosityModel.H" -#include "dimensionedScalar.H" +#include "strainRateViscosityModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -53,7 +52,7 @@ namespace generalisedNewtonianViscosityModels class HerschelBulkley : - public generalisedNewtonianViscosityModel + public strainRateViscosityModel { // Private Data @@ -71,7 +70,12 @@ public: // Constructors //- Construct from components - HerschelBulkley(const dictionary& viscosityProperties); + HerschelBulkley + ( + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U + ); //- Destructor diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/powerLaw/powerLaw.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/powerLaw/powerLaw.C similarity index 92% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/powerLaw/powerLaw.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/powerLaw/powerLaw.C index a240c02035..6d59f5bc6c 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/powerLaw/powerLaw.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/powerLaw/powerLaw.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "powerLaw.H" -#include "volFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -52,16 +51,19 @@ namespace generalisedNewtonianViscosityModels Foam::laminarModels::generalisedNewtonianViscosityModels::powerLaw::powerLaw ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U ) : - generalisedNewtonianViscosityModel(viscosityProperties), + strainRateViscosityModel(viscosityProperties, viscosity, U), k_("k", dimViscosity, 0), n_("n", dimless, 0), nuMin_("nuMin", dimViscosity, 0), nuMax_("nuMax", dimViscosity, 0) { read(viscosityProperties); + correct(); } @@ -72,7 +74,7 @@ bool Foam::laminarModels::generalisedNewtonianViscosityModels::powerLaw::read const dictionary& viscosityProperties ) { - generalisedNewtonianViscosityModel::read(viscosityProperties); + strainRateViscosityModel::read(viscosityProperties); const dictionary& coeffs = viscosityProperties.optionalSubDict(typeName + "Coeffs"); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/powerLaw/powerLaw.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/powerLaw/powerLaw.H similarity index 92% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/powerLaw/powerLaw.H rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/powerLaw/powerLaw.H index 6afb55e79e..87def2d17c 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/powerLaw/powerLaw.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/powerLaw/powerLaw.H @@ -35,8 +35,7 @@ SourceFiles #ifndef powerLaw_H #define powerLaw_H -#include "generalisedNewtonianViscosityModel.H" -#include "dimensionedScalar.H" +#include "strainRateViscosityModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -53,7 +52,7 @@ namespace generalisedNewtonianViscosityModels class powerLaw : - public generalisedNewtonianViscosityModel + public strainRateViscosityModel { // Private Data @@ -72,7 +71,12 @@ public: // Constructors //- Construct from components - powerLaw(const dictionary& viscosityProperties); + powerLaw + ( + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U + ); //- Destructor diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateFunction/strainRateFunction.C similarity index 92% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateFunction/strainRateFunction.C index 24bd341964..3477f685fa 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateFunction/strainRateFunction.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateFunction/strainRateFunction.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "strainRateFunction.H" -#include "volFields.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -53,10 +52,12 @@ namespace generalisedNewtonianViscosityModels Foam::laminarModels::generalisedNewtonianViscosityModels::strainRateFunction:: strainRateFunction ( - const dictionary& viscosityProperties + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U ) : - generalisedNewtonianViscosityModel(viscosityProperties), + strainRateViscosityModel(viscosityProperties, viscosity, U), strainRateFunction_ ( Function1::New @@ -65,7 +66,9 @@ strainRateFunction viscosityProperties.optionalSubDict(typeName + "Coeffs") ) ) -{} +{ + correct(); +} // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // @@ -76,7 +79,7 @@ strainRateFunction::read const dictionary& viscosityProperties ) { - generalisedNewtonianViscosityModel::read(viscosityProperties); + strainRateViscosityModel::read(viscosityProperties); strainRateFunction_.clear(); strainRateFunction_ = Function1::New diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateFunction/strainRateFunction.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateFunction/strainRateFunction.H similarity index 90% rename from src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateFunction/strainRateFunction.H rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateFunction/strainRateFunction.H index 5e82eaeb7e..108c07dd7e 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateFunction/strainRateFunction.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateFunction/strainRateFunction.H @@ -29,13 +29,13 @@ Description Example linear function of strain-rate: \verbatim - generalisedNewtonianModel strainRateFunction; + strainRateModel strainRateFunction; function polynomial ((0 0.1) (1 1.3)); \endverbatim See also - Foam::generalisedNewtonianViscosityModel + Foam::strainRateViscosityModel Foam::Function1 SourceFiles @@ -46,7 +46,7 @@ SourceFiles #ifndef strainRateFunction_H #define strainRateFunction_H -#include "generalisedNewtonianViscosityModel.H" +#include "strainRateViscosityModel.H" #include "Function1.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -64,7 +64,7 @@ namespace generalisedNewtonianViscosityModels class strainRateFunction : - public generalisedNewtonianViscosityModel + public strainRateViscosityModel { // Private Data @@ -81,7 +81,12 @@ public: // Constructors //- Construct from components - strainRateFunction(const dictionary& viscosityProperties); + strainRateFunction + ( + const dictionary& viscosityProperties, + const Foam::viscosity& viscosity, + const volVectorField& U + ); //- Destructor diff --git a/src/transportModels/singlePhaseTransportModel/singlePhaseTransportModel.C b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.C similarity index 56% rename from src/transportModels/singlePhaseTransportModel/singlePhaseTransportModel.C rename to src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.C index 248aad9d48..51e546b32f 100644 --- a/src/transportModels/singlePhaseTransportModel/singlePhaseTransportModel.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2018-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,79 +23,70 @@ License \*---------------------------------------------------------------------------*/ -#include "singlePhaseTransportModel.H" -#include "viscosityModel.H" -#include "volFields.H" +#include "strainRateViscosityModel.H" +#include "fvcGrad.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(singlePhaseTransportModel, 0); +namespace laminarModels +{ +namespace generalisedNewtonianViscosityModels +{ + defineTypeNameAndDebug(strainRateViscosityModel, 0); +} +} +} + + +// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // + +Foam::tmp +Foam::laminarModels::generalisedNewtonianViscosityModels:: +strainRateViscosityModel::strainRate() const +{ + return sqrt(2.0)*mag(symm(fvc::grad(U_))); } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::singlePhaseTransportModel::singlePhaseTransportModel +Foam::laminarModels::generalisedNewtonianViscosityModels:: +strainRateViscosityModel::strainRateViscosityModel ( - const volVectorField& U, - const surfaceScalarField& phi + const dictionary& viscosityProperties, + const viscosity& viscosity, + const volVectorField& U ) : - IOdictionary + generalisedNewtonianViscosityModel(viscosityProperties, viscosity, U), + nu_ ( IOobject ( - "transportProperties", - U.time().constant(), - U.db(), - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) - ), - viscosityModelPtr_(viscosityModel::New("nu", *this, U, phi)) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::singlePhaseTransportModel::~singlePhaseTransportModel() + IOobject::groupName + ( + IOobject::modelName("nu", typeName), + U.group() + ), + U.time().timeName(), + U.mesh(), + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + U.mesh(), + dimensionedScalar(dimViscosity, 0) + ) {} // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -Foam::tmp -Foam::singlePhaseTransportModel::nu() const +void Foam::laminarModels::generalisedNewtonianViscosityModels:: +strainRateViscosityModel::correct() { - return viscosityModelPtr_->nu(); -} - - -Foam::tmp -Foam::singlePhaseTransportModel::nu(const label patchi) const -{ - return viscosityModelPtr_->nu(patchi); -} - - -void Foam::singlePhaseTransportModel::correct() -{ - viscosityModelPtr_->correct(); -} - - -bool Foam::singlePhaseTransportModel::read() -{ - if (regIOobject::read()) - { - return viscosityModelPtr_->read(*this); - } - else - { - return false; - } + nu_ = nu(viscosity_.nu(), strainRate()); } diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.H b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.H new file mode 100644 index 0000000000..feb6a29a4b --- /dev/null +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.H @@ -0,0 +1,144 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2018-2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::laminarModels::generalisedNewtonianViscosityModels:: + strainRateViscosityModel + +Description + An abstract base class for strain-rate dependent generalised Newtonian + viscosity models + +SourceFiles + strainRateViscosityModel.C + +\*---------------------------------------------------------------------------*/ + +#ifndef strainRateViscosityModel_H +#define strainRateViscosityModel_H + +#include "generalisedNewtonianViscosityModel.H" +#include "volFields.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace laminarModels +{ +namespace generalisedNewtonianViscosityModels +{ + +/*---------------------------------------------------------------------------*\ + Class strainRateViscosityModel Declaration +\*---------------------------------------------------------------------------*/ + +class strainRateViscosityModel +: + public generalisedNewtonianViscosityModel +{ + // Private data + + //- The strain-rate-dependent generalised Newtonian viscosity field + volScalarField nu_; + + +protected: + + // Protected Member Functions + + //- Return the strain-rate obtained from the velocity field + virtual tmp strainRate() const; + + //- Return the generalised Newtonian viscosity + virtual tmp nu + ( + const volScalarField& nu0, + const volScalarField& strainRate + ) const = 0; + + +public: + + //- Runtime type information + TypeName("strainRateViscosityModel"); + + + // Constructors + + //- Construct from components + strainRateViscosityModel + ( + const dictionary& viscosityProperties, + const viscosity& viscosity, + const volVectorField& U + ); + + //- Disallow default bitwise copy construction + strainRateViscosityModel + ( + const strainRateViscosityModel& + ) = delete; + + + //- Destructor + virtual ~strainRateViscosityModel() + {} + + + // Member Functions + + //- Return the laminar viscosity + virtual tmp nu() const + { + return nu_; + } + + //- Return the laminar viscosity for patch + virtual tmp nu(const label patchi) const + { + return nu_.boundaryField()[patchi]; + } + + //- Correct the laminar viscosity + virtual void correct(); + + + // Member Operators + + //- Disallow default bitwise assignment + void operator=(const strainRateViscosityModel&) = delete; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace generalisedNewtonianViscosityModels +} // End namespace laminarModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.C b/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.C index 4087a54d0f..91de00055f 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.C @@ -45,7 +45,7 @@ lambdaThixotropic::lambdaThixotropic const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : linearViscousStress> @@ -56,7 +56,7 @@ lambdaThixotropic::lambdaThixotropic U, alphaRhoPhi, phi, - transport + viscosity ), a_("a", dimless/dimTime, this->coeffDict_), diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.H b/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.H index fd885f09da..20476129bc 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/lambdaThixotropic/lambdaThixotropic.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -134,7 +134,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -151,7 +150,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.C b/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.C index ad2a0e34fb..476d46b8ad 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.C +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.C @@ -52,7 +52,7 @@ Foam::laminarModel::laminarModel const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : BasicMomentumTransportModel @@ -63,7 +63,7 @@ Foam::laminarModel::laminarModel U, alphaRhoPhi, phi, - transport + viscosity ), laminarDict_(this->subOrEmptyDict("laminar")), @@ -87,7 +87,7 @@ Foam::laminarModel::New const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) { const IOdictionary modelDict @@ -131,7 +131,7 @@ Foam::laminarModel::New U, alphaRhoPhi, phi, - transport + viscosity ) ); } @@ -150,7 +150,7 @@ Foam::laminarModel::New U, alphaRhoPhi, phi, - transport + viscosity ) ); } diff --git a/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.H b/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.H index 08a47b2d1f..3313831e89 100644 --- a/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.H +++ b/src/MomentumTransportModels/momentumTransportModels/laminar/laminarModel/laminarModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -35,7 +35,7 @@ SourceFiles #ifndef laminarModel_H #define laminarModel_H -#include "MomentumTransportModel.H" +#include "momentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -76,7 +76,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -96,9 +95,9 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ), - (alpha, rho, U, alphaRhoPhi, phi, transport) + (alpha, rho, U, alphaRhoPhi, phi, viscosity) ); @@ -113,7 +112,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); //- Disallow default bitwise copy construction @@ -130,7 +129,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); @@ -172,7 +171,7 @@ public: //- Return the stress tensor [m^2/s^2], i.e. 0 for laminar flow virtual tmp sigma() const; - //- Correct the laminar transport + //- Correct the laminar viscosity virtual void correct(); diff --git a/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.C b/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.C index 7b30479c5b..da7e64d4f7 100644 --- a/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.C +++ b/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -38,7 +38,7 @@ Foam::linearViscousStress::linearViscousStress const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : BasicMomentumTransportModel @@ -49,7 +49,7 @@ Foam::linearViscousStress::linearViscousStress U, alphaRhoPhi, phi, - transport + viscosity ) {} diff --git a/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.H b/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.H index b6eb2e2b11..eda98057bd 100644 --- a/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.H +++ b/src/MomentumTransportModels/momentumTransportModels/linearViscousStress/linearViscousStress.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -54,7 +54,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; // Constructors @@ -68,7 +67,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); diff --git a/src/MomentumTransportModels/momentumTransportModels/makeMomentumTransportModel.H b/src/MomentumTransportModels/momentumTransportModels/makeMomentumTransportModel.H index cc91427755..e9d29d3d89 100644 --- a/src/MomentumTransportModels/momentumTransportModels/makeMomentumTransportModel.H +++ b/src/MomentumTransportModels/momentumTransportModels/makeMomentumTransportModel.H @@ -23,76 +23,64 @@ License \*---------------------------------------------------------------------------*/ +#include "addToRunTimeSelectionTable.H" + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -#define makeMomentumTransportModelTypes( \ - Alpha, Rho, baseModel, BaseModel, Transport) \ - \ +#define makeMomentumTransportModelTypes(Alpha, Rho, BaseModel) \ namespace Foam \ { \ - typedef BaseModel Transport##BaseModel; \ - typedef laminarModel \ - laminar##Transport##BaseModel; \ - typedef RASModel RAS##Transport##BaseModel; \ - typedef LESModel LES##Transport##BaseModel; \ + typedef laminarModel laminar##BaseModel; \ + typedef RASModel RAS##BaseModel; \ + typedef LESModel LES##BaseModel; \ } -#define makeBaseMomentumTransportModel( \ - Alpha, Rho, baseModel, BaseModel, Transport) \ +#define makeBaseMomentumTransportModel(Alpha, Rho, BaseModel) \ \ namespace Foam \ { \ - typedef MomentumTransportModel \ - < \ - Alpha, \ - Rho, \ - baseModel, \ - Transport \ - > Transport##baseModel; \ + typedef BaseModel Transport##momentumTransportModel; \ \ - defineTemplateRunTimeSelectionTable \ + defineRunTimeSelectionTable \ ( \ - Transport##baseModel, \ + Transport##momentumTransportModel, \ dictionary \ ); \ \ \ - defineNamedTemplateTypeNameAndDebug(laminar##Transport##BaseModel, 0); \ + defineNamedTemplateTypeNameAndDebug(laminar##BaseModel, 0); \ \ - defineTemplateRunTimeSelectionTable \ - (laminar##Transport##BaseModel, dictionary); \ + defineTemplateRunTimeSelectionTable(laminar##BaseModel, dictionary); \ \ addToRunTimeSelectionTable \ ( \ - Transport##baseModel, \ - laminar##Transport##BaseModel, \ + Transport##momentumTransportModel, \ + laminar##BaseModel, \ dictionary \ ); \ \ \ - defineNamedTemplateTypeNameAndDebug(RAS##Transport##BaseModel, 0); \ + defineNamedTemplateTypeNameAndDebug(RAS##BaseModel, 0); \ \ - defineTemplateRunTimeSelectionTable \ - (RAS##Transport##BaseModel, dictionary); \ + defineTemplateRunTimeSelectionTable(RAS##BaseModel, dictionary); \ \ addToRunTimeSelectionTable \ ( \ - Transport##baseModel, \ - RAS##Transport##BaseModel, \ + Transport##momentumTransportModel, \ + RAS##BaseModel, \ dictionary \ ); \ \ \ - defineNamedTemplateTypeNameAndDebug(LES##Transport##BaseModel, 0); \ + defineNamedTemplateTypeNameAndDebug(LES##BaseModel, 0); \ \ - defineTemplateRunTimeSelectionTable \ - (LES##Transport##BaseModel, dictionary); \ + defineTemplateRunTimeSelectionTable(LES##BaseModel, dictionary); \ \ addToRunTimeSelectionTable \ ( \ - Transport##baseModel, \ - LES##Transport##BaseModel, \ + Transport##momentumTransportModel, \ + LES##BaseModel, \ dictionary \ ); \ } diff --git a/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.C b/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.C index 1dcbca58bd..744ad74fc4 100644 --- a/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.C +++ b/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -89,7 +89,8 @@ Foam::momentumTransportModel::momentumTransportModel ( const volVectorField& U, const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi + const surfaceScalarField& phi, + const viscosity& viscosity ) : IOdictionary(readModelDict(U.db(), alphaRhoPhi.group(), true)), @@ -100,6 +101,7 @@ Foam::momentumTransportModel::momentumTransportModel U_(U), alphaRhoPhi_(alphaRhoPhi), phi_(phi), + viscosity_(viscosity), y_(mesh_) { // Ensure name of IOdictionary is typeName diff --git a/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.H b/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.H index 77f5e96935..57bf5e55cf 100644 --- a/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.H +++ b/src/MomentumTransportModels/momentumTransportModels/momentumTransportModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -42,6 +42,7 @@ SourceFiles #include "fvMatricesFwd.H" #include "nearWallDist.H" #include "geometricOneField.H" +#include "viscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -70,6 +71,8 @@ protected: const surfaceScalarField& alphaRhoPhi_; const surfaceScalarField& phi_; + const viscosity& viscosity_; + //- Near wall distance boundary field nearWallDist y_; @@ -84,6 +87,18 @@ protected: ); + template + static inline autoPtr New + ( + const typename MomentumTransportModel::alphaField& alpha, + const typename MomentumTransportModel::rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity + ); + + public: //- Runtime type information @@ -97,7 +112,8 @@ public: ( const volVectorField& U, const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi + const surfaceScalarField& phi, + const viscosity& viscosity ); //- Disallow default bitwise copy construction @@ -148,6 +164,12 @@ public: //- Return the volumetric flux field virtual tmp phi() const; + //- Access function to fluid properties + const class Foam::viscosity& properties() const + { + return viscosity_; + } + //- Return the near wall distances const nearWallDist& y() const { @@ -155,10 +177,16 @@ public: } //- Return the laminar viscosity - virtual tmp nu() const = 0; + virtual tmp nu() const + { + return this->viscosity_.nu(); + } - //- Return the laminar viscosity on patch - virtual tmp nu(const label patchi) const = 0; + //- Return the laminar viscosity on patchi + virtual tmp nu(const label patchi) const + { + return this->viscosity_.nu(patchi); + } //- Return the turbulence viscosity virtual tmp nut() const = 0; @@ -172,24 +200,6 @@ public: //- Return the effective viscosity on patch virtual tmp nuEff(const label patchi) const = 0; - //- Return the laminar dynamic viscosity - virtual tmp mu() const = 0; - - //- Return the laminar dynamic viscosity on patch - virtual tmp mu(const label patchi) const = 0; - - //- Return the turbulence dynamic viscosity - virtual tmp mut() const = 0; - - //- Return the turbulence dynamic viscosity on patch - virtual tmp mut(const label patchi) const = 0; - - //- Return the effective dynamic viscosity - virtual tmp muEff() const = 0; - - //- Return the effective dynamic viscosity on patch - virtual tmp muEff(const label patchi) const = 0; - //- Return the turbulence kinetic energy virtual tmp k() const = 0; @@ -220,6 +230,12 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +#ifdef NoRepository + #include "momentumTransportModelTemplates.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + #endif // ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/momentumTransportModelTemplates.C b/src/MomentumTransportModels/momentumTransportModels/momentumTransportModelTemplates.C new file mode 100644 index 0000000000..dd18d2ab5e --- /dev/null +++ b/src/MomentumTransportModels/momentumTransportModels/momentumTransportModelTemplates.C @@ -0,0 +1,78 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "surfaceMesh.H" + +template +inline Foam::autoPtr Foam::momentumTransportModel::New +( + const typename MomentumTransportModel::alphaField& alpha, + const typename MomentumTransportModel::rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity +) +{ + const word modelType + ( + momentumTransportModel::readModelDict + ( + U.db(), + alphaRhoPhi.group() + ).lookup("simulationType") + ); + + Info<< "Selecting turbulence model type " << modelType << endl; + + typename MomentumTransportModel::dictionaryConstructorTable::iterator + cstrIter = + MomentumTransportModel::dictionaryConstructorTablePtr_->find(modelType); + + if + ( + cstrIter + == MomentumTransportModel::dictionaryConstructorTablePtr_->end() + ) + { + FatalErrorInFunction + << "Unknown " << MomentumTransportModel::typeName << " type " + << modelType << nl << nl + << "Valid " << MomentumTransportModel::typeName << " types:" << endl + << MomentumTransportModel::dictionaryConstructorTablePtr_ + ->sortedToc() + << exit(FatalError); + } + + return autoPtr + ( + cstrIter()(alpha, rho, U, alphaRhoPhi, phi, viscosity) + ); +} + + +// ************************************************************************* // diff --git a/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C b/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C index 8de1b740ce..85a7a7236c 100644 --- a/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C +++ b/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -39,7 +39,7 @@ nonlinearEddyViscosity const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : eddyViscosity @@ -50,7 +50,7 @@ nonlinearEddyViscosity U, alphaRhoPhi, phi, - transport + viscosity ), nonlinearStress_ diff --git a/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H b/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H index 63f8fd1da5..dfa348dfe9 100644 --- a/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H +++ b/src/MomentumTransportModels/momentumTransportModels/nonlinearEddyViscosity/nonlinearEddyViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2015-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -70,7 +70,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; // Constructors @@ -84,7 +83,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); diff --git a/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.C b/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.C index f6d7a71704..05e0204fc1 100644 --- a/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.C +++ b/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.C @@ -46,7 +46,7 @@ NicenoKEqn::NicenoKEqn const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -57,7 +57,7 @@ NicenoKEqn::NicenoKEqn U, alphaRhoPhi, phi, - transport, + viscosity, type ), @@ -121,24 +121,22 @@ bool NicenoKEqn::read() template -const PhaseCompressibleMomentumTransportModel -< - typename BasicMomentumTransportModel::transportModel ->& +const phaseCompressibleMomentumTransportModel& NicenoKEqn::gasTurbulence() const { if (!gasTurbulencePtr_) { const volVectorField& U = this->U_; - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = + refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); gasTurbulencePtr_ = &U.db().lookupObject < - PhaseCompressibleMomentumTransportModel + phaseCompressibleMomentumTransportModel > ( IOobject::groupName @@ -156,10 +154,10 @@ NicenoKEqn::gasTurbulence() const template void NicenoKEqn::correctNut() { - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); @@ -176,10 +174,10 @@ void NicenoKEqn::correctNut() template tmp NicenoKEqn::bubbleG() const { - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); @@ -225,8 +223,8 @@ tmp NicenoKEqn::kSource() const const alphaField& alpha = this->alpha_; const rhoField& rho = this->rho_; - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); const volScalarField phaseTransferCoeff(this->phaseTransferCoeff()); diff --git a/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.H b/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.H index 6e40b995cd..09c389622f 100644 --- a/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.H +++ b/src/MomentumTransportModels/phaseCompressible/LES/Niceno/NicenoKEqn.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -76,20 +76,14 @@ class NicenoKEqn { // Private Data - mutable const PhaseCompressibleMomentumTransportModel - < - typename BasicMomentumTransportModel::transportModel - > *gasTurbulencePtr_; + mutable const phaseCompressibleMomentumTransportModel + *gasTurbulencePtr_; // Private Member Functions //- Return the turbulence model for the gas phase - const PhaseCompressibleMomentumTransportModel - < - typename BasicMomentumTransportModel::transportModel - >& - gasTurbulence() const; + const phaseCompressibleMomentumTransportModel& gasTurbulence() const; protected: @@ -115,7 +109,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -132,7 +125,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C b/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C index 4b865bf206..448bede6c3 100644 --- a/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C +++ b/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.C @@ -44,7 +44,7 @@ SmagorinskyZhang::SmagorinskyZhang const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -55,7 +55,7 @@ SmagorinskyZhang::SmagorinskyZhang U, alphaRhoPhi, phi, - transport, + viscosity, type ), @@ -97,24 +97,22 @@ bool SmagorinskyZhang::read() template -const PhaseCompressibleMomentumTransportModel -< - typename BasicMomentumTransportModel::transportModel ->& +const phaseCompressibleMomentumTransportModel& SmagorinskyZhang::gasTurbulence() const { if (!gasTurbulencePtr_) { const volVectorField& U = this->U_; - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = + refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); gasTurbulencePtr_ = &U.db().lookupObject < - PhaseCompressibleMomentumTransportModel + phaseCompressibleMomentumTransportModel > ( IOobject::groupName @@ -132,10 +130,10 @@ SmagorinskyZhang::gasTurbulence() const template void SmagorinskyZhang::correctNut() { - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); diff --git a/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H b/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H index 20ee1726a3..9608f1f37d 100644 --- a/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H +++ b/src/MomentumTransportModels/phaseCompressible/LES/SmagorinskyZhang/SmagorinskyZhang.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -74,20 +74,14 @@ class SmagorinskyZhang { // Private Data - mutable const PhaseCompressibleMomentumTransportModel - < - typename BasicMomentumTransportModel::transportModel - > *gasTurbulencePtr_; + mutable const phaseCompressibleMomentumTransportModel + *gasTurbulencePtr_; // Private Member Functions //- Return the turbulence model for the gas phase - const PhaseCompressibleMomentumTransportModel - < - typename BasicMomentumTransportModel::transportModel - >& - gasTurbulence() const; + const phaseCompressibleMomentumTransportModel& gasTurbulence() const; protected: @@ -108,7 +102,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -125,7 +118,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C b/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C index 283bd3d8ce..8d4d383f52 100644 --- a/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C +++ b/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.C @@ -43,7 +43,7 @@ continuousGasKEqn::continuousGasKEqn const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -54,7 +54,7 @@ continuousGasKEqn::continuousGasKEqn U, alphaRhoPhi, phi, - transport, + viscosity, type ), @@ -103,7 +103,7 @@ continuousGasKEqn::liquidTurbulence() const { const volVectorField& U = this->U_; - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const phaseModel& liquid = fluid.otherPhase(gas); diff --git a/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.H b/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.H index a25a293ffc..368e466075 100644 --- a/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.H +++ b/src/MomentumTransportModels/phaseCompressible/LES/continuousGasKEqn/continuousGasKEqn.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -99,7 +99,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -116,7 +115,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/phaseCompressible/Make/files b/src/MomentumTransportModels/phaseCompressible/Make/files index effffeb233..49fc97f2cb 100644 --- a/src/MomentumTransportModels/phaseCompressible/Make/files +++ b/src/MomentumTransportModels/phaseCompressible/Make/files @@ -1,3 +1,4 @@ -phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.C +phaseCompressibleMomentumTransportModel.C +phaseCompressibleMomentumTransportModels.C LIB = $(FOAM_LIBBIN)/libphaseCompressibleMomentumTransportModels diff --git a/src/MomentumTransportModels/phaseCompressible/Make/options b/src/MomentumTransportModels/phaseCompressible/Make/options index b373cc1dbc..9fe61398cd 100644 --- a/src/MomentumTransportModels/phaseCompressible/Make/options +++ b/src/MomentumTransportModels/phaseCompressible/Make/options @@ -1,11 +1,11 @@ EXE_INC = \ -I../momentumTransportModels/lnInclude \ -I../compressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ LIB_LIBS = \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C b/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C index 43119722d1..53ef308b0e 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C +++ b/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.C @@ -46,7 +46,7 @@ LaheyKEpsilon::LaheyKEpsilon const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -57,7 +57,7 @@ LaheyKEpsilon::LaheyKEpsilon U, alphaRhoPhi, phi, - transport, + viscosity, type ), @@ -132,24 +132,22 @@ bool LaheyKEpsilon::read() template -const PhaseCompressibleMomentumTransportModel -< - typename BasicMomentumTransportModel::transportModel ->& +const phaseCompressibleMomentumTransportModel& LaheyKEpsilon::gasTurbulence() const { if (!gasTurbulencePtr_) { const volVectorField& U = this->U_; - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = + refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); gasTurbulencePtr_ = &U.db().lookupObject < - PhaseCompressibleMomentumTransportModel + phaseCompressibleMomentumTransportModel > ( IOobject::groupName @@ -167,10 +165,10 @@ LaheyKEpsilon::gasTurbulence() const template void LaheyKEpsilon::correctNut() { - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); @@ -187,10 +185,10 @@ void LaheyKEpsilon::correctNut() template tmp LaheyKEpsilon::bubbleG() const { - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); - const phaseModel& liquid = refCast(this->transport()); + const phaseModel& liquid = refCast(this->properties()); const phaseSystem& fluid = liquid.fluid(); const phaseModel& gas = fluid.otherPhase(liquid); @@ -239,8 +237,8 @@ tmp LaheyKEpsilon::kSource() const const alphaField& alpha = this->alpha_; const rhoField& rho = this->rho_; - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); const volScalarField phaseTransferCoeff(this->phaseTransferCoeff()); @@ -258,8 +256,8 @@ LaheyKEpsilon::epsilonSource() const const alphaField& alpha = this->alpha_; const rhoField& rho = this->rho_; - const PhaseCompressibleMomentumTransportModel& - gasTurbulence = this->gasTurbulence(); + const phaseCompressibleMomentumTransportModel& gasTurbulence = + this->gasTurbulence(); const volScalarField phaseTransferCoeff(this->phaseTransferCoeff()); diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H b/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H index dcdb5dae57..03c45daaff 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H +++ b/src/MomentumTransportModels/phaseCompressible/RAS/LaheyKEpsilon/LaheyKEpsilon.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -78,20 +78,14 @@ class LaheyKEpsilon { // Private Data - mutable const PhaseCompressibleMomentumTransportModel - < - typename BasicMomentumTransportModel::transportModel - > *gasTurbulencePtr_; + mutable const phaseCompressibleMomentumTransportModel + *gasTurbulencePtr_; // Private Member Functions //- Return the turbulence model for the gas phase - const PhaseCompressibleMomentumTransportModel - < - typename BasicMomentumTransportModel::transportModel - >& - gasTurbulence() const; + const phaseCompressibleMomentumTransportModel& gasTurbulence() const; protected: @@ -119,7 +113,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -136,7 +129,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C b/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C index 2492270f19..a29d131c4d 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C +++ b/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.C @@ -47,7 +47,7 @@ continuousGasKEpsilon::continuousGasKEpsilon const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -58,7 +58,7 @@ continuousGasKEpsilon::continuousGasKEpsilon U, alphaRhoPhi, phi, - transport, + viscosity, type ), @@ -119,7 +119,7 @@ void continuousGasKEpsilon::correctNut() const momentumTransportModel& liquidTurbulence = this->liquidTurbulence(); - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const phaseModel& liquid = fluid.otherPhase(gas); @@ -155,7 +155,7 @@ continuousGasKEpsilon::liquidTurbulence() const { const volVectorField& U = this->U_; - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const phaseModel& liquid = fluid.otherPhase(gas); @@ -205,7 +205,7 @@ template tmp continuousGasKEpsilon::rhoEff() const { - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const phaseModel& liquid = fluid.otherPhase(gas); diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H b/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H index 455694ef9e..2728184145 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H +++ b/src/MomentumTransportModels/phaseCompressible/RAS/continuousGasKEpsilon/continuousGasKEpsilon.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -105,7 +105,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -122,7 +121,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C b/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C index 5759d2beac..44b60f6c99 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C +++ b/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.C @@ -46,7 +46,7 @@ kOmegaSSTSato::kOmegaSSTSato const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -57,11 +57,11 @@ kOmegaSSTSato::kOmegaSSTSato U, alphaRhoPhi, phi, - transport, + viscosity, type ), - phase_(refCast(transport)), + phase_(refCast(viscosity)), hasDispersedPhaseNames_(this->coeffDict_.found("dispersedPhases")), diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.H b/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.H index 5f0e90090f..687ae58953 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.H +++ b/src/MomentumTransportModels/phaseCompressible/RAS/kOmegaSSTSato/kOmegaSSTSato.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2014-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -157,7 +157,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -174,7 +173,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.C b/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.C index 46996c0e0d..dd34fe6e6c 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.C +++ b/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.C @@ -50,7 +50,7 @@ mixtureKEpsilon::mixtureKEpsilon const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -62,7 +62,7 @@ mixtureKEpsilon::mixtureKEpsilon U, alphaRhoPhi, phi, - transport + viscosity ), liquidTurbulencePtr_(nullptr), @@ -356,7 +356,7 @@ mixtureKEpsilon::liquidTurbulence() const { const volVectorField& U = this->U_; - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const phaseModel& liquid = fluid.otherPhase(gas); @@ -387,7 +387,7 @@ tmp mixtureKEpsilon::Ct2() const const mixtureKEpsilon& liquidTurbulence = this->liquidTurbulence(); - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const phaseModel& liquid = fluid.otherPhase(gas); @@ -414,7 +414,7 @@ template tmp mixtureKEpsilon::rholEff() const { - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); return fluid.otherPhase(gas).rho(); } @@ -424,7 +424,7 @@ template tmp mixtureKEpsilon::rhogEff() const { - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const virtualMassModel& virtualMass = fluid.lookupSubModel(gas, fluid.otherPhase(gas)); @@ -501,7 +501,7 @@ mixtureKEpsilon::bubbleG() const const mixtureKEpsilon& liquidTurbulence = this->liquidTurbulence(); - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); const phaseModel& liquid = fluid.otherPhase(gas); @@ -552,7 +552,7 @@ mixtureKEpsilon::epsilonSource() const template void mixtureKEpsilon::correct() { - const phaseModel& gas = refCast(this->transport()); + const phaseModel& gas = refCast(this->properties()); const phaseSystem& fluid = gas.fluid(); // Only solve the mixture turbulence for the gas-phase diff --git a/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.H b/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.H index 5f91856538..449ddd96b8 100644 --- a/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.H +++ b/src/MomentumTransportModels/phaseCompressible/RAS/mixtureKEpsilon/mixtureKEpsilon.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -191,7 +191,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -208,7 +207,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.H b/src/MomentumTransportModels/phaseCompressible/makePhaseCompressibleMomentumTransportModel.H similarity index 85% rename from src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.H rename to src/MomentumTransportModels/phaseCompressible/makePhaseCompressibleMomentumTransportModel.H index bfc12cdb51..70ab4a8aaa 100644 --- a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.H +++ b/src/MomentumTransportModels/phaseCompressible/makePhaseCompressibleMomentumTransportModel.H @@ -23,8 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "PhaseIncompressibleMomentumTransportModel.H" -#include "kinematicTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" #include "makeMomentumTransportModel.H" @@ -37,16 +36,14 @@ License makeMomentumTransportModelTypes ( volScalarField, - geometricOneField, - incompressibleMomentumTransportModel, - PhaseIncompressibleMomentumTransportModel, - kinematicTransportModel + volScalarField, + phaseCompressibleMomentumTransportModel ); #define makeLaminarModel(Type) \ makeTemplatedLaminarModel \ ( \ - kinematicTransportModelPhaseIncompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ laminar, \ Type \ ) @@ -54,7 +51,7 @@ makeMomentumTransportModelTypes #define makeRASModel(Type) \ makeTemplatedMomentumTransportModel \ ( \ - kinematicTransportModelPhaseIncompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ RAS, \ Type \ ) @@ -62,7 +59,7 @@ makeMomentumTransportModelTypes #define makeLESModel(Type) \ makeTemplatedMomentumTransportModel \ ( \ - kinematicTransportModelPhaseIncompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ LES, \ Type \ ) diff --git a/src/MomentumTransportModels/phaseCompressible/PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.C b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModel.C similarity index 63% rename from src/MomentumTransportModels/phaseCompressible/PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.C rename to src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModel.C index b5cd99304a..f8b4ed11ea 100644 --- a/src/MomentumTransportModels/phaseCompressible/PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.C +++ b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,13 +23,22 @@ License \*---------------------------------------------------------------------------*/ -#include "PhaseCompressibleMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" +#include "surfaceInterpolate.H" + + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(phaseCompressibleMomentumTransportModel, 0); +} + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -template -Foam::PhaseCompressibleMomentumTransportModel:: -PhaseCompressibleMomentumTransportModel +Foam::phaseCompressibleMomentumTransportModel:: +phaseCompressibleMomentumTransportModel ( const word& type, const volScalarField& alpha, @@ -37,15 +46,39 @@ PhaseCompressibleMomentumTransportModel const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ) : - MomentumTransportModel + compressibleMomentumTransportModel + ( + type, + geometricOneField(), + rho, + U, + alphaRhoPhi, + phi, + viscosity + ), + alpha_(alpha) +{} + + +// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // + +Foam::autoPtr +Foam::phaseCompressibleMomentumTransportModel::New +( + const volScalarField& alpha, + const volScalarField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity +) +{ + return momentumTransportModel::New < - volScalarField, - volScalarField, - compressibleMomentumTransportModel, - transportModel + phaseCompressibleMomentumTransportModel > ( alpha, @@ -53,52 +86,15 @@ PhaseCompressibleMomentumTransportModel U, alphaRhoPhi, phi, - transport - ) -{} - - -// * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // - -template -Foam::autoPtr> -Foam::PhaseCompressibleMomentumTransportModel::New -( - const volScalarField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const transportModel& transport -) -{ - return autoPtr - ( - static_cast( - MomentumTransportModel - < - volScalarField, - volScalarField, - compressibleMomentumTransportModel, - transportModel - >::New - ( - alpha, - rho, - U, - alphaRhoPhi, - phi, - transport - ).ptr()) + viscosity ); } // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template Foam::tmp -Foam::PhaseCompressibleMomentumTransportModel::pPrime() const +Foam::phaseCompressibleMomentumTransportModel::pPrime() const { return volScalarField::New ( @@ -109,9 +105,8 @@ Foam::PhaseCompressibleMomentumTransportModel::pPrime() const } -template Foam::tmp -Foam::PhaseCompressibleMomentumTransportModel::pPrimef() const +Foam::phaseCompressibleMomentumTransportModel::pPrimef() const { return surfaceScalarField::New ( diff --git a/src/MomentumTransportModels/phaseCompressible/PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.H b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModel.H similarity index 57% rename from src/MomentumTransportModels/phaseCompressible/PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.H rename to src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModel.H index 7ab3dba1a1..b2fd15a22b 100644 --- a/src/MomentumTransportModels/phaseCompressible/PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.H +++ b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModel.H @@ -22,21 +22,20 @@ License along with OpenFOAM. If not, see . Class - Foam::PhaseCompressibleMomentumTransportModel + Foam::phaseCompressibleMomentumTransportModel Description Templated abstract base class for multiphase compressible turbulence models. SourceFiles - PhaseCompressibleMomentumTransportModel.C + phaseCompressibleMomentumTransportModel.C \*---------------------------------------------------------------------------*/ -#ifndef PhaseCompressibleMomentumTransportModel_H -#define PhaseCompressibleMomentumTransportModel_H +#ifndef phaseCompressibleMomentumTransportModel_H +#define phaseCompressibleMomentumTransportModel_H -#include "MomentumTransportModel.H" #include "compressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -45,32 +44,56 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class PhaseCompressibleMomentumTransportModel Declaration + Class phaseCompressibleMomentumTransportModel Declaration \*---------------------------------------------------------------------------*/ -template -class PhaseCompressibleMomentumTransportModel +class phaseCompressibleMomentumTransportModel : - public MomentumTransportModel - < - volScalarField, - volScalarField, - compressibleMomentumTransportModel, - TransportModel - > + public compressibleMomentumTransportModel { public: typedef volScalarField alphaField; typedef volScalarField rhoField; - typedef TransportModel transportModel; + + +protected: + + // Protected data + + const alphaField& alpha_; + + +public: + + //- Runtime type information + TypeName("phaseCompressibleMomentumTransportModel"); + + + // Declare run-time constructor selection table + + declareRunTimeNewSelectionTable + ( + autoPtr, + phaseCompressibleMomentumTransportModel, + dictionary, + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity + ), + (alpha, rho, U, alphaRhoPhi, phi, viscosity) + ); // Constructors //- Construct - PhaseCompressibleMomentumTransportModel + phaseCompressibleMomentumTransportModel ( const word& type, const alphaField& alpha, @@ -78,80 +101,42 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport + const viscosity& viscosity ); // Selectors //- Return a reference to the selected turbulence model - static autoPtr New + static autoPtr New ( const alphaField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transportModel + const viscosity& viscosity ); //- Destructor - virtual ~PhaseCompressibleMomentumTransportModel() + virtual ~phaseCompressibleMomentumTransportModel() {} // Member Functions - //- Return the laminar dynamic viscosity - virtual tmp mu() const + //- Access function to phase fraction + const alphaField& alpha() const { - return this->transport_.mu(); + return alpha_; } - //- Return the laminar dynamic viscosity on patch - virtual tmp mu(const label patchi) const - { - return this->transport_.mu(patchi); - } + //- Return the effective stress tensor including the laminar stress + virtual tmp devTau() const = 0; - //- Return the laminar viscosity - virtual tmp nu() const - { - return this->transport_.mu()/this->rho_; - } - - //- Return the laminar viscosity on patchi - virtual tmp nu(const label patchi) const - { - return - this->transport_.mu(patchi) - /this->rho_.boundaryField()[patchi]; - } - - //- Return the turbulence dynamic viscosity - virtual tmp mut() const - { - return this->rho_*this->nut(); - } - - //- Return the turbulence dynamic viscosity on patch - virtual tmp mut(const label patchi) const - { - return this->rho_.boundaryField()[patchi]*this->nut(patchi); - } - - //- Return the effective dynamic viscosity - virtual tmp muEff() const - { - return mut() + mu(); - } - - //- Return the effective dynamic viscosity on patch - virtual tmp muEff(const label patchi) const - { - return mut(patchi) + mu(patchi); - } + //- Return the source term for the momentum equation + virtual tmp divDevTau(volVectorField& U) const = 0; //- Return the phase-pressure' // (derivative of phase-pressure w.r.t. phase-fraction) @@ -163,6 +148,23 @@ public: }; +namespace phaseCompressible +{ + typedef phaseCompressibleMomentumTransportModel momentumTransportModel; + + template + autoPtr New + ( + const volScalarField& alpha, + const volScalarField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity + ); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam @@ -170,7 +172,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository - #include "PhaseCompressibleMomentumTransportModel.C" + #include "phaseCompressibleMomentumTransportModelTemplates.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.C b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModelTemplates.C similarity index 82% rename from src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.C rename to src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModelTemplates.C index ec16b7ffec..c134543859 100644 --- a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.C +++ b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModelTemplates.C @@ -23,34 +23,31 @@ License \*---------------------------------------------------------------------------*/ -#include "phaseDynamicMomentumTransportModel.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { namespace phaseCompressible { - template - autoPtr New + template + autoPtr New ( const volScalarField& alpha, const volScalarField& rho, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const typename BasicPhaseCompressibleMomentumTransportModel:: - transportModel& transport + const viscosity& viscosity ) { - return BasicPhaseCompressibleMomentumTransportModel::New + return PhaseCompressibleMomentumTransportModel::New ( alpha, rho, U, alphaRhoPhi, phi, - transport + viscosity ); } } diff --git a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.C b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModels.C similarity index 93% rename from src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.C rename to src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModels.C index aff9b64b8c..fad54a4e09 100644 --- a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.C +++ b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModels.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "phaseDynamicMomentumTransportModels.H" +#include "makePhaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -31,9 +31,7 @@ makeBaseMomentumTransportModel ( volScalarField, volScalarField, - compressibleMomentumTransportModel, - PhaseCompressibleMomentumTransportModel, - dynamicTransportModel + phaseCompressibleMomentumTransportModel ); diff --git a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.H b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModels.H similarity index 67% rename from src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.H rename to src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModels.H index 351853d8f8..c7770c0bb7 100644 --- a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.H +++ b/src/MomentumTransportModels/phaseCompressible/phaseCompressibleMomentumTransportModels.H @@ -37,20 +37,15 @@ Description Typedefs for turbulence, RAS and LES models for phase-compressible flow based on the phase-fluidThermo transport package. -SourceFiles - phaseDynamicMomentumTransportModel.C - phaseDynamicMomentumTransportModels.C - \*---------------------------------------------------------------------------*/ -#ifndef phaseDynamicMomentumTransportModel_H -#define phaseDynamicMomentumTransportModel_H +#ifndef phaseCompressibleMomentumTransportModels_H +#define phaseCompressibleMomentumTransportModels_H -#include "PhaseCompressibleMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "laminarModel.H" #include "RASModel.H" #include "LESModel.H" -#include "dynamicTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -58,33 +53,13 @@ namespace Foam { namespace phaseCompressible { - typedef PhaseCompressibleMomentumTransportModel - momentumTransportModel; typedef laminarModel laminarModel; typedef RASModel RASModel; typedef LESModel LESModel; - - template - autoPtr New - ( - const volScalarField& alpha, - const volScalarField& rho, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const typename BasicPhaseCompressibleMomentumTransportModel:: - transportModel& transport - ); } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "phaseDynamicMomentumTransportModel.C" -#endif - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif diff --git a/src/MomentumTransportModels/phaseIncompressible/Make/files b/src/MomentumTransportModels/phaseIncompressible/Make/files index 0d33976bfc..f113a2e223 100644 --- a/src/MomentumTransportModels/phaseIncompressible/Make/files +++ b/src/MomentumTransportModels/phaseIncompressible/Make/files @@ -1,3 +1,4 @@ -phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.C +phaseIncompressibleMomentumTransportModel.C +phaseIncompressibleMomentumTransportModels.C LIB = $(FOAM_LIBBIN)/libphaseIncompressibleMomentumTransportModels diff --git a/src/MomentumTransportModels/phaseIncompressible/Make/options b/src/MomentumTransportModels/phaseIncompressible/Make/options index 0de35885fc..3ac10fbcb3 100644 --- a/src/MomentumTransportModels/phaseIncompressible/Make/options +++ b/src/MomentumTransportModels/phaseIncompressible/Make/options @@ -1,11 +1,11 @@ EXE_INC = \ -I../momentumTransportModels/lnInclude \ -I../incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ LIB_LIBS = \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools diff --git a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.H b/src/MomentumTransportModels/phaseIncompressible/makePhaseIncompressibleMomentumTransportModel.H similarity index 72% rename from src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.H rename to src/MomentumTransportModels/phaseIncompressible/makePhaseIncompressibleMomentumTransportModel.H index 1b03072625..726fc3cd2b 100644 --- a/src/MomentumTransportModels/phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.H +++ b/src/MomentumTransportModels/phaseIncompressible/makePhaseIncompressibleMomentumTransportModel.H @@ -23,9 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "PhaseCompressibleMomentumTransportModel.H" -#include "dynamicTransportModel.H" -#include "addToRunTimeSelectionTable.H" +#include "phaseIncompressibleMomentumTransportModel.H" #include "makeMomentumTransportModel.H" #include "laminarModel.H" @@ -37,27 +35,33 @@ License makeMomentumTransportModelTypes ( volScalarField, - volScalarField, - compressibleMomentumTransportModel, - PhaseCompressibleMomentumTransportModel, - dynamicTransportModel + geometricOneField, + phaseIncompressibleMomentumTransportModel ); #define makeLaminarModel(Type) \ makeTemplatedLaminarModel \ ( \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseIncompressibleMomentumTransportModel, \ laminar, \ Type \ ) #define makeRASModel(Type) \ makeTemplatedMomentumTransportModel \ - (dynamicTransportModelPhaseCompressibleMomentumTransportModel, RAS, Type) + ( \ + phaseIncompressibleMomentumTransportModel, \ + RAS, \ + Type \ + ) #define makeLESModel(Type) \ makeTemplatedMomentumTransportModel \ - (dynamicTransportModelPhaseCompressibleMomentumTransportModel, LES, Type) + ( \ + phaseIncompressibleMomentumTransportModel, \ + LES, \ + Type \ + ) // ************************************************************************* // diff --git a/src/MomentumTransportModels/phaseIncompressible/PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.C b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModel.C similarity index 59% rename from src/MomentumTransportModels/phaseIncompressible/PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.C rename to src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModel.C index 0ac42a0fee..e2278e6cda 100644 --- a/src/MomentumTransportModels/phaseIncompressible/PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.C +++ b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,13 +23,21 @@ License \*---------------------------------------------------------------------------*/ -#include "PhaseIncompressibleMomentumTransportModel.H" +#include "phaseIncompressibleMomentumTransportModel.H" +#include "fvMatrix.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(phaseIncompressibleMomentumTransportModel, 0); +} + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -template -Foam::PhaseIncompressibleMomentumTransportModel:: -PhaseIncompressibleMomentumTransportModel +Foam::phaseIncompressibleMomentumTransportModel:: +phaseIncompressibleMomentumTransportModel ( const word& type, const volScalarField& alpha, @@ -37,67 +45,54 @@ PhaseIncompressibleMomentumTransportModel const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const TransportModel& transportModel + const viscosity& viscosity ) : - MomentumTransportModel - < - volScalarField, - geometricOneField, - incompressibleMomentumTransportModel, - TransportModel - > + incompressibleMomentumTransportModel ( - alpha, + type, + geometricOneField(), rho, U, alphaRhoPhi, phi, - transportModel - ) + viscosity + ), + alpha_(alpha) {} // * * * * * * * * * * * * * * * * * Selectors * * * * * * * * * * * * * * * // -template -Foam::autoPtr> -Foam::PhaseIncompressibleMomentumTransportModel::New +Foam::autoPtr +Foam::phaseIncompressibleMomentumTransportModel::New ( const volScalarField& alpha, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const TransportModel& transportModel + const viscosity& viscosity ) { - return autoPtr + return momentumTransportModel::New + < + phaseIncompressibleMomentumTransportModel + > ( - static_cast( - MomentumTransportModel - < - volScalarField, - geometricOneField, - incompressibleMomentumTransportModel, - TransportModel - >::New - ( - alpha, - geometricOneField(), - U, - alphaRhoPhi, - phi, - transportModel - ).ptr()) + alpha, + geometricOneField(), + U, + alphaRhoPhi, + phi, + viscosity ); } // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template Foam::tmp -Foam::PhaseIncompressibleMomentumTransportModel::pPrime() const +Foam::phaseIncompressibleMomentumTransportModel::pPrime() const { return volScalarField::New ( @@ -108,9 +103,8 @@ Foam::PhaseIncompressibleMomentumTransportModel::pPrime() const } -template Foam::tmp -Foam::PhaseIncompressibleMomentumTransportModel::pPrimef() const +Foam::phaseIncompressibleMomentumTransportModel::pPrimef() const { return surfaceScalarField::New ( @@ -121,18 +115,15 @@ Foam::PhaseIncompressibleMomentumTransportModel::pPrimef() const } -template Foam::tmp -Foam::PhaseIncompressibleMomentumTransportModel:: -devSigma() const +Foam::phaseIncompressibleMomentumTransportModel::devSigma() const { return devTau(); } -template Foam::tmp -Foam::PhaseIncompressibleMomentumTransportModel::divDevSigma +Foam::phaseIncompressibleMomentumTransportModel::divDevSigma ( volVectorField& U ) const @@ -141,9 +132,8 @@ Foam::PhaseIncompressibleMomentumTransportModel::divDevSigma } -template Foam::tmp -Foam::PhaseIncompressibleMomentumTransportModel:: +Foam::phaseIncompressibleMomentumTransportModel:: devTau() const { NotImplemented; @@ -152,10 +142,8 @@ devTau() const } -template Foam::tmp -Foam::PhaseIncompressibleMomentumTransportModel:: -divDevTau +Foam::phaseIncompressibleMomentumTransportModel::divDevTau ( volVectorField& U ) const diff --git a/src/MomentumTransportModels/phaseIncompressible/PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.H b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModel.H similarity index 63% rename from src/MomentumTransportModels/phaseIncompressible/PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.H rename to src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModel.H index e3ea135fc1..104bd7b996 100644 --- a/src/MomentumTransportModels/phaseIncompressible/PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.H +++ b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,21 +22,20 @@ License along with OpenFOAM. If not, see . Class - Foam::PhaseIncompressibleMomentumTransportModel + Foam::phaseIncompressibleMomentumTransportModel Description Templated abstract base class for multiphase incompressible turbulence models. SourceFiles - PhaseIncompressibleMomentumTransportModel.C + phaseIncompressibleMomentumTransportModel.C \*---------------------------------------------------------------------------*/ -#ifndef PhaseIncompressibleMomentumTransportModel_H -#define PhaseIncompressibleMomentumTransportModel_H +#ifndef phaseIncompressibleMomentumTransportModel_H +#define phaseIncompressibleMomentumTransportModel_H -#include "MomentumTransportModel.H" #include "incompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -45,32 +44,56 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class PhaseIncompressibleMomentumTransportModel Declaration + Class phaseIncompressibleMomentumTransportModel Declaration \*---------------------------------------------------------------------------*/ -template -class PhaseIncompressibleMomentumTransportModel +class phaseIncompressibleMomentumTransportModel : - public MomentumTransportModel - < - volScalarField, - geometricOneField, - incompressibleMomentumTransportModel, - TransportModel - > + public incompressibleMomentumTransportModel { public: typedef volScalarField alphaField; typedef geometricOneField rhoField; - typedef TransportModel transportModel; + + +protected: + + // Protected data + + const alphaField& alpha_; + + +public: + + //- Runtime type information + TypeName("phaseIncompressibleMomentumTransportModel"); + + + // Declare run-time constructor selection table + + declareRunTimeNewSelectionTable + ( + autoPtr, + phaseIncompressibleMomentumTransportModel, + dictionary, + ( + const alphaField& alpha, + const rhoField& rho, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity + ), + (alpha, rho, U, alphaRhoPhi, phi, viscosity) + ); // Constructors //- Construct - PhaseIncompressibleMomentumTransportModel + phaseIncompressibleMomentumTransportModel ( const word& type, const alphaField& alpha, @@ -78,40 +101,34 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const TransportModel& transportModel + const viscosity& viscosity ); // Selectors //- Return a reference to the selected turbulence model - static autoPtr New + static autoPtr New ( const alphaField& alpha, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const TransportModel& transportModel + const viscosity& viscosity ); //- Destructor - virtual ~PhaseIncompressibleMomentumTransportModel() + virtual ~phaseIncompressibleMomentumTransportModel() {} // Member Functions - //- Return the laminar viscosity - virtual tmp nu() const + //- Access function to phase fraction + const alphaField& alpha() const { - return this->transport_.nu(); - } - - //- Return the laminar viscosity on patchi - virtual tmp nu(const label patchi) const - { - return this->transport_.nu(patchi); + return alpha_; } //- Return the phase-pressure' @@ -136,6 +153,22 @@ public: }; +namespace phaseIncompressible +{ + typedef phaseIncompressibleMomentumTransportModel momentumTransportModel; + + template + autoPtr New + ( + const volScalarField& alpha, + const volVectorField& U, + const surfaceScalarField& alphaRhoPhi, + const surfaceScalarField& phi, + const viscosity& viscosity + ); +} + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam @@ -143,7 +176,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository - #include "PhaseIncompressibleMomentumTransportModel.C" + #include "phaseIncompressibleMomentumTransportModelTemplates.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.C b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModelTemplates.C similarity index 81% rename from src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.C rename to src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModelTemplates.C index 85ba02e2a2..b986751592 100644 --- a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.C +++ b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModelTemplates.C @@ -23,32 +23,29 @@ License \*---------------------------------------------------------------------------*/ -#include "phaseKinematicMomentumTransportModel.H" - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { namespace phaseIncompressible { - template - autoPtr New + template + autoPtr New ( const volScalarField& alpha, const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const typename BasicPhaseIncompressibleMomentumTransportModel:: - transportModel& transport + const viscosity& viscosity ) { - return BasicPhaseIncompressibleMomentumTransportModel::New + return PhaseIncompressibleMomentumTransportModel::New ( alpha, U, alphaRhoPhi, phi, - transport + viscosity ); } } diff --git a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.C b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModels.C similarity index 93% rename from src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.C rename to src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModels.C index 19b72a9f83..fd43876f49 100644 --- a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.C +++ b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModels.C @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "phaseKinematicMomentumTransportModels.H" +#include "makePhaseIncompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -31,9 +31,7 @@ makeBaseMomentumTransportModel ( volScalarField, geometricOneField, - incompressibleMomentumTransportModel, - PhaseIncompressibleMomentumTransportModel, - kinematicTransportModel + phaseIncompressibleMomentumTransportModel ); diff --git a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.H b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModels.H similarity index 67% rename from src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.H rename to src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModels.H index 41b4651524..769887b690 100644 --- a/src/MomentumTransportModels/phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.H +++ b/src/MomentumTransportModels/phaseIncompressible/phaseIncompressibleMomentumTransportModels.H @@ -37,20 +37,15 @@ Description Typedefs for turbulence, RAS and LES models for phase-compressible flow based on the phase-fluidThermo transport package. -SourceFiles - phaseKinematicMomentumTransportModel.C - phaseKinematicMomentumTransportModels.C - \*---------------------------------------------------------------------------*/ -#ifndef phaseKinematicMomentumTransportModel_H -#define phaseKinematicMomentumTransportModel_H +#ifndef phaseIncompressibleMomentumTransportModels_H +#define phaseIncompressibleMomentumTransportModels_H -#include "PhaseIncompressibleMomentumTransportModel.H" +#include "phaseIncompressibleMomentumTransportModel.H" #include "laminarModel.H" #include "RASModel.H" #include "LESModel.H" -#include "kinematicTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -58,33 +53,13 @@ namespace Foam { namespace phaseIncompressible { - typedef PhaseIncompressibleMomentumTransportModel - - momentumTransportModel; typedef laminarModel laminarModel; typedef RASModel RASModel; typedef LESModel LESModel; - - template - autoPtr New - ( - const volScalarField& alpha, - const volVectorField& U, - const surfaceScalarField& alphaRhoPhi, - const surfaceScalarField& phi, - const typename BasicPhaseIncompressibleMomentumTransportModel:: - transportModel& transport - ); } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -#ifdef NoRepository - #include "phaseKinematicMomentumTransportModel.C" -#endif - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif diff --git a/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C b/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C index fc1d23d8a5..b1dfc6ab8c 100644 --- a/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C +++ b/src/OpenFOAM/db/regIOobject/regIOobjectWrite.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -62,8 +62,8 @@ bool Foam::regIOobject::writeObject //- uncomment this if you want to write global objects on master only - // bool isGlobal = global(); - bool isGlobal = false; + bool isGlobal = global(); + // bool isGlobal = false; if (instance() == time().timeName()) { diff --git a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C index b496717123..8f56e9460e 100644 --- a/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C +++ b/src/OpenFOAM/global/fileOperations/fileOperation/fileOperation.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2017-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2017-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -460,7 +460,13 @@ bool Foam::fileOperation::writeObject { if (write) { - fileName filePath(io.objectPath()); + const fileName filePath + ( + io.global() + ? io.rootPath()/io.time().globalCaseName() + /io.instance()/io.db().dbDir()/io.local()/io.name() + : io.objectPath() + ); mkDir(filePath.path()); diff --git a/src/OpenFOAM/include/listOptions.H b/src/OpenFOAM/include/listOptions.H index f13f9f92d7..ac181b4ef8 100644 --- a/src/OpenFOAM/include/listOptions.H +++ b/src/OpenFOAM/include/listOptions.H @@ -41,8 +41,8 @@ argList::addBoolOption ); #endif -#if defined(kinematicMomentumTransportModel_H) \ - || defined(dynamicMomentumTransportModel_H) +#if defined(incompressibleMomentumTransportModels_H) \ + || defined(compressibleMomentumTransportModels_H) argList::addBoolOption ( "listMomentumTransportModels", diff --git a/src/OpenFOAM/include/listOutput.H b/src/OpenFOAM/include/listOutput.H index 9b3a034e06..b7865c99a7 100644 --- a/src/OpenFOAM/include/listOutput.H +++ b/src/OpenFOAM/include/listOutput.H @@ -54,7 +54,7 @@ if (args.optionFound("listFvConstraints")) } #endif -#ifdef kinematicMomentumTransportModel_H +#ifdef incompressibleMomentumTransportModels_H if (args.optionFound("listMomentumTransportModels")) { Info<< "Turbulence models" @@ -73,7 +73,7 @@ if (args.optionFound("listMomentumTransportModels")) << endl; listOptions = true; } -#elif defined(dynamicMomentumTransportModel_H) +#elif defined(compressibleMomentumTransportModels_H) if (args.optionFound("listMomentumTransportModels")) { Info<< "Turbulence models" diff --git a/src/ThermophysicalTransportModels/Make/options b/src/ThermophysicalTransportModels/Make/options index c4f1606302..c9172f5058 100644 --- a/src/ThermophysicalTransportModels/Make/options +++ b/src/ThermophysicalTransportModels/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ diff --git a/src/ThermophysicalTransportModels/derivedFvPatchFields/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C b/src/ThermophysicalTransportModels/derivedFvPatchFields/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C index a016c9dbac..19f22a0b8d 100644 --- a/src/ThermophysicalTransportModels/derivedFvPatchFields/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C +++ b/src/ThermophysicalTransportModels/derivedFvPatchFields/alphatWallFunctions/alphatJayatillekeWallFunction/alphatJayatillekeWallFunctionFvPatchScalarField.C @@ -168,8 +168,8 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::updateCoeffs() const scalarField& y = turbModel.y()[patchi]; - const tmp tmuw = turbModel.mu(patchi); - const scalarField& muw = tmuw(); + const tmp tnuw = turbModel.nu(patchi); + const scalarField& nuw = tnuw(); const tmp talphaw = ttm.thermo().alpha(patchi); const scalarField& alphaw = talphaw(); @@ -196,10 +196,10 @@ void alphatJayatillekeWallFunctionFvPatchScalarField::updateCoeffs() scalar uTau = Cmu25*sqrt(k[celli]); - scalar yPlus = uTau*y[facei]/(muw[facei]/rhow[facei]); + scalar yPlus = uTau*y[facei]/nuw[facei]; // Molecular Prandtl number - scalar Pr = muw[facei]/alphaw[facei]; + scalar Pr = rhow[facei]*nuw[facei]/alphaw[facei]; // Molecular-to-turbulent Prandtl number ratio scalar Prat = Pr/Prt_; diff --git a/src/ThermophysicalTransportModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C b/src/ThermophysicalTransportModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C index 4a5d02b823..92f24c0d82 100644 --- a/src/ThermophysicalTransportModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C +++ b/src/ThermophysicalTransportModels/derivedFvPatchFields/convectiveHeatTransfer/convectiveHeatTransferFvPatchScalarField.C @@ -113,8 +113,8 @@ void convectiveHeatTransferFvPatchScalarField::updateCoeffs() const scalarField alphaEffw(ttm.alphaEff(patchi)); - const tmp tmuw = turbModel.mu(patchi); - const scalarField& muw = tmuw(); + const tmp tnuw = turbModel.nu(patchi); + const scalarField& nuw = tnuw(); const scalarField& rhow = turbModel.rho().boundaryField()[patchi]; const vectorField& Uc = turbModel.U(); @@ -123,14 +123,14 @@ void convectiveHeatTransferFvPatchScalarField::updateCoeffs() const scalarField Cpw(ttm.thermo().Cp(Tw, patchi)); const scalarField kappaw(Cpw*alphaEffw); - const scalarField Pr(muw*Cpw/kappaw); + const scalarField Pr(rhow*nuw*Cpw/kappaw); scalarField& htc = *this; forAll(htc, facei) { - label celli = patch().faceCells()[facei]; + const label celli = patch().faceCells()[facei]; - scalar Re = rhow[facei]*mag(Uc[celli] - Uw[facei])*L_/muw[facei]; + const scalar Re = mag(Uc[celli] - Uw[facei])*L_/nuw[facei]; if (Re < 5.0E+05) { diff --git a/src/ThermophysicalTransportModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C b/src/ThermophysicalTransportModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C index a25b37aed2..722300841b 100644 --- a/src/ThermophysicalTransportModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C +++ b/src/ThermophysicalTransportModels/derivedFvPatchFields/externalCoupledTemperatureMixed/externalCoupledTemperatureMixedFvPatchScalarField.C @@ -123,7 +123,7 @@ void Foam::externalCoupledTemperatureMixedFvPatchScalarField::transferData ) ); - static word thermoName(basicThermo::dictName); + static word thermoName(physicalProperties::typeName); if (db().foundObject(ttmName)) { diff --git a/src/ThermophysicalTransportModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C b/src/ThermophysicalTransportModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C index 16266d1a59..e09bcdcdfb 100644 --- a/src/ThermophysicalTransportModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C +++ b/src/ThermophysicalTransportModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -73,7 +73,7 @@ Foam::tmp Foam::temperatureCoupledBase::kappa const word fluidThermoName ( - IOobject::groupName(basicThermo::dictName, phase) + IOobject::groupName(physicalProperties::typeName, phase) ); if (mesh.foundObject(fluidThermoName)) @@ -102,10 +102,10 @@ Foam::tmp Foam::temperatureCoupledBase::kappa return thermo.kappa(patchi); } } - else if (mesh.foundObject(basicThermo::dictName)) + else if (mesh.foundObject(physicalProperties::typeName)) { const solidThermo& thermo = - mesh.lookupObject(basicThermo::dictName); + mesh.lookupObject(physicalProperties::typeName); if (!thermo.isotropic()) { diff --git a/src/ThermophysicalTransportModels/fluidReactionThermo/Make/options b/src/ThermophysicalTransportModels/fluidReactionThermo/Make/options index ec086486bc..68a8e1b029 100644 --- a/src/ThermophysicalTransportModels/fluidReactionThermo/Make/options +++ b/src/ThermophysicalTransportModels/fluidReactionThermo/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModel.H b/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModel.H index 9081da9110..0e5d2b66ce 100644 --- a/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModel.H @@ -46,7 +46,7 @@ Description #include "laminarThermophysicalTransportModel.H" #include "RASThermophysicalTransportModel.H" #include "LESThermophysicalTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.C index 57feaf94b0..1e467e8f5a 100644 --- a/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.C @@ -30,7 +30,7 @@ License makeThermophysicalTransportModels ( ThermophysicalTransportModel, - dynamicTransportModelCompressibleMomentumTransportModel, + compressibleMomentumTransportModel, fluidReactionThermo ); diff --git a/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.H b/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.H index 771fe2e5cd..776067cd3a 100644 --- a/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.H +++ b/src/ThermophysicalTransportModels/fluidReactionThermo/fluidReactionThermophysicalTransportModels.H @@ -24,16 +24,15 @@ License \*---------------------------------------------------------------------------*/ #include "fluidReactionThermophysicalTransportModel.H" -#include "dynamicMomentumTransportModels.H" +#include "compressibleMomentumTransportModels.H" #include "makeThermophysicalTransportModel.H" -#include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // makeThermophysicalTransportModelTypes ( ThermophysicalTransportModel, - dynamicTransportModelCompressibleMomentumTransportModel, + compressibleMomentumTransportModel, fluidReactionThermo ); @@ -42,7 +41,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidReactionThermo, \ laminar, \ Type \ @@ -52,7 +51,7 @@ makeThermophysicalTransportModelTypes makeTurbulenceThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidReactionThermo, \ SType, \ Type \ @@ -62,7 +61,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidReactionThermo, \ RAS, \ Type \ @@ -72,7 +71,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidReactionThermo, \ LES, \ Type \ diff --git a/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModel.H b/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModel.H index 062d84b9d1..54995fdc8f 100644 --- a/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModel.H @@ -46,7 +46,7 @@ Description #include "laminarThermophysicalTransportModel.H" #include "RASThermophysicalTransportModel.H" #include "LESThermophysicalTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.C index 8833998d5d..dffe542ff4 100644 --- a/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.C @@ -30,7 +30,7 @@ License makeThermophysicalTransportModels ( ThermophysicalTransportModel, - dynamicTransportModelCompressibleMomentumTransportModel, + compressibleMomentumTransportModel, fluidThermo ); diff --git a/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.H b/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.H index 6f89afe256..8104b5ba20 100644 --- a/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.H +++ b/src/ThermophysicalTransportModels/fluidThermo/fluidThermophysicalTransportModels.H @@ -24,16 +24,15 @@ License \*---------------------------------------------------------------------------*/ #include "fluidThermophysicalTransportModel.H" -#include "dynamicMomentumTransportModels.H" +#include "compressibleMomentumTransportModels.H" #include "makeThermophysicalTransportModel.H" -#include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // makeThermophysicalTransportModelTypes ( ThermophysicalTransportModel, - dynamicTransportModelCompressibleMomentumTransportModel, + compressibleMomentumTransportModel, fluidThermo ); @@ -42,7 +41,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidThermo, \ laminar, \ Type \ @@ -52,7 +51,7 @@ makeThermophysicalTransportModelTypes makeTurbulenceThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidThermo, \ SType, \ Type \ @@ -62,7 +61,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidThermo, \ RAS, \ Type \ @@ -72,7 +71,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ ThermophysicalTransportModel, \ - dynamicTransportModelCompressibleMomentumTransportModel, \ + compressibleMomentumTransportModel, \ fluidThermo, \ LES, \ Type \ diff --git a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/Make/options b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/Make/options index 9e359e6f71..cd449dd9d0 100644 --- a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/Make/options +++ b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModel.H b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModel.H index ca0133e7ed..d3773854aa 100644 --- a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModel.H @@ -47,7 +47,7 @@ Description #include "laminarThermophysicalTransportModel.H" #include "RASThermophysicalTransportModel.H" #include "LESThermophysicalTransportModel.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.C index e0cb1b71ea..883390743d 100644 --- a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.C @@ -30,7 +30,7 @@ License makeThermophysicalTransportModels ( PhaseThermophysicalTransportModel, - dynamicTransportModelPhaseCompressibleMomentumTransportModel, + phaseCompressibleMomentumTransportModel, fluidReactionThermo ); diff --git a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.H b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.H index 54504bb21c..68e0f765ab 100644 --- a/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.H +++ b/src/ThermophysicalTransportModels/phaseFluidReactionThermo/phaseFluidReactionThermophysicalTransportModels.H @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "phaseFluidReactionThermophysicalTransportModel.H" -#include "phaseDynamicMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModels.H" #include "makeThermophysicalTransportModel.H" #include "addToRunTimeSelectionTable.H" @@ -33,7 +33,7 @@ License makeThermophysicalTransportModelTypes ( PhaseThermophysicalTransportModel, - dynamicTransportModelPhaseCompressibleMomentumTransportModel, + phaseCompressibleMomentumTransportModel, fluidReactionThermo ); @@ -42,7 +42,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidReactionThermo, \ laminar, \ Type \ @@ -52,7 +52,7 @@ makeThermophysicalTransportModelTypes makeTurbulenceThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidReactionThermo, \ SType, \ Type \ @@ -62,7 +62,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidReactionThermo, \ RAS, \ Type \ @@ -72,7 +72,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidReactionThermo, \ LES, \ Type \ diff --git a/src/ThermophysicalTransportModels/phaseFluidThermo/Make/options b/src/ThermophysicalTransportModels/phaseFluidThermo/Make/options index 93e4ef3fe0..764c15bd9e 100644 --- a/src/ThermophysicalTransportModels/phaseFluidThermo/Make/options +++ b/src/ThermophysicalTransportModels/phaseFluidThermo/Make/options @@ -3,7 +3,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/phaseCompressible/lnInclude \ -I$(LIB_SRC)/ThermophysicalTransportModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ diff --git a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModel.H b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModel.H index 33deb7cf3b..8ba07ec361 100644 --- a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModel.H @@ -47,7 +47,7 @@ Description #include "laminarThermophysicalTransportModel.H" #include "RASThermophysicalTransportModel.H" #include "LESThermophysicalTransportModel.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C index 2ce304f454..d4ac7113a8 100644 --- a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C +++ b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.C @@ -30,7 +30,7 @@ License makeThermophysicalTransportModels ( PhaseThermophysicalTransportModel, - dynamicTransportModelPhaseCompressibleMomentumTransportModel, + phaseCompressibleMomentumTransportModel, fluidThermo ); diff --git a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.H b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.H index 6fde1cd8a1..d95484b7f9 100644 --- a/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.H +++ b/src/ThermophysicalTransportModels/phaseFluidThermo/phaseFluidThermophysicalTransportModels.H @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "phaseFluidThermophysicalTransportModel.H" -#include "phaseDynamicMomentumTransportModels.H" +#include "phaseCompressibleMomentumTransportModels.H" #include "makeThermophysicalTransportModel.H" #include "addToRunTimeSelectionTable.H" @@ -33,7 +33,7 @@ License makeThermophysicalTransportModelTypes ( PhaseThermophysicalTransportModel, - dynamicTransportModelPhaseCompressibleMomentumTransportModel, + phaseCompressibleMomentumTransportModel, fluidThermo ); @@ -42,7 +42,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidThermo, \ laminar, \ Type \ @@ -52,7 +52,7 @@ makeThermophysicalTransportModelTypes makeTurbulenceThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidThermo, \ SType, \ Type \ @@ -62,7 +62,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidThermo, \ RAS, \ Type \ @@ -72,7 +72,7 @@ makeThermophysicalTransportModelTypes makeThermophysicalTransportModel \ ( \ PhaseThermophysicalTransportModel, \ - dynamicTransportModelPhaseCompressibleMomentumTransportModel, \ + phaseCompressibleMomentumTransportModel, \ fluidThermo, \ LES, \ Type \ diff --git a/src/ThermophysicalTransportModels/thermophysicalTransportModel/makeThermophysicalTransportModel.H b/src/ThermophysicalTransportModels/thermophysicalTransportModel/makeThermophysicalTransportModel.H index 60a2bcfe3c..6f4aee0e2b 100644 --- a/src/ThermophysicalTransportModels/thermophysicalTransportModel/makeThermophysicalTransportModel.H +++ b/src/ThermophysicalTransportModels/thermophysicalTransportModel/makeThermophysicalTransportModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,6 +23,8 @@ License \*---------------------------------------------------------------------------*/ +#include "addToRunTimeSelectionTable.H" + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #define makeThermophysicalTransportModelTypes( \ diff --git a/src/atmosphericModels/Make/options b/src/atmosphericModels/Make/options index d6fe1ee98c..3d38d76e3e 100644 --- a/src/atmosphericModels/Make/options +++ b/src/atmosphericModels/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/triSurface/lnInclude \ @@ -10,7 +10,7 @@ EXE_INC = \ LIB_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lfiniteVolume \ -lmeshTools \ -ltriSurface \ diff --git a/src/atmosphericModels/atmosphericTurbulentTransportModels.C b/src/atmosphericModels/atmosphericTurbulentTransportModels.C index 21b41a7ec3..731b28e664 100644 --- a/src/atmosphericModels/atmosphericTurbulentTransportModels.C +++ b/src/atmosphericModels/atmosphericTurbulentTransportModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2018-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,7 +23,7 @@ License \*---------------------------------------------------------------------------*/ -#include "kinematicMomentumTransportModels.H" +#include "makeIncompressibleMomentumTransportModel.H" // -------------------------------------------------------------------------- // // RAS models diff --git a/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.C b/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.C index 775af34850..53e058c7c6 100644 --- a/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.C +++ b/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.C @@ -183,7 +183,7 @@ kEpsilonLopesdaCosta::kEpsilonLopesdaCosta const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type ) : @@ -195,7 +195,7 @@ kEpsilonLopesdaCosta::kEpsilonLopesdaCosta U, alphaRhoPhi, phi, - transport + viscosity ), Cmu_ diff --git a/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.H b/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.H index 77d867c7b3..ede9a2e13e 100644 --- a/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.H +++ b/src/atmosphericModels/kEpsilonLopesdaCosta/kEpsilonLopesdaCosta.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2018-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2018-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -141,7 +141,6 @@ public: typedef typename BasicMomentumTransportModel::alphaField alphaField; typedef typename BasicMomentumTransportModel::rhoField rhoField; - typedef typename BasicMomentumTransportModel::transportModel transportModel; //- Runtime type information @@ -158,7 +157,7 @@ public: const volVectorField& U, const surfaceScalarField& alphaRhoPhi, const surfaceScalarField& phi, - const transportModel& transport, + const viscosity& viscosity, const word& type = typeName ); diff --git a/src/combustionModels/EDC/EDC.C b/src/combustionModels/EDC/EDC.C index ccff0c9657..2cda842feb 100644 --- a/src/combustionModels/EDC/EDC.C +++ b/src/combustionModels/EDC/EDC.C @@ -116,15 +116,12 @@ void Foam::combustionModels::EDC::correct() tmp tepsilon(this->turbulence().epsilon()); const volScalarField& epsilon = tepsilon(); - tmp tmu(this->turbulence().mu()); - const volScalarField& mu = tmu(); + tmp tnu(this->turbulence().nu()); + const volScalarField& nu = tnu(); tmp tk(this->turbulence().k()); const volScalarField& k = tk(); - tmp trho(this->rho()); - const volScalarField& rho = trho(); - scalarField tauStar(epsilon.size(), 0); if (version_ == EDCversions::v2016) @@ -134,21 +131,19 @@ void Foam::combustionModels::EDC::correct() forAll(tauStar, i) { - const scalar nu = mu[i]/(rho[i] + small); - const scalar Da = - max(min(sqrt(nu/(epsilon[i] + small))/tc[i], 10), 1e-10); + max(min(sqrt(nu[i]/(epsilon[i] + small))/tc[i], 10), 1e-10); - const scalar ReT = sqr(k[i])/(nu*epsilon[i] + small); + const scalar ReT = sqr(k[i])/(nu[i]*epsilon[i] + small); const scalar CtauI = min(C1_/(Da*sqrt(ReT + 1)), 2.1377); const scalar CgammaI = max(min(C2_*sqrt(Da*(ReT + 1)), 5), 0.4082); const scalar gammaL = - CgammaI*pow025(nu*epsilon[i]/(sqr(k[i]) + small)); + CgammaI*pow025(nu[i]*epsilon[i]/(sqr(k[i]) + small)); - tauStar[i] = CtauI*sqrt(nu/(epsilon[i] + small)); + tauStar[i] = CtauI*sqrt(nu[i]/(epsilon[i] + small)); if (gammaL >= 1) { @@ -173,11 +168,10 @@ void Foam::combustionModels::EDC::correct() { forAll(tauStar, i) { - const scalar nu = mu[i]/(rho[i] + small); const scalar gammaL = - Cgamma_*pow025(nu*epsilon[i]/(sqr(k[i]) + small)); + Cgamma_*pow025(nu[i]*epsilon[i]/(sqr(k[i]) + small)); - tauStar[i] = Ctau_*sqrt(nu/(epsilon[i] + small)); + tauStar[i] = Ctau_*sqrt(nu[i]/(epsilon[i] + small)); if (gammaL >= 1) { kappa_[i] = 1; diff --git a/src/combustionModels/Make/options b/src/combustionModels/Make/options index 011667bebe..d468070afd 100644 --- a/src/combustionModels/Make/options +++ b/src/combustionModels/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ diff --git a/src/combustionModels/PaSR/PaSR.C b/src/combustionModels/PaSR/PaSR.C index c7bb396d5e..425d2e3a03 100644 --- a/src/combustionModels/PaSR/PaSR.C +++ b/src/combustionModels/PaSR/PaSR.C @@ -81,19 +81,16 @@ void Foam::combustionModels::PaSR::correct() tmp tepsilon(this->turbulence().epsilon()); const scalarField& epsilon = tepsilon(); - tmp tmuEff(this->turbulence().muEff()); - const scalarField& muEff = tmuEff(); + tmp tnuEff(this->turbulence().nuEff()); + const scalarField& nuEff = tnuEff(); tmp ttc(this->chemistryPtr_->tc()); const scalarField& tc = ttc(); - tmp trho(this->rho()); - const scalarField& rho = trho(); - forAll(epsilon, i) { const scalar tk = - Cmix_*sqrt(max(muEff[i]/rho[i]/(epsilon[i] + small), 0)); + Cmix_*sqrt(max(nuEff[i]/(epsilon[i] + small), 0)); if (tk > small) { diff --git a/src/combustionModels/combustionModel/combustionModel.H b/src/combustionModels/combustionModel/combustionModel.H index 537eaa49bc..d6c1ac7a02 100644 --- a/src/combustionModels/combustionModel/combustionModel.H +++ b/src/combustionModels/combustionModel/combustionModel.H @@ -36,7 +36,7 @@ SourceFiles #define combustionModel_H #include "IOdictionary.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "fluidReactionThermo.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/combustionModels/diffusion/diffusion.C b/src/combustionModels/diffusion/diffusion.C index 0e832ef40f..c858f6999b 100644 --- a/src/combustionModels/diffusion/diffusion.C +++ b/src/combustionModels/diffusion/diffusion.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2012-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2012-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -87,7 +87,7 @@ void Foam::combustionModels::diffusion::correct() this->thermo().composition().Y(oxidantName_); this->wFuel_ == - C_*this->turbulence().muEff() + C_*this->thermo().rho()*this->turbulence().nuEff() *mag(fvc::grad(YFuel) & fvc::grad(YO2)) *pos0(YFuel)*pos0(YO2); } diff --git a/src/functionObjects/field/MachNo/MachNo.C b/src/functionObjects/field/MachNo/MachNo.C index 882c35a352..0557e35b81 100644 --- a/src/functionObjects/field/MachNo/MachNo.C +++ b/src/functionObjects/field/MachNo/MachNo.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -52,11 +52,11 @@ bool Foam::functionObjects::MachNo::calc() if ( foundObject(fieldName_) - && foundObject(fluidThermo::dictName) + && foundObject(physicalProperties::typeName) ) { const fluidThermo& thermo = - lookupObject(fluidThermo::dictName); + lookupObject(physicalProperties::typeName); const volVectorField& U = lookupObject(fieldName_); diff --git a/src/functionObjects/field/Make/options b/src/functionObjects/field/Make/options index 1f6ecbbfa7..2da53455af 100644 --- a/src/functionObjects/field/Make/options +++ b/src/functionObjects/field/Make/options @@ -5,10 +5,10 @@ EXE_INC = \ -I$(LIB_SRC)/fileFormats/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \ -I$(LIB_SRC)/surfMesh/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/compressible/lnInclude \ @@ -18,7 +18,7 @@ LIB_LIBS = \ -lfiniteVolume \ -lfluidThermophysicalModels \ -lsolidThermo \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lcompressibleMomentumTransportModels \ diff --git a/src/functionObjects/field/age/age.C b/src/functionObjects/field/age/age.C index cbf3c30a76..4ad2e65d6c 100644 --- a/src/functionObjects/field/age/age.C +++ b/src/functionObjects/field/age/age.C @@ -175,19 +175,16 @@ bool Foam::functionObjects::age::execute() const volScalarField& rho = mesh_.lookupObject(rhoName_); - tmp tmuEff; - word laplacianScheme; + const word laplacianScheme("laplacian(muEff," + schemesField_ + ")"); + tmp tnuEff; if (diffusion_) { - tmuEff = + tnuEff = mesh_.lookupObject ( momentumTransportModel::typeName - ).muEff(); - - laplacianScheme = - "laplacian(" + tmuEff().name() + ',' + schemesField_ + ")"; + ).nuEff(); } for (int i=0; i<=nCorr_; i++) @@ -199,7 +196,7 @@ bool Foam::functionObjects::age::execute() if (diffusion_) { - ageEqn -= fvm::laplacian(tmuEff(), age, laplacianScheme); + ageEqn -= fvm::laplacian(rho*tnuEff(), age, laplacianScheme); } ageEqn.relax(relaxCoeff); diff --git a/src/functionObjects/field/shearStress/shearStress.C b/src/functionObjects/field/shearStress/shearStress.C index 5fc52d788d..3eeb976aa7 100644 --- a/src/functionObjects/field/shearStress/shearStress.C +++ b/src/functionObjects/field/shearStress/shearStress.C @@ -26,8 +26,8 @@ License #include "shearStress.H" #include "volFields.H" #include "surfaceFields.H" -#include "kinematicMomentumTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/functionObjects/field/totalEnthalpy/totalEnthalpy.C b/src/functionObjects/field/totalEnthalpy/totalEnthalpy.C index 33de3c9ad0..968def372a 100644 --- a/src/functionObjects/field/totalEnthalpy/totalEnthalpy.C +++ b/src/functionObjects/field/totalEnthalpy/totalEnthalpy.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -85,7 +85,7 @@ bool Foam::functionObjects::totalEnthalpy::execute() const word thermoName ( - IOobject::groupName(fluidThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); if (mesh_.foundObject(thermoName)) diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.C b/src/functionObjects/field/turbulenceFields/turbulenceFields.C index eb0bbfff50..63df49b7cc 100644 --- a/src/functionObjects/field/turbulenceFields/turbulenceFields.C +++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2013-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "turbulenceFields.H" -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" #include "thermophysicalTransportModel.H" #include "addToRunTimeSelectionTable.H" @@ -55,8 +55,8 @@ const char* Foam::NamedEnum "k", "epsilon", "omega", - "mut", - "muEff", + "nut", + "nuEff", "alphaEff", "R", "devTau" @@ -194,14 +194,14 @@ bool Foam::functionObjects::turbulenceFields::execute() processField(f, omega(model)); break; } - case compressibleField::mut: + case compressibleField::nut: { - processField(f, model.mut()); + processField(f, model.nut()); break; } - case compressibleField::muEff: + case compressibleField::nuEff: { - processField(f, model.muEff()); + processField(f, model.nuEff()); break; } case compressibleField::alphaEff: @@ -252,14 +252,14 @@ bool Foam::functionObjects::turbulenceFields::execute() processField(f, omega(model)); break; } - case compressibleField::mut: + case compressibleField::nut: { - processField(f, model.mut()); + processField(f, model.nut()); break; } - case compressibleField::muEff: + case compressibleField::nuEff: { - processField(f, model.muEff()); + processField(f, model.nuEff()); break; } case compressibleField::R: diff --git a/src/functionObjects/field/turbulenceFields/turbulenceFields.H b/src/functionObjects/field/turbulenceFields/turbulenceFields.H index a602ca9f40..593b278a78 100644 --- a/src/functionObjects/field/turbulenceFields/turbulenceFields.H +++ b/src/functionObjects/field/turbulenceFields/turbulenceFields.H @@ -65,8 +65,8 @@ Usage omega | turbulence specific dissipation rate nut | turbulence viscosity (incompressible) nuEff | effective turbulence viscosity (incompressible) - mut | turbulence viscosity (compressible) - muEff | effective turbulence viscosity (compressible) + nut | turbulence viscosity (compressible) + nuEff | effective turbulence viscosity (compressible) alphaEff | effective turbulence thermal diffusivity (compressible) R | Reynolds stress tensor devSigma | Deviatoric part of the effective Reynolds stress \ @@ -113,8 +113,8 @@ public: k, epsilon, omega, - mut, - muEff, + nut, + nuEff, alphaEff, R, devTau diff --git a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C index a0a5cbde0e..b8a9f41aa6 100644 --- a/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C +++ b/src/functionObjects/field/wallHeatFlux/wallHeatFlux.C @@ -210,10 +210,10 @@ bool Foam::functionObjects::wallHeatFlux::execute() return store(name, calcWallHeatFlux(ttm.q())); } - else if (foundObject(solidThermo::dictName)) + else if (foundObject(physicalProperties::typeName)) { const solidThermo& thermo = - lookupObject(solidThermo::dictName); + lookupObject(physicalProperties::typeName); return store(name, calcWallHeatFlux(thermo.q())); } diff --git a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeff.C b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeff.C index 553468e129..855d1f6d15 100644 --- a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeff.C +++ b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeff.C @@ -24,8 +24,9 @@ License \*---------------------------------------------------------------------------*/ #include "wallHeatTransferCoeff.H" -#include "kinematicMomentumTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" +#include "fvsPatchField.H" #include "basicThermo.H" #include "wallPolyPatch.H" #include "addToRunTimeSelectionTable.H" @@ -100,7 +101,7 @@ bool Foam::functionObjects::wallHeatTransferCoeff::read(const dictionary& dict) fvMeshFunctionObject::read(dict); writeLocalObjects::read(dict); - if (!foundObject(basicThermo::dictName)) + if (!foundObject(physicalProperties::typeName)) { rho_.read(dict); Cp_.read(dict); @@ -173,14 +174,14 @@ bool Foam::functionObjects::wallHeatTransferCoeff::execute() tmp thtc; thtc = coeffModel_->htcByRhoCp(mmtm, patchSet_); - if (!foundObject(basicThermo::dictName)) + if (!foundObject(physicalProperties::typeName)) { thtc.ref() *= rho_*Cp_; } else { const basicThermo& thermo = - lookupObject(basicThermo::dictName); + lookupObject(physicalProperties::typeName); thtc.ref() *= thermo.rho()*thermo.Cp(); } diff --git a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C index d5d8c85980..3416c2b777 100644 --- a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C +++ b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/ReynoldsAnalogy/ReynoldsAnalogy.C @@ -24,8 +24,8 @@ License \*---------------------------------------------------------------------------*/ #include "ReynoldsAnalogy.H" -#include "kinematicMomentumTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/kappaEff/kappaEff.C b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/kappaEff/kappaEff.C index 5e2150c02a..5592d3ca24 100644 --- a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/kappaEff/kappaEff.C +++ b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/kappaEff/kappaEff.C @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "kappaEff.H" -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.C b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.C index 7e4040e6e2..f82a36ec8b 100644 --- a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.C +++ b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.C @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "wallHeatTransferCoeffModel.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // diff --git a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.H b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.H index bb981abffc..10facc8090 100644 --- a/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.H +++ b/src/functionObjects/field/wallHeatTransferCoeff/wallHeatTransferCoeffModels/wallHeatTransferCoeffModel/wallHeatTransferCoeffModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2020-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -36,7 +36,7 @@ SourceFiles #ifndef wallHeatTransferCoeffModel_H #define wallHeatTransferCoeffModel_H -#include "kinematicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/src/functionObjects/field/wallShearStress/wallShearStress.C b/src/functionObjects/field/wallShearStress/wallShearStress.C index 90155aa563..c2be03f73d 100644 --- a/src/functionObjects/field/wallShearStress/wallShearStress.C +++ b/src/functionObjects/field/wallShearStress/wallShearStress.C @@ -26,8 +26,8 @@ License #include "wallShearStress.H" #include "volFields.H" #include "surfaceFields.H" -#include "kinematicMomentumTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" #include "wallPolyPatch.H" #include "addToRunTimeSelectionTable.H" diff --git a/src/functionObjects/forces/Make/options b/src/functionObjects/forces/Make/options index d1a743738e..6e119ffabf 100644 --- a/src/functionObjects/forces/Make/options +++ b/src/functionObjects/forces/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I$(LIB_SRC)/fileFormats/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ @@ -12,7 +12,7 @@ EXE_INC = \ LIB_LIBS = \ -lfluidThermophysicalModels \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lcompressibleMomentumTransportModels \ diff --git a/src/functionObjects/forces/forces/forces.C b/src/functionObjects/forces/forces/forces.C index ccc72bf3ef..2a720ac78d 100644 --- a/src/functionObjects/forces/forces/forces.C +++ b/src/functionObjects/forces/forces/forces.C @@ -26,10 +26,10 @@ License #include "forces.H" #include "fvcGrad.H" #include "porosityModel.H" -#include "kinematicMomentumTransportModel.H" -#include "dynamicMomentumTransportModel.H" -#include "phaseKinematicMomentumTransportModel.H" -#include "phaseDynamicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" +#include "phaseIncompressibleMomentumTransportModel.H" +#include "phaseCompressibleMomentumTransportModel.H" #include "fluidThermo.H" #include "addToRunTimeSelectionTable.H" @@ -265,18 +265,18 @@ Foam::functionObjects::forces::devTau() const return model.devTau(); } - else if (obr_.foundObject("transportProperties")) + else if (obr_.foundObject("physicalProperties")) { // Legacy support for icoFoam - const dictionary& transportProperties = - obr_.lookupObject("transportProperties"); + const dictionary& physicalProperties = + obr_.lookupObject("physicalProperties"); const dimensionedScalar nu ( "nu", dimViscosity, - transportProperties.lookup("nu") + physicalProperties.lookup("nu") ); const volVectorField& U = obr_.lookupObject(UName_); @@ -312,41 +312,41 @@ Foam::tmp Foam::functionObjects::forces::mu() const const incompressible::momentumTransportModel& model = obr_.lookupObject(modelName); - return rho()*model.transport().nu(); + return rho()*model.nu(); } else if (obr_.foundObject(modelName)) { const cmpModel& model = obr_.lookupObject(modelName); - return model.transport().mu(); + return model.rho()*model.nu(); } else if (obr_.foundObject(phaseModelName)) { const phaseIcoModel& model = obr_.lookupObject(phaseModelName); - return rho()*model.transport().nu(); + return rho()*model.nu(); } else if (obr_.foundObject(phaseModelName)) { const phaseCmpModel& model = obr_.lookupObject(phaseModelName); - return model.transport().mu(); + return model.rho()*model.nu(); } - else if (obr_.foundObject("transportProperties")) + else if (obr_.foundObject("physicalProperties")) { // Legacy support for icoFoam - const dictionary& transportProperties = - obr_.lookupObject("transportProperties"); + const dictionary& physicalProperties = + obr_.lookupObject("physicalProperties"); const dimensionedScalar nu ( "nu", dimViscosity, - transportProperties.lookup("nu") + physicalProperties.lookup("nu") ); return rho()*nu; diff --git a/src/functionObjects/lagrangian/Make/options b/src/functionObjects/lagrangian/Make/options index bb3170dc4b..d4f85e14d4 100644 --- a/src/functionObjects/lagrangian/Make/options +++ b/src/functionObjects/lagrangian/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/parcel/lnInclude \ @@ -10,7 +10,7 @@ EXE_INC = \ LIB_LIBS = \ -lfiniteVolume \ - -ltransportModels \ + -lphysicalProperties \ -lmeshTools \ -llagrangian \ -llagrangianParcel \ diff --git a/src/functionObjects/lagrangian/particles/particles.C b/src/functionObjects/lagrangian/particles/particles.C index 19fe313b81..eb8e545004 100644 --- a/src/functionObjects/lagrangian/particles/particles.C +++ b/src/functionObjects/lagrangian/particles/particles.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,7 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "particles.H" -#include "singlePhaseTransportModel.H" +#include "viscosityModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -66,15 +66,15 @@ Foam::functionObjects::particles::particles ), dimensionedVector(dimAcceleration, Zero) ), - laminarTransport_ + viscosity_ ( - mesh_.lookupObject("transportProperties") + mesh_.lookupObject(physicalProperties::typeName) ), rhoValue_ ( "rho", dimDensity, - laminarTransport_ + viscosity_ ), rho_ ( @@ -87,7 +87,7 @@ Foam::functionObjects::particles::particles mesh_, rhoValue_ ), - mu_("mu", rhoValue_*laminarTransport_.nu()), + mu_("mu", rhoValue_*viscosity_.nu()), U_ ( mesh_.lookupObject(dict.lookupOrDefault("U", "U")) @@ -131,7 +131,7 @@ bool Foam::functionObjects::particles::read bool Foam::functionObjects::particles::execute() { - mu_ = rhoValue_*laminarTransport_.nu(); + mu_ = rhoValue_*viscosity_.nu(); cloudPtr_->evolve(); diff --git a/src/functionObjects/lagrangian/particles/particles.H b/src/functionObjects/lagrangian/particles/particles.H index a39208470a..606b55de28 100644 --- a/src/functionObjects/lagrangian/particles/particles.H +++ b/src/functionObjects/lagrangian/particles/particles.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2016-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2016-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -33,7 +33,7 @@ Description parcels without affecting the flow-field. The cloud requires the density of the fluid which is looked-up from - constant/transportProperties dictionary and the acceleration due to gravity + constant/phaseProperties dictionary and the acceleration due to gravity which is read from the constant/g file if present or defaults to zero. The cloud properties are read from the constant/Properties @@ -77,7 +77,7 @@ SourceFiles namespace Foam { -class singlePhaseTransportModel; +class viscosityModel; namespace functionObjects { @@ -95,8 +95,8 @@ class particles //- Optional acceleration due to gravity uniformDimensionedVectorField g_; - //- Reference to the laminar transport model - const singlePhaseTransportModel& laminarTransport_; + //- Reference to the carrier fluid viscosity model + const viscosityModel& viscosity_; //- Uniform density value dimensionedScalar rhoValue_; diff --git a/src/functionObjects/solvers/Make/options b/src/functionObjects/solvers/Make/options index a4b3df73ce..4e63d7d26c 100644 --- a/src/functionObjects/solvers/Make/options +++ b/src/functionObjects/solvers/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/momentumTransportModels/lnInclude \ -I$(LIB_SRC)/MomentumTransportModels/incompressible/lnInclude \ @@ -9,7 +9,7 @@ EXE_INC = \ LIB_LIBS = \ -lfluidThermophysicalModels \ - -ltransportModels \ + -lphysicalProperties \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lcompressibleMomentumTransportModels \ diff --git a/src/functionObjects/solvers/phaseScalarTransport/phaseScalarTransport.C b/src/functionObjects/solvers/phaseScalarTransport/phaseScalarTransport.C index 7a7f5f17a0..226f9d99f9 100644 --- a/src/functionObjects/solvers/phaseScalarTransport/phaseScalarTransport.C +++ b/src/functionObjects/solvers/phaseScalarTransport/phaseScalarTransport.C @@ -245,7 +245,7 @@ Foam::functionObjects::phaseScalarTransport::D ( "D" + s_.name(), mesh_, - dimensionedScalar(alphaPhi.dimensions()/dimLength, D_) + dimensionedScalar(dimViscosity, D_) ); } @@ -256,8 +256,8 @@ Foam::functionObjects::phaseScalarTransport::D mesh_.foundObject(namePhase) ? namePhase : mesh_.foundObject(nameNoPhase) - ? nameNoPhase - : word::null; + ? nameNoPhase + : word::null; if (name == word::null) { @@ -272,19 +272,7 @@ Foam::functionObjects::phaseScalarTransport::D const momentumTransportModel& turbulence = mesh_.lookupObject(name); - if (alphaPhi.dimensions() == dimVolume/dimTime) - { - return alphaD_*turbulence.nu() + alphaDt_*turbulence.nut(); - } - else if (alphaPhi.dimensions() == dimMass/dimTime) - { - return alphaD_*turbulence.mu() + alphaDt_*turbulence.mut(); - } - else - { - PhiDimensionErrorInFunction(alphaPhi); - return tmp(nullptr); - } + return alphaD_*turbulence.nu() + alphaDt_*turbulence.nut(); } @@ -448,7 +436,7 @@ bool Foam::functionObjects::phaseScalarTransport::execute() + fvm::div(alphaPhi, s_, divScheme) - fvm::laplacian ( - fvc::interpolate(alpha)*fvc::interpolate(D), + fvc::interpolate(alpha)*fvc::interpolate(rho*D), s_, laplacianScheme ) diff --git a/src/functionObjects/solvers/scalarTransport/scalarTransport.C b/src/functionObjects/solvers/scalarTransport/scalarTransport.C index 9353665d3b..24aed1bc1c 100644 --- a/src/functionObjects/solvers/scalarTransport/scalarTransport.C +++ b/src/functionObjects/solvers/scalarTransport/scalarTransport.C @@ -31,8 +31,8 @@ License #include "fvmSup.H" #include "fvModels.H" #include "fvConstraints.H" -#include "kinematicMomentumTransportModel.H" -#include "dynamicMomentumTransportModel.H" +#include "incompressibleMomentumTransportModel.H" +#include "compressibleMomentumTransportModel.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -60,10 +60,7 @@ Foam::tmp Foam::functionObjects::scalarTransport::D const surfaceScalarField& phi ) const { - typedef incompressible::momentumTransportModel icoModel; - typedef compressible::momentumTransportModel cmpModel; - - word Dname("D" + s_.name()); + const word Dname("D" + s_.name()); if (constantD_) { @@ -71,26 +68,24 @@ Foam::tmp Foam::functionObjects::scalarTransport::D ( Dname, mesh_, - dimensionedScalar(Dname, phi.dimensions()/dimLength, D_) + dimensionedScalar(Dname, dimViscosity, D_) ); } - else if (mesh_.foundObject(momentumTransportModel::typeName)) - { - const icoModel& model = mesh_.lookupObject + else if + ( + mesh_.foundObject ( momentumTransportModel::typeName - ); - - return alphaD_*model.nu() + alphaDt_*model.nut(); - } - else if (mesh_.foundObject(momentumTransportModel::typeName)) + ) + ) { - const cmpModel& model = mesh_.lookupObject - ( - momentumTransportModel::typeName - ); + const momentumTransportModel& turbulence = + mesh_.lookupObject + ( + momentumTransportModel::typeName + ); - return alphaD_*model.mu() + alphaDt_*model.mut(); + return alphaD_*turbulence.nu() + alphaDt_*turbulence.nut(); } else { @@ -186,20 +181,17 @@ bool Foam::functionObjects::scalarTransport::execute() Foam::fvConstraints::New(mesh_) ); - if (phi.dimensions() == dimMass/dimTime) + if (phi.dimensions() == dimVolume/dimTime) { - const volScalarField& rho = - mesh_.lookupObject(rhoName_); - for (int i=0; i<=nCorr_; i++) { fvScalarMatrix sEqn ( - fvm::ddt(rho, s_) + fvm::ddt(s_) + fvm::div(phi, s_, divScheme) - fvm::laplacian(D, s_, laplacianScheme) == - fvModels.source(rho, s_) + fvModels.source(s_) ); sEqn.relax(relaxCoeff); @@ -211,17 +203,20 @@ bool Foam::functionObjects::scalarTransport::execute() fvConstraints.constrain(s_); } } - else if (phi.dimensions() == dimVolume/dimTime) + else if (phi.dimensions() == dimMass/dimTime) { + const volScalarField& rho = + mesh_.lookupObject(rhoName_); + for (int i=0; i<=nCorr_; i++) { fvScalarMatrix sEqn ( - fvm::ddt(s_) + fvm::ddt(rho, s_) + fvm::div(phi, s_, divScheme) - - fvm::laplacian(D, s_, laplacianScheme) + - fvm::laplacian(rho*D, s_, laplacianScheme) == - fvModels.source(s_) + fvModels.source(rho, s_) ); sEqn.relax(relaxCoeff); diff --git a/src/fvConstraints/Make/options b/src/fvConstraints/Make/options index 434ca74cb3..2aa0018d56 100644 --- a/src/fvConstraints/Make/options +++ b/src/fvConstraints/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ diff --git a/src/fvConstraints/fixedTemperatureConstraint/fixedTemperatureConstraint.C b/src/fvConstraints/fixedTemperatureConstraint/fixedTemperatureConstraint.C index 1d7c8f91a5..03e4388e83 100644 --- a/src/fvConstraints/fixedTemperatureConstraint/fixedTemperatureConstraint.C +++ b/src/fvConstraints/fixedTemperatureConstraint/fixedTemperatureConstraint.C @@ -112,7 +112,7 @@ Foam::wordList Foam::fv::fixedTemperatureConstraint::constrainedFields() const const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); return wordList(1, thermo.he().name()); @@ -130,7 +130,7 @@ bool Foam::fv::fixedTemperatureConstraint::constrain const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); switch (mode_) diff --git a/src/fvConstraints/limitTemperature/limitTemperature.C b/src/fvConstraints/limitTemperature/limitTemperature.C index 39494f100a..6da7894e61 100644 --- a/src/fvConstraints/limitTemperature/limitTemperature.C +++ b/src/fvConstraints/limitTemperature/limitTemperature.C @@ -81,7 +81,7 @@ Foam::wordList Foam::fv::limitTemperature::constrainedFields() const const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); return wordList(1, thermo.he().name()); @@ -93,7 +93,7 @@ bool Foam::fv::limitTemperature::constrain(volScalarField& he) const const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); const labelList& cells = set_.cells(); diff --git a/src/fvModels/Make/options b/src/fvModels/Make/options index 434ca74cb3..2aa0018d56 100644 --- a/src/fvModels/Make/options +++ b/src/fvModels/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude \ -I$(LIB_SRC)/sampling/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ diff --git a/src/fvModels/derived/buoyancyEnergy/buoyancyEnergy.C b/src/fvModels/derived/buoyancyEnergy/buoyancyEnergy.C index 2283068522..942024e562 100644 --- a/src/fvModels/derived/buoyancyEnergy/buoyancyEnergy.C +++ b/src/fvModels/derived/buoyancyEnergy/buoyancyEnergy.C @@ -86,7 +86,7 @@ Foam::wordList Foam::fv::buoyancyEnergy::addSupFields() const const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); return wordList(1, thermo.he().name()); diff --git a/src/fvModels/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C b/src/fvModels/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C index c709f4986d..0a4bd96d43 100644 --- a/src/fvModels/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C +++ b/src/fvModels/derived/effectivenessHeatExchangerSource/effectivenessHeatExchangerSource.C @@ -201,7 +201,7 @@ Foam::fv::effectivenessHeatExchangerSource::effectivenessHeatExchangerSource Foam::wordList Foam::fv::effectivenessHeatExchangerSource::addSupFields() const { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); return wordList(1, thermo.he().name()); } @@ -215,7 +215,7 @@ void Foam::fv::effectivenessHeatExchangerSource::addSup ) const { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); const surfaceScalarField Cpf(fvc::interpolate(thermo.Cp())); diff --git a/src/fvModels/derived/heatSource/heatSource.C b/src/fvModels/derived/heatSource/heatSource.C index 71c19a6df3..64f6216516 100644 --- a/src/fvModels/derived/heatSource/heatSource.C +++ b/src/fvModels/derived/heatSource/heatSource.C @@ -115,7 +115,7 @@ Foam::fv::heatSource::~heatSource() Foam::wordList Foam::fv::heatSource::addSupFields() const { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); return wordList(1, thermo.he().name()); } diff --git a/src/fvModels/derived/heatTransfer/heatTransfer.C b/src/fvModels/derived/heatTransfer/heatTransfer.C index ee0337ac87..cc01408655 100644 --- a/src/fvModels/derived/heatTransfer/heatTransfer.C +++ b/src/fvModels/derived/heatTransfer/heatTransfer.C @@ -94,7 +94,7 @@ Foam::fv::heatTransfer::~heatTransfer() Foam::wordList Foam::fv::heatTransfer::addSupFields() const { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); return wordList(1, thermo.he().name()); } @@ -124,7 +124,7 @@ void Foam::fv::heatTransfer::addSup if (he.dimensions() == dimEnergy/dimMass) { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); const volScalarField htcAoVByCpv(htcAoV/thermo.Cpv()); diff --git a/src/fvModels/derived/massSource/massSource.C b/src/fvModels/derived/massSource/massSource.C index 1472bb9929..5c31aee61d 100644 --- a/src/fvModels/derived/massSource/massSource.C +++ b/src/fvModels/derived/massSource/massSource.C @@ -57,14 +57,14 @@ void Foam::fv::massSource::readCoeffs() ( mesh().foundObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ) ) { const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); heName_ = thermo.he().name(); TName_ = thermo.T().name(); @@ -179,7 +179,7 @@ void Foam::fv::massSource::addSupType const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); const scalarField hs ( diff --git a/src/fvModels/derived/solidEquilibriumEnergySource/solidEquilibriumEnergySource.C b/src/fvModels/derived/solidEquilibriumEnergySource/solidEquilibriumEnergySource.C index de1f6b2461..37be93f974 100644 --- a/src/fvModels/derived/solidEquilibriumEnergySource/solidEquilibriumEnergySource.C +++ b/src/fvModels/derived/solidEquilibriumEnergySource/solidEquilibriumEnergySource.C @@ -87,7 +87,7 @@ const Foam::solidThermo& Foam::fv::solidEquilibriumEnergySource::solidThermo() const { const word thermoName = - IOobject::groupName(basicThermo::dictName, solidPhaseName_); + IOobject::groupName(physicalProperties::typeName, solidPhaseName_); if (!mesh().foundObject(thermoName)) { @@ -134,7 +134,7 @@ Foam::wordList Foam::fv::solidEquilibriumEnergySource::addSupFields() const const basicThermo& thermo = mesh().lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ); return wordList(1, thermo.he().name()); diff --git a/src/fvModels/derived/solidificationMeltingSource/solidificationMeltingSource.C b/src/fvModels/derived/solidificationMeltingSource/solidificationMeltingSource.C index 8ccd6cf89e..2c01a72c79 100644 --- a/src/fvModels/derived/solidificationMeltingSource/solidificationMeltingSource.C +++ b/src/fvModels/derived/solidificationMeltingSource/solidificationMeltingSource.C @@ -98,7 +98,7 @@ Foam::fv::solidificationMeltingSource::Cp() const case thermoMode::thermo: { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); return thermo.Cp(); break; @@ -270,7 +270,7 @@ Foam::wordList Foam::fv::solidificationMeltingSource::addSupFields() const case thermoMode::thermo: { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); return wordList({UName_, thermo.he().name()}); } diff --git a/src/fvModels/derived/volumeFractionSource/volumeFractionSource.C b/src/fvModels/derived/volumeFractionSource/volumeFractionSource.C index 7f2956425b..61a3990f73 100644 --- a/src/fvModels/derived/volumeFractionSource/volumeFractionSource.C +++ b/src/fvModels/derived/volumeFractionSource/volumeFractionSource.C @@ -120,7 +120,7 @@ Foam::tmp Foam::fv::volumeFractionSource::D ? ttm.kappaEff() : fieldName == ttm.thermo().he().name() ? ttm.alphaEff() - : ttm.momentumTransport().muEff(); + : ttm.momentumTransport().rho()*ttm.momentumTransport().nuEff(); } else { diff --git a/src/fvModels/interRegion/interRegionHeatTransfer/interRegionHeatTransfer.C b/src/fvModels/interRegion/interRegionHeatTransfer/interRegionHeatTransfer.C index 521a2184d3..0471e7f594 100644 --- a/src/fvModels/interRegion/interRegionHeatTransfer/interRegionHeatTransfer.C +++ b/src/fvModels/interRegion/interRegionHeatTransfer/interRegionHeatTransfer.C @@ -103,7 +103,7 @@ Foam::fv::interRegionHeatTransfer::~interRegionHeatTransfer() Foam::wordList Foam::fv::interRegionHeatTransfer::addSupFields() const { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); return wordList(1, thermo.he().name()); } @@ -172,7 +172,7 @@ void Foam::fv::interRegionHeatTransfer::addSup if (he.dimensions() == dimEnergy/dimMass) { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); const volScalarField htcAoVByCpv(htcAoV/thermo.Cpv()); diff --git a/src/lagrangian/parcel/Make/options b/src/lagrangian/parcel/Make/options index 98407c8e8c..599bbfeffc 100644 --- a/src/lagrangian/parcel/Make/options +++ b/src/lagrangian/parcel/Make/options @@ -1,7 +1,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ @@ -22,7 +22,7 @@ LIB_LIBS = \ -lthermophysicalProperties \ -lreactionThermophysicalModels \ -lradiationModels \ - -ltransportModels \ + -lphysicalProperties \ -lregionModels \ -lsurfaceFilmModels \ -ldynamicFvMesh \ diff --git a/src/lagrangian/parcel/fvModels/clouds.C b/src/lagrangian/parcel/fvModels/clouds.C index 58f9b6118f..b595cd64b8 100644 --- a/src/lagrangian/parcel/fvModels/clouds.C +++ b/src/lagrangian/parcel/fvModels/clouds.C @@ -59,7 +59,7 @@ Foam::fv::clouds::clouds fvModel(sourceName, modelType, dict, mesh), carrierThermo_ ( - mesh.lookupObject(basicThermo::dictName) + mesh.lookupObject(physicalProperties::typeName) ), clouds_ ( diff --git a/src/lagrangian/parcelTurbulence/Make/options b/src/lagrangian/parcelTurbulence/Make/options index bc898c4741..ceb1c5cdf4 100644 --- a/src/lagrangian/parcelTurbulence/Make/options +++ b/src/lagrangian/parcelTurbulence/Make/options @@ -2,7 +2,7 @@ EXE_INC = \ -I$(LIB_SRC)/lagrangian/basic/lnInclude \ -I$(LIB_SRC)/lagrangian/parcel/lnInclude \ -I$(LIB_SRC)/lagrangian/distributionModels/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ @@ -29,7 +29,7 @@ LIB_LIBS = \ -lmomentumTransportModels \ -lincompressibleMomentumTransportModels \ -lcompressibleMomentumTransportModels \ - -ltransportModels \ + -lphysicalProperties \ -lregionModels \ -lsurfaceFilmModels \ -ldynamicFvMesh \ diff --git a/src/physicalProperties/Make/files b/src/physicalProperties/Make/files new file mode 100644 index 0000000000..18ac452a65 --- /dev/null +++ b/src/physicalProperties/Make/files @@ -0,0 +1,7 @@ +physicalProperties/physicalProperties.C +viscosity/viscosity.C +viscosityModels/viscosityModel/viscosityModel.C +viscosityModels/viscosityModel/viscosityModelNew.C +viscosityModels/constant/constantViscosityModel.C + +LIB = $(FOAM_LIBBIN)/libphysicalProperties diff --git a/src/transportModels/Make/options b/src/physicalProperties/Make/options similarity index 100% rename from src/transportModels/Make/options rename to src/physicalProperties/Make/options diff --git a/src/physicalProperties/physicalProperties/physicalProperties.C b/src/physicalProperties/physicalProperties/physicalProperties.C new file mode 100644 index 0000000000..fbd7610777 --- /dev/null +++ b/src/physicalProperties/physicalProperties/physicalProperties.C @@ -0,0 +1,124 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "physicalProperties.H" +#include "fvMesh.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(physicalProperties, 0); +} + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * // + +Foam::IOobject Foam::physicalProperties::findModelDict +( + const objectRegistry& obr, + const word& group, + bool registerObject +) +{ + IOobject physicalPropertiesIO + ( + IOobject::groupName(physicalProperties::typeName, group), + obr.time().constant(), + obr, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE, + registerObject + ); + + if (physicalPropertiesIO.typeHeaderOk(true)) + { + return physicalPropertiesIO; + } + else + { + IOobject thermophysicalPropertiesIO + ( + IOobject::groupName("thermophysicalProperties", group), + obr.time().constant(), + obr, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE, + registerObject + ); + + if (thermophysicalPropertiesIO.typeHeaderOk(true)) + { + return thermophysicalPropertiesIO; + } + else + { + IOobject transportPropertiesIO + ( + IOobject::groupName("transportProperties", group), + obr.time().constant(), + obr, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE, + registerObject + ); + + if (transportPropertiesIO.typeHeaderOk(true)) + { + return transportPropertiesIO; + } + else + { + return physicalPropertiesIO; + } + } + } +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::physicalProperties::physicalProperties +( + const fvMesh& mesh, + const word& group +) +: + IOdictionary(findModelDict(mesh, group, true)) +{ + // Ensure name of IOdictionary is typeName + rename(IOobject::groupName(physicalProperties::typeName, group)); +} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +bool Foam::physicalProperties::read() +{ + return regIOobject::read(); +} + + +// ************************************************************************* // diff --git a/src/transportModels/dynamicTransportModel/dynamicTransportModel.H b/src/physicalProperties/physicalProperties/physicalProperties.H similarity index 70% rename from src/transportModels/dynamicTransportModel/dynamicTransportModel.H rename to src/physicalProperties/physicalProperties/physicalProperties.H index 4ebd345c5e..5125804863 100644 --- a/src/transportModels/dynamicTransportModel/dynamicTransportModel.H +++ b/src/physicalProperties/physicalProperties/physicalProperties.H @@ -22,68 +22,75 @@ License along with OpenFOAM. If not, see . Class - Foam::dynamicTransportModel + Foam::physicalProperties Description - Base-class for all transport models used by compressible turbulence models. + An abstract base class for physical properties. SourceFiles - dynamicTransportModel.C + physicalProperties.C \*---------------------------------------------------------------------------*/ -#ifndef dynamicTransportModel_H -#define dynamicTransportModel_H +#ifndef physicalProperties_H +#define physicalProperties_H -#include "scalarField.H" -#include "volFieldsFwd.H" +#include "IOdictionary.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { +// Forward declaration of classes +class fvMesh; + /*---------------------------------------------------------------------------*\ - Class dynamicTransportModel Declaration + Class physicalProperties Declaration \*---------------------------------------------------------------------------*/ -class dynamicTransportModel +class physicalProperties +: + public IOdictionary { + public: //- Runtime type information - TypeName("dynamicTransportModel"); + TypeName("physicalProperties"); // Constructors //- Construct from components - dynamicTransportModel(); + physicalProperties(const fvMesh& mesh, const word& group); //- Disallow default bitwise copy construction - dynamicTransportModel - ( - const dynamicTransportModel& - ) = delete; + physicalProperties(const physicalProperties&) = delete; //- Destructor - virtual ~dynamicTransportModel(); + virtual ~physicalProperties() + {} // Member Functions - //- Return the laminar viscosity - virtual tmp mu() const = 0; + static IOobject findModelDict + ( + const objectRegistry& obr, + const word& group, + bool registerObject = false + ); - //- Return the laminar viscosity for patch - virtual tmp mu(const label patchi) const = 0; + //- Read physicalProperties dictionary + virtual bool read() = 0; // Member Operators //- Disallow default bitwise assignment - void operator=(const dynamicTransportModel&) = delete; + void operator=(const physicalProperties&) = delete; }; diff --git a/src/transportModels/dynamicTransportModel/dynamicTransportModel.C b/src/physicalProperties/viscosity/viscosity.C similarity index 78% rename from src/transportModels/dynamicTransportModel/dynamicTransportModel.C rename to src/physicalProperties/viscosity/viscosity.C index 7b773760b7..76ab521fa7 100644 --- a/src/transportModels/dynamicTransportModel/dynamicTransportModel.C +++ b/src/physicalProperties/viscosity/viscosity.C @@ -23,26 +23,13 @@ License \*---------------------------------------------------------------------------*/ -#include "dynamicTransportModel.H" +#include "viscosity.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(dynamicTransportModel, 0); + defineTypeNameAndDebug(viscosity, 0); } - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -Foam::dynamicTransportModel::dynamicTransportModel() -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::dynamicTransportModel::~dynamicTransportModel() -{} - - // ************************************************************************* // diff --git a/src/transportModels/kinematicTransportModel/kinematicTransportModel.H b/src/physicalProperties/viscosity/viscosity.H similarity index 75% rename from src/transportModels/kinematicTransportModel/kinematicTransportModel.H rename to src/physicalProperties/viscosity/viscosity.H index 9c8c9c2b22..5399c91300 100644 --- a/src/transportModels/kinematicTransportModel/kinematicTransportModel.H +++ b/src/physicalProperties/viscosity/viscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,23 +22,21 @@ License along with OpenFOAM. If not, see . Class - Foam::kinematicTransportModel + Foam::viscosity Description - Base-class for all transport models used by the incompressible turbulence - models. + Abstract base class for all fluid physical properties SourceFiles - kinematicTransportModel.C + viscosity.C \*---------------------------------------------------------------------------*/ -#ifndef kinematicTransportModel_H -#define kinematicTransportModel_H +#ifndef viscosity_H +#define viscosity_H #include "primitiveFieldsFwd.H" #include "volFieldsFwd.H" -#include "surfaceFieldsFwd.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -46,28 +44,30 @@ namespace Foam { /*---------------------------------------------------------------------------*\ - Class kinematicTransportModel Declaration + Class viscosity Declaration \*---------------------------------------------------------------------------*/ -class kinematicTransportModel +class viscosity { public: //- Runtime type information - TypeName("kinematicTransportModel"); + TypeName("viscosity"); // Constructors - //- Construct from components - kinematicTransportModel(); + //- Construct + viscosity() + {} //- Disallow default bitwise copy construction - kinematicTransportModel(const kinematicTransportModel&); + viscosity(const viscosity&) = delete; //- Destructor - virtual ~kinematicTransportModel(); + virtual ~viscosity() + {} // Member Functions @@ -82,7 +82,7 @@ public: // Member Operators //- Disallow default bitwise assignment - void operator=(const kinematicTransportModel&) = delete; + void operator=(const viscosity&) = delete; }; diff --git a/src/transportModels/viscosityModels/Newtonian/Newtonian.C b/src/physicalProperties/viscosityModels/constant/constantViscosityModel.C similarity index 67% rename from src/transportModels/viscosityModels/Newtonian/Newtonian.C rename to src/physicalProperties/viscosityModels/constant/constantViscosityModel.C index 7754205038..ec7a905aae 100644 --- a/src/transportModels/viscosityModels/Newtonian/Newtonian.C +++ b/src/physicalProperties/viscosityModels/constant/constantViscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,9 +23,8 @@ License \*---------------------------------------------------------------------------*/ -#include "Newtonian.H" +#include "constantViscosityModel.H" #include "addToRunTimeSelectionTable.H" -#include "surfaceFields.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -33,35 +32,42 @@ namespace Foam { namespace viscosityModels { - defineTypeNameAndDebug(Newtonian, 0); - addToRunTimeSelectionTable(viscosityModel, Newtonian, dictionary); + defineTypeNameAndDebug(constant, 0); + + addToRunTimeSelectionTable(viscosityModel, constant, dictionary); + + addNamedToRunTimeSelectionTable + ( + viscosityModel, + constant, + dictionary, + Newtonian + ); } } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::viscosityModels::Newtonian::Newtonian +Foam::viscosityModels::constant::constant ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ) : - viscosityModel(name, viscosityProperties, U, phi), - nu0_("nu", dimViscosity, viscosityProperties_), + viscosityModel(mesh, group), + nu0_("nu", dimViscosity, *this), nu_ ( IOobject ( - name, - U_.time().timeName(), - U_.db(), + IOobject::groupName("nu", group), + mesh.time().timeName(), + mesh, IOobject::NO_READ, IOobject::NO_WRITE ), - U_.mesh(), + mesh, nu0_ ) {} @@ -69,17 +75,18 @@ Foam::viscosityModels::Newtonian::Newtonian // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -bool Foam::viscosityModels::Newtonian::read -( - const dictionary& viscosityProperties -) +bool Foam::viscosityModels::constant::read() { - viscosityModel::read(viscosityProperties); - - viscosityProperties_.lookup("nu") >> nu0_; - nu_ = nu0_; - - return true; + if (viscosityModel::read()) + { + nu0_.read(*this); + nu_ = nu0_; + return true; + } + else + { + return false; + } } diff --git a/src/transportModels/viscosityModels/Newtonian/Newtonian.H b/src/physicalProperties/viscosityModels/constant/constantViscosityModel.H similarity index 80% rename from src/transportModels/viscosityModels/Newtonian/Newtonian.H rename to src/physicalProperties/viscosityModels/constant/constantViscosityModel.H index 3d9052aff2..164b1cbaf0 100644 --- a/src/transportModels/viscosityModels/Newtonian/Newtonian.H +++ b/src/physicalProperties/viscosityModels/constant/constantViscosityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -22,21 +22,20 @@ License along with OpenFOAM. If not, see . Class - Foam::viscosityModels::Newtonian + Foam::viscosityModels::constant Description - An incompressible Newtonian viscosity model. + A uniform constant Newtonian viscosity model. SourceFiles - Newtonian.C + constantViscosityModel.C \*---------------------------------------------------------------------------*/ -#ifndef Newtonian_H -#define Newtonian_H +#ifndef constantViscosityModel_H +#define constantViscosityModel_H #include "viscosityModel.H" -#include "dimensionedScalar.H" #include "volFields.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -47,40 +46,36 @@ namespace viscosityModels { /*---------------------------------------------------------------------------*\ - Class Newtonian Declaration + Class constant Declaration \*---------------------------------------------------------------------------*/ -class Newtonian +class constant : public viscosityModel { // Private Data + //- Uniform constant Newtonian viscosity value dimensionedScalar nu0_; + //- Uniform constant Newtonian viscosity field volScalarField nu_; public: //- Runtime type information - TypeName("Newtonian"); + TypeName("constant"); // Constructors //- Construct from components - Newtonian - ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi - ); + constant(const fvMesh& mesh, const word& group); //- Destructor - virtual ~Newtonian() + virtual ~constant() {} @@ -103,7 +98,7 @@ public: {} //- Read transportProperties dictionary - virtual bool read(const dictionary& viscosityProperties); + virtual bool read(); }; diff --git a/src/transportModels/kinematicTransportModel/kinematicTransportModel.C b/src/physicalProperties/viscosityModels/viscosityModel/viscosityModel.C similarity index 78% rename from src/transportModels/kinematicTransportModel/kinematicTransportModel.C rename to src/physicalProperties/viscosityModels/viscosityModel/viscosityModel.C index ae2d56b9e3..18b43cabf4 100644 --- a/src/transportModels/kinematicTransportModel/kinematicTransportModel.C +++ b/src/physicalProperties/viscosityModels/viscosityModel/viscosityModel.C @@ -23,26 +23,32 @@ License \*---------------------------------------------------------------------------*/ -#include "kinematicTransportModel.H" +#include "viscosityModel.H" +#include "fvMesh.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam { - defineTypeNameAndDebug(kinematicTransportModel, 0); + defineTypeNameAndDebug(viscosityModel, 0); + defineRunTimeSelectionTable(viscosityModel, dictionary); } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // -Foam::kinematicTransportModel::kinematicTransportModel() +Foam::viscosityModel::viscosityModel(const fvMesh& mesh, const word& group) +: + physicalProperties(mesh, group) {} -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // -Foam::kinematicTransportModel::~kinematicTransportModel() -{} +bool Foam::viscosityModel::read() +{ + return physicalProperties::read(); +} // ************************************************************************* // diff --git a/src/transportModels/viscosityModels/viscosityModel/viscosityModel.H b/src/physicalProperties/viscosityModels/viscosityModel/viscosityModel.H similarity index 66% rename from src/transportModels/viscosityModels/viscosityModel/viscosityModel.H rename to src/physicalProperties/viscosityModels/viscosityModel/viscosityModel.H index 9c7756c33c..8195038b93 100644 --- a/src/transportModels/viscosityModels/viscosityModel/viscosityModel.H +++ b/src/physicalProperties/viscosityModels/viscosityModel/viscosityModel.H @@ -25,18 +25,13 @@ Namespace Foam::viscosityModels Description - A namespace for various incompressible viscosityModel implementations. + A namespace for Newtonian viscosity models. Class Foam::viscosityModel Description - An abstract base class for incompressible viscosityModels. - - The strain rate is defined by: - - mag(symm(grad(U))) - + An abstract base class for Newtonian viscosity models. SourceFiles viscosityModel.C @@ -47,35 +42,27 @@ SourceFiles #ifndef viscosityModel_H #define viscosityModel_H -#include "dictionary.H" -#include "volFieldsFwd.H" -#include "surfaceFieldsFwd.H" -#include "dimensionedScalar.H" -#include "runTimeSelectionTables.H" +#include "physicalProperties.H" +#include "viscosity.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // namespace Foam { +// Forward declaration of classes +class fvMesh; + /*---------------------------------------------------------------------------*\ Class viscosityModel Declaration \*---------------------------------------------------------------------------*/ class viscosityModel +: + public physicalProperties, + public viscosity { -protected: - - // Protected data - - word name_; - dictionary viscosityProperties_; - - const volVectorField& U_; - const surfaceScalarField& phi_; - - public: //- Runtime type information @@ -90,28 +77,20 @@ public: viscosityModel, dictionary, ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ), - (name, viscosityProperties, U, phi) + (mesh, group) ); // Constructors //- Construct from components - viscosityModel - ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi - ); + viscosityModel(const fvMesh& mesh, const word& group); //- Disallow default bitwise copy construction - viscosityModel(const viscosityModel&); + viscosityModel(const viscosityModel&) = delete; // Selectors @@ -119,10 +98,8 @@ public: //- Return a reference to the selected viscosity model static autoPtr New ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group = word::null ); @@ -133,14 +110,8 @@ public: // Member Functions - //- Return the phase transport properties dictionary - const dictionary& viscosityProperties() const - { - return viscosityProperties_; - } - - //- Return the strain rate - tmp strainRate() const; + //- Read physicalProperties dictionary + virtual bool read() = 0; //- Return the laminar viscosity virtual tmp nu() const = 0; @@ -151,9 +122,6 @@ public: //- Correct the laminar viscosity virtual void correct() = 0; - //- Read transportProperties dictionary - virtual bool read(const dictionary& viscosityProperties) = 0; - // Member Operators diff --git a/src/transportModels/viscosityModels/viscosityModel/viscosityModelNew.C b/src/physicalProperties/viscosityModels/viscosityModel/viscosityModelNew.C similarity index 74% rename from src/transportModels/viscosityModels/viscosityModel/viscosityModelNew.C rename to src/physicalProperties/viscosityModels/viscosityModel/viscosityModelNew.C index 5769f8c56d..a45f260966 100644 --- a/src/transportModels/viscosityModels/viscosityModel/viscosityModelNew.C +++ b/src/physicalProperties/viscosityModels/viscosityModel/viscosityModelNew.C @@ -24,22 +24,31 @@ License \*---------------------------------------------------------------------------*/ #include "viscosityModel.H" -#include "volFields.H" -#include "surfaceFields.H" +#include "fvMesh.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Foam::autoPtr Foam::viscosityModel::New ( - const word& name, - const dictionary& viscosityProperties, - const volVectorField& U, - const surfaceScalarField& phi + const fvMesh& mesh, + const word& group ) { - const word modelType(viscosityProperties.lookup("transportModel")); + const word modelType + ( + IOdictionary + ( + viscosityModel::findModelDict(mesh, group) + ).lookupBackwardsCompatible + ( + { + "viscosityModel", + "transportModel" + } + ) + ); - Info<< "Selecting incompressible transport model " << modelType << endl; + Info<< "Selecting viscosity model " << modelType << endl; dictionaryConstructorTable::iterator cstrIter = dictionaryConstructorTablePtr_->find(modelType); @@ -47,15 +56,13 @@ Foam::autoPtr Foam::viscosityModel::New if (cstrIter == dictionaryConstructorTablePtr_->end()) { FatalErrorInFunction - << "Unknown viscosityModel type " - << modelType << nl << nl - << "Valid viscosityModels are : " << endl + << "Unknown viscosity model " << modelType << nl << nl + << "Valid viscosity models are : " << endl << dictionaryConstructorTablePtr_->sortedToc() << exit(FatalError); } - return autoPtr - (cstrIter()(name, viscosityProperties, U, phi)); + return autoPtr(cstrIter()(mesh, group)); } diff --git a/src/radiationModels/Make/options b/src/radiationModels/Make/options index b25332f377..eaa375832e 100644 --- a/src/radiationModels/Make/options +++ b/src/radiationModels/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ diff --git a/src/radiationModels/absorptionEmissionModels/greyMean/greyMean.C b/src/radiationModels/absorptionEmissionModels/greyMean/greyMean.C index a879c8eb7d..b451226393 100644 --- a/src/radiationModels/absorptionEmissionModels/greyMean/greyMean.C +++ b/src/radiationModels/absorptionEmissionModels/greyMean/greyMean.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -64,7 +64,7 @@ Foam::radiationModels::absorptionEmissionModels::greyMean::greyMean speciesNames_(0), specieIndex_(label(0)), lookUpTablePtr_(), - thermo_(mesh.lookupObject(basicThermo::dictName)), + thermo_(mesh.lookupObject(physicalProperties::typeName)), Yj_(nSpecies_) { if (!isA(thermo_)) diff --git a/src/radiationModels/absorptionEmissionModels/wideBand/wideBand.C b/src/radiationModels/absorptionEmissionModels/wideBand/wideBand.C index 5ca2544cdd..741ca6a650 100644 --- a/src/radiationModels/absorptionEmissionModels/wideBand/wideBand.C +++ b/src/radiationModels/absorptionEmissionModels/wideBand/wideBand.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2020 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -63,7 +63,7 @@ Foam::radiationModels::absorptionEmissionModels::wideBand::wideBand speciesNames_(0), specieIndex_(label(0)), lookUpTablePtr_(), - thermo_(mesh.lookupObject(basicThermo::dictName)), + thermo_(mesh.lookupObject(physicalProperties::typeName)), Yj_(nSpecies_), totalWaveLength_(0) { diff --git a/src/radiationModels/fvModels/radiation/radiation.C b/src/radiationModels/fvModels/radiation/radiation.C index 12043e1f2a..a00682db7b 100644 --- a/src/radiationModels/fvModels/radiation/radiation.C +++ b/src/radiationModels/fvModels/radiation/radiation.C @@ -61,7 +61,7 @@ Foam::fv::radiation::radiation ( radiationModel::New ( - mesh.lookupObject(basicThermo::dictName).T() + mesh.lookupObject(physicalProperties::typeName).T() ) ) {} @@ -72,7 +72,7 @@ Foam::fv::radiation::radiation Foam::wordList Foam::fv::radiation::addSupFields() const { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); return wordList(1, thermo.he().name()); } @@ -86,7 +86,7 @@ void Foam::fv::radiation::addSup ) const { const basicThermo& thermo = - mesh().lookupObject(basicThermo::dictName); + mesh().lookupObject(physicalProperties::typeName); radiation_->correct(); diff --git a/src/radiationModels/include/createIncompressibleRadiationModel.H b/src/radiationModels/include/createIncompressibleRadiationModel.H index 8d132606c1..1acd083d43 100644 --- a/src/radiationModels/include/createIncompressibleRadiationModel.H +++ b/src/radiationModels/include/createIncompressibleRadiationModel.H @@ -9,11 +9,11 @@ if (!isType(radiation())) { - IOdictionary transportProperties + IOdictionary physicalProperties ( IOobject ( - "transportProperties", + "physicalProperties", runTime.constant(), runTime, IOobject::MUST_READ, @@ -26,14 +26,14 @@ ( "rhoRef", dimDensity, - transportProperties + physicalProperties ); dimensionedScalar CpRef ( "CpRef", dimSpecificHeatCapacity, - transportProperties + physicalProperties ); rhoCpRef = rhoRef*CpRef; diff --git a/src/regionModels/surfaceFilmModels/Make/options b/src/regionModels/surfaceFilmModels/Make/options index 72d0932b09..651f4eb502 100644 --- a/src/regionModels/surfaceFilmModels/Make/options +++ b/src/regionModels/surfaceFilmModels/Make/options @@ -1,5 +1,5 @@ EXE_INC = \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/thermophysicalProperties/lnInclude \ diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C index a1a729a9ec..40add7c0ed 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/alphatFilmWallFunction/alphatFilmWallFunctionFvPatchScalarField.C @@ -164,8 +164,8 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs() const scalarField& rhow = turbModel.rho().boundaryField()[patchi]; const tmp tk = turbModel.k(); const volScalarField& k = tk(); - const tmp tmuw = turbModel.mu(patchi); - const scalarField& muw = tmuw(); + const tmp tnuw = turbModel.nu(patchi); + const scalarField& nuw = tnuw(); const tmp talpha = ttm.thermo().alpha(patchi); const scalarField& alphaw = talpha(); @@ -179,9 +179,9 @@ void alphatFilmWallFunctionFvPatchScalarField::updateCoeffs() scalar uTau = Cmu25*sqrt(k[faceCelli]); - scalar yPlus = y[facei]*uTau/(muw[facei]/rhow[facei]); + scalar yPlus = y[facei]*uTau/nuw[facei]; - scalar Pr = muw[facei]/alphaw[facei]; + scalar Pr = rhow[facei]*nuw[facei]/alphaw[facei]; scalar factor = 0.0; scalar mStar = mDotFilmp[facei]/(y[facei]*uTau); diff --git a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C index d5838f0573..ea203858e0 100644 --- a/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C +++ b/src/regionModels/surfaceFilmModels/derivedFvPatchFields/wallFunctions/nutkFilmWallFunction/nutkFilmWallFunctionFvPatchScalarField.C @@ -26,7 +26,7 @@ License #include "nutkFilmWallFunctionFvPatchScalarField.H" #include "fvPatchFieldMapper.H" #include "volFields.H" -#include "dynamicMomentumTransportModel.H" +#include "compressibleMomentumTransportModels.H" #include "addToRunTimeSelectionTable.H" #include "surfaceFilmRegionModel.H" #include "mappedWallPolyPatch.H" diff --git a/src/regionModels/surfaceFilmModels/fvModels/surfaceFilm.C b/src/regionModels/surfaceFilmModels/fvModels/surfaceFilm.C index 7673ac2268..f24c8deb67 100644 --- a/src/regionModels/surfaceFilmModels/fvModels/surfaceFilm.C +++ b/src/regionModels/surfaceFilmModels/fvModels/surfaceFilm.C @@ -59,7 +59,7 @@ Foam::fv::surfaceFilm::surfaceFilm fvModel(sourceName, modelType, dict, mesh), primaryThermo_ ( - mesh.lookupObject(basicThermo::dictName) + mesh.lookupObject(physicalProperties::typeName) ), surfaceFilm_ ( diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C index 15f55c0b7d..5413bdb36f 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C @@ -479,6 +479,7 @@ kinematicSingleLayer::kinematicSingleLayer ) : surfaceFilmRegionModel(modelType, mesh, g, regionType), + phaseName_(coeffs_.lookupOrDefault("phase", word::null)), pimple_(regionMesh()), cumulativeContErr_(0), @@ -770,7 +771,7 @@ kinematicSingleLayer::kinematicSingleLayer ( IOobject ( - "U", // must have same name as U to enable mapping + "U", // Must have same name as U to enable mapping time().timeName(), regionMesh(), IOobject::NO_READ, @@ -785,7 +786,8 @@ kinematicSingleLayer::kinematicSingleLayer ( IOobject ( - "thermo:rho", // must have same name as rho to enable mapping + // Must have same name as rho to enable mapping + IOobject::groupName("thermo:rho", phaseName_), time().timeName(), regionMesh(), IOobject::NO_READ, @@ -800,7 +802,8 @@ kinematicSingleLayer::kinematicSingleLayer ( IOobject ( - "thermo:mu", // must have same name as mu to enable mapping + // Must have same name as rho to enable mapping + IOobject::groupName("thermo:mu", phaseName_), time().timeName(), regionMesh(), IOobject::NO_READ, diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H index 5542789adf..226732ad8c 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.H @@ -74,6 +74,8 @@ protected: // Protected data + const word phaseName_; + // Solution parameters pimpleControl pimple_; diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C index 2bc9c5e834..0624cee9ed 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C @@ -283,13 +283,12 @@ thermoSingleLayer::thermoSingleLayer ) : kinematicSingleLayer(modelType, mesh, g, regionType, false), - phaseName_(coeffs_.lookupOrDefault("phase", word::null)), primaryThermo_ ( mesh.lookupObject ( - IOobject::groupName(basicThermo::dictName, phaseName_) + IOobject::groupName(physicalProperties::typeName, phaseName_) ) ), diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H index a1963ee3fd..4ece17597e 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H @@ -75,8 +75,6 @@ protected: // Protected data - const word phaseName_; - // Thermo properties //- Reference to the primary region thermo diff --git a/src/regionModels/thermalBaffleModels/Make/options b/src/regionModels/thermalBaffleModels/Make/options index d45068079a..59c460b25d 100644 --- a/src/regionModels/thermalBaffleModels/Make/options +++ b/src/regionModels/thermalBaffleModels/Make/options @@ -1,6 +1,6 @@ EXE_INC = \ -I$(LIB_SRC)/regionModels/regionModel/lnInclude \ - -I$(LIB_SRC)/transportModels/lnInclude \ + -I$(LIB_SRC)/physicalProperties/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/solidThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ diff --git a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C index 9756bc7581..81e56356fa 100644 --- a/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C +++ b/src/regionModels/thermalBaffleModels/derivedFvPatchFields/thermalBaffle/thermalBaffleFvPatchScalarField.C @@ -296,12 +296,6 @@ void thermalBaffleFvPatchScalarField::write(Ostream& os) const writeKeyword(os, "regionName") << regionName << token::END_STATEMENT << nl; - writeKeyword(os, "thermoType"); - os << dict_.subDict("thermoType") << nl; - - writeKeyword(os, "mixture"); - os << dict_.subDict("mixture") << nl; - writeKeyword(os, "radiation"); os << dict_.subDict("radiation") << nl; } diff --git a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C index 7d0adcc821..d05edde07d 100644 --- a/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C +++ b/src/regionModels/thermalBaffleModels/thermalBaffle/thermalBaffle.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -154,7 +154,7 @@ thermalBaffle::thermalBaffle : thermalBaffleModel(modelType, mesh, dict), nNonOrthCorr_(solution().lookup