From 65ef2cf331ca75a12d4db2914de0b8c3a21ac6b9 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Fri, 30 Jul 2021 17:19:54 +0100 Subject: [PATCH] physicalProperties: Standardised incompressible and compressible solver fluid properties to provide a single consistent code and user interface to the specification of physical properties in both single-phase and multi-phase solvers. This redesign simplifies usage and reduces code duplication in run-time selectable solver options such as 'functionObjects' and 'fvModels'. * physicalProperties Single abstract base-class for all fluid and solid physical property classes. Physical properties for a single fluid or solid within a region are now read from the 'constant//physicalProperties' dictionary. Physical properties for a phase fluid or solid within a region are now read from the 'constant//physicalProperties.' dictionary. This replaces the previous inconsistent naming convention of 'transportProperties' for incompressible solvers and 'thermophysicalProperties' for compressible solvers. Backward-compatibility is provided by the solvers reading 'thermophysicalProperties' or 'transportProperties' if the 'physicalProperties' dictionary does not exist. * phaseProperties All multi-phase solvers (VoF and Euler-Euler) now read the list of phases and interfacial models and coefficients from the 'constant//phaseProperties' dictionary. Backward-compatibility is provided by the solvers reading 'thermophysicalProperties' or 'transportProperties' if the 'phaseProperties' dictionary does not exist. For incompressible VoF solvers the 'transportProperties' is automatically upgraded to 'phaseProperties' and the two 'physicalProperties.' dictionary for the phase properties. * viscosity Abstract base-class (interface) for all fluids. Having a single interface for the viscosity of all types of fluids facilitated a substantial simplification of the 'momentumTransport' library, avoiding the need for a layer of templating and providing total consistency between incompressible/compressible and single-phase/multi-phase laminar, RAS and LES momentum transport models. This allows the generalised Newtonian viscosity models to be used in the same form within laminar as well as RAS and LES momentum transport closures in any solver. Strain-rate dependent viscosity modelling is particularly useful with low-Reynolds number turbulence closures for non-Newtonian fluids where the effect of bulk shear near the walls on the viscosity is a dominant effect. Within this framework it would also be possible to implement generalised Newtonian models dependent on turbulent as well as mean strain-rate if suitable model formulations are available. * visosityModel Run-time selectable Newtonian viscosity model for incompressible fluids providing the 'viscosity' interface for 'momentumTransport' models. Currently a 'constant' Newtonian viscosity model is provided but the structure supports more complex functions of time, space and fields registered to the region database. Strain-rate dependent non-Newtonian viscosity models have been removed from this level and handled in a more general way within the 'momentumTransport' library, see section 'viscosity' above. The 'constant' viscosity model is selected in the 'physicalProperties' dictionary by viscosityModel constant; which is equivalent to the previous entry in the 'transportProperties' dictionary transportModel Newtonian; but backward-compatibility is provided for both the keyword and model type. * thermophysicalModels To avoid propagating the unnecessary constructors from 'dictionary' into the new 'physicalProperties' abstract base-class this entire structure has been removed from the 'thermophysicalModels' library. The only use for this constructor was in 'thermalBaffle' which now reads the 'physicalProperties' dictionary from the baffle region directory which is far simpler and more consistent and significantly reduces the amount of constructor code in the 'thermophysicalModels' library. * compressibleInterFoam The creation of the 'viscosity' interface for the 'momentumTransport' models allows the complex 'twoPhaseMixtureThermo' derived from 'rhoThermo' to be replaced with the much simpler 'compressibleTwoPhaseMixture' derived from the 'viscosity' interface, avoiding the myriad of unused thermodynamic functions required by 'rhoThermo' to be defined for the mixture. Same for 'compressibleMultiphaseMixture' in 'compressibleMultiphaseInterFoam'. This is a significant improvement in code and input consistency, simplifying maintenance and further development as well as enhancing usability. Henry G. Weller CFD Direct Ltd. --- .../solvers/DNS/dnsFoam/createFields.H | 2 +- ...tProperties.H => readPhysicalProperties.H} | 8 +- .../basic/laplacianFoam/createFields.H | 8 +- .../basic/scalarTransportFoam/createFields.H | 8 +- .../solvers/combustion/PDRFoam/Make/options | 2 +- .../solvers/combustion/PDRFoam/PDRFoam.C | 2 +- .../combustion/PDRFoam/PDRFoamAutoRefine.C | 2 +- .../dragModels/PDRDragModel/PDRDragModel.H | 2 +- .../PDRModels/dragModels/basic/basic.C | 11 +- .../turbulence/PDRkEpsilon/PDRkEpsilon.C | 2 +- .../turbulence/PDRkEpsilon/PDRkEpsilon.H | 4 +- .../XiModels/XiEqModels/XiEqModel/XiEqModel.H | 7 +- .../XiModels/XiGModels/XiGModel/XiGModel.H | 8 +- .../PDRFoam/XiModels/XiModel/XiModel.H | 8 +- .../solvers/combustion/PDRFoam/bEqn.H | 2 +- .../solvers/combustion/XiFoam/Make/options | 2 +- .../XiFoam/XiEngineFoam/Make/options | 2 +- .../XiFoam/XiEngineFoam/XiEngineFoam.C | 2 +- .../solvers/combustion/XiFoam/XiFoam.C | 2 +- .../solvers/combustion/chemFoam/Make/options | 2 +- .../combustion/coldEngineFoam/Make/options | 2 +- .../coldEngineFoam/coldEngineFoam.C | 2 +- .../combustion/reactingFoam/Make/options | 2 +- .../buoyantReactingFoam/Make/options | 2 +- .../buoyantReactingFoam/buoyantReactingFoam.C | 2 +- .../reactingFoam/engineFoam/Make/options | 2 +- .../reactingFoam/engineFoam/engineFoam.C | 2 +- .../combustion/reactingFoam/reactingFoam.C | 2 +- .../rhoCentralFoam/BCs/Make/options | 2 +- .../T/smoluchowskiJumpTFvPatchScalarField.C | 4 +- .../compressible/rhoCentralFoam/Make/options | 2 +- .../rhoCentralFoam/rhoCentralFoam.C | 4 +- .../compressible/rhoPimpleFoam/Make/options | 2 +- .../rhoPimpleFoam/rhoPimpleFoam.C | 2 +- .../compressible/rhoSimpleFoam/Make/options | 2 +- .../rhoPorousSimpleFoam/Make/options | 2 +- .../rhoPorousSimpleFoam/rhoPorousSimpleFoam.C | 2 +- .../rhoSimpleFoam/rhoSimpleFoam.C | 2 +- .../magneticFoam/createFields.H | 10 +- .../electromagnetics/mhdFoam/createFields.H | 14 +- .../buoyantPimpleFoam/Make/options | 2 +- .../buoyantPimpleFoam/buoyantPimpleFoam.C | 2 +- .../buoyantSimpleFoam/Make/options | 2 +- .../buoyantSimpleFoam/buoyantSimpleFoam.C | 2 +- .../chtMultiRegionFoam/Make/options | 2 +- .../chtMultiRegionFoam/chtMultiRegionFoam.C | 2 +- .../heatTransfer/thermoFoam/Make/options | 2 +- .../heatTransfer/thermoFoam/thermoFoam.C | 2 +- .../adjointShapeOptimisationFoam/Make/options | 4 +- .../adjointShapeOptimisationFoam.C | 8 +- .../createFields.H | 8 +- .../incompressible/boundaryFoam/Make/options | 4 +- .../boundaryFoam/boundaryFoam.C | 6 +- .../boundaryFoam/createFields.H | 6 +- .../incompressible/icoFoam/createFields.H | 8 +- .../nonNewtonianIcoFoam/Make/files | 3 - .../nonNewtonianIcoFoam/Make/options | 9 - .../nonNewtonianIcoFoam/createFields.H | 40 - .../nonNewtonianIcoFoam/nonNewtonianIcoFoam.C | 132 ---- .../incompressible/pimpleFoam/Make/options | 4 +- .../pimpleFoam/SRFPimpleFoam/Make/options | 4 +- .../pimpleFoam/SRFPimpleFoam/SRFPimpleFoam.C | 6 +- .../pimpleFoam/SRFPimpleFoam/createFields.H | 5 +- .../incompressible/pimpleFoam/createFields.H | 4 +- .../incompressible/pimpleFoam/pimpleFoam.C | 6 +- .../incompressible/pisoFoam/Make/options | 4 +- .../incompressible/pisoFoam/createFields.H | 4 +- .../incompressible/pisoFoam/pisoFoam.C | 6 +- .../incompressible/simpleFoam/Make/options | 4 +- .../simpleFoam/SRFSimpleFoam/Make/options | 4 +- .../simpleFoam/SRFSimpleFoam/SRFSimpleFoam.C | 6 +- .../simpleFoam/SRFSimpleFoam/createFields.H | 5 +- .../incompressible/simpleFoam/createFields.H | 6 +- .../simpleFoam/porousSimpleFoam/Make/options | 4 +- .../porousSimpleFoam/porousSimpleFoam.C | 6 +- .../incompressible/simpleFoam/simpleFoam.C | 6 +- .../lagrangian/denseParticleFoam/Make/options | 4 +- .../denseParticleFoam/createFields.H | 10 +- .../denseParticleFoam/denseParticleFoam.C | 8 +- .../lagrangian/particleFoam/Make/options | 4 +- .../lagrangian/particleFoam/createFields.H | 14 +- .../lagrangian/particleFoam/particleFoam.C | 10 +- .../lagrangian/rhoParticleFoam/Make/options | 2 +- .../rhoParticleFoam/rhoParticleFoam.C | 2 +- .../multiphase/cavitatingFoam/Make/options | 2 +- .../cavitatingFoam/cavitatingFoam.C | 2 +- .../multiphase/cavitatingFoam/createFields.H | 2 +- .../compressibleInterFoam/Allwclean | 2 +- .../multiphase/compressibleInterFoam/Allwmake | 2 +- .../compressibleInterFoam/Make/options | 7 +- .../VoFClouds/Make/options | 8 +- .../VoFClouds/VoFClouds.C | 6 +- .../VoFSolidificationMeltingSource.C | 108 ++- .../VoFSolidificationMeltingSource.H | 10 +- .../VoFSurfaceFilm/Make/options | 8 +- .../VoFPatchTransfer/VoFPatchTransfer.C | 8 +- .../VoFSurfaceFilm/VoFSurfaceFilm.C | 4 +- .../compressibleAlphaEqnSubCycle.H | 6 +- .../Make/options | 8 +- .../compressibleInterPhaseTransportModel.C | 24 +- .../compressibleInterPhaseTransportModel.H | 14 +- .../compressibleTwoPhaseMixture/Make/files | 3 + .../Make/options | 3 +- .../compressibleTwoPhaseMixture.C | 218 ++++++ .../compressibleTwoPhaseMixture.H | 188 +++++ .../compressibleInterFoam/createFields.H | 6 +- .../surfaceTensionModels/Make/options | 2 +- .../liquidPropertiesSurfaceTension.C | 4 +- .../twoPhaseChange/Make/options | 6 +- .../twoPhaseChange/cavitation/Kunz/Kunz.C | 2 +- .../twoPhaseChange/cavitation/Kunz/Kunz.H | 4 +- .../twoPhaseChange/cavitation/Merkle/Merkle.C | 2 +- .../twoPhaseChange/cavitation/Merkle/Merkle.H | 4 +- .../cavitation/SchnerrSauer/SchnerrSauer.C | 2 +- .../cavitation/SchnerrSauer/SchnerrSauer.H | 4 +- .../cavitationModel/cavitationModel.C | 2 +- .../cavitationModel/cavitationModel.H | 4 +- .../noPhaseChange/noPhaseChange.C | 2 +- .../noPhaseChange/noPhaseChange.H | 4 +- .../twoPhaseChangeModel/twoPhaseChangeModel.C | 4 +- .../twoPhaseChangeModel/twoPhaseChangeModel.H | 14 +- .../twoPhaseChangeModelNew.C | 2 +- .../twoPhaseMixtureThermo/Make/files | 3 - .../twoPhaseMixtureThermo.C | 526 ------------- .../twoPhaseMixtureThermo.H | 382 --------- .../compressibleMultiphaseInterFoam/Allwclean | 2 +- .../compressibleMultiphaseInterFoam/Allwmake | 2 +- .../Make/options | 6 +- .../compressibleMultiphaseInterFoam/TEqn.H | 2 +- .../compressibleMultiphaseInterFoam.C | 4 +- .../compressibleMultiphaseMixture/Make/files | 5 + .../Make/options | 2 +- .../alphaContactAngleFvPatchScalarField.C | 0 .../alphaContactAngleFvPatchScalarField.H | 8 +- .../compressibleMultiphaseMixture.C} | 730 ++---------------- .../compressibleMultiphaseMixture.H | 301 ++++++++ .../phaseModel/phaseModel.C | 2 +- .../phaseModel/phaseModel.H | 2 +- .../createFields.H | 4 +- .../multiphaseMixtureThermo/Make/files | 5 - .../multiphaseMixtureThermo.H | 490 ------------ .../multiphase/driftFluxFoam/Make/options | 2 +- .../multiphase/driftFluxFoam/driftFluxFoam.C | 2 +- ...incompressibleTwoPhaseInteractingMixture.C | 66 +- ...incompressibleTwoPhaseInteractingMixture.H | 20 +- .../BinghamPlastic/BinghamPlastic.C | 42 +- .../BinghamPlastic/BinghamPlastic.H | 27 +- .../mixtureViscosityModels/Make/options | 4 +- .../mixtureViscosityModel.C | 23 +- .../mixtureViscosityModel.H | 70 +- .../mixtureViscosityModelNew.C | 21 +- .../mixtureViscosityModels/plastic/plastic.C | 49 +- .../mixtureViscosityModels/plastic/plastic.H | 21 +- .../mixtureViscosityModels/slurry/slurry.C | 30 +- .../mixtureViscosityModels/slurry/slurry.H | 25 +- .../relativeVelocityModels/Make/options | 4 +- .../solvers/multiphase/interFoam/Allwclean | 9 + .../solvers/multiphase/interFoam/Allwmake | 12 + .../solvers/multiphase/interFoam/Make/options | 6 +- .../solvers/multiphase/interFoam/UEqn.H | 2 +- .../multiphase/interFoam/createFieldRefs.H | 5 + .../multiphase/interFoam/createFields.H | 32 +- .../Make/files | 3 + .../Make/options | 21 + .../incompressibleInterPhaseTransportModel.C | 165 ++++ .../incompressibleInterPhaseTransportModel.H | 140 ++++ .../solvers/multiphase/interFoam/interFoam.C | 9 +- .../interFoam/interMixingFoam/Make/options | 4 +- .../incompressibleThreePhaseMixture.C | 61 +- .../incompressibleThreePhaseMixture.H | 6 +- .../interMixingFoam/interMixingFoam.C | 2 +- .../functionObjects/Make/options | 2 +- .../interfacialCompositionModels/Make/options | 2 +- .../interfaceCompositionModel.C | 10 +- .../interfacialModels/Make/options | 2 +- .../turbulentDispersionModels/Burns/Burns.C | 2 +- .../turbulentDispersionModels/Gosman/Gosman.C | 2 +- .../LopezDeBertodano/LopezDeBertodano.C | 2 +- .../constantTurbulentDispersionCoefficient.C | 2 +- .../turbulentDispersionModel.C | 2 +- .../turbulentDispersionModel.H | 2 +- .../Make/options | 2 +- ...ayatillekeWallFunctionFvPatchScalarField.C | 10 +- ...allBoilingWallFunctionFvPatchScalarField.C | 12 +- ...ixedMultiPhaseHeatFluxFvPatchScalarField.C | 6 +- ...ocamustafaogullariIshiiDepartureDiameter.C | 6 +- .../departureFrequencyModels/Cole/Cole.C | 6 +- ...camustafaogullariIshiiDepartureFrequency.C | 6 +- .../conductivityModel/conductivityModelNew.C | 10 +- .../kineticTheoryModel/kineticTheoryModel.C | 6 +- .../kineticTheoryModel/kineticTheoryModel.H | 4 +- .../kineticTheoryViscosityModelNew.C | 8 +- ...phaseCompressibleMomentumTransportModels.C | 6 +- .../phasePressureModel/phasePressureModel.C | 4 +- .../phasePressureModel/phasePressureModel.H | 4 +- .../multiphaseEulerFoam/Make/options | 2 +- .../multiphaseEulerFoam/multiphaseEulerFoam.C | 2 +- .../multiphaseSystems/Make/options | 2 +- .../multiphaseReactions/Make/options | 2 +- .../phaseSystems/Make/options | 2 +- .../IATE/IATEsources/IATEsource/IATEsource.C | 2 +- .../MovingPhaseModel/MovingPhaseModel.H | 2 +- .../ThermoPhaseModel/ThermoPhaseModel.C | 2 +- .../ThermoPhaseModel/ThermoPhaseModel.H | 2 +- .../LehrMilliesMewes/LehrMilliesMewes.C | 2 +- .../LuoSvendsen/LuoSvendsen.C | 2 +- .../breakupModels/Laakkonen/Laakkonen.C | 2 +- .../CoulaloglouTavlarides.C | 2 +- .../LehrMilliesMewesCoalescence.C | 2 +- .../coalescenceModels/Luo/Luo.C | 2 +- .../PrinceBlanch/PrinceBlanch.C | 2 +- .../turbulentShear/turbulentShear.C | 2 +- .../populationBalanceModel.C | 2 +- .../populationBalanceModel.H | 2 +- .../multiphaseInterFoam/Make/options | 4 +- .../multiphaseInterFoam/multiphaseInterFoam.C | 2 +- .../multiphaseMixture/Make/options | 4 +- .../multiphaseMixture/multiphaseMixture.C | 15 +- .../multiphaseMixture/multiphaseMixture.H | 8 +- .../multiphaseMixture/phase/phase.C | 30 +- .../multiphaseMixture/phase/phase.H | 10 +- .../potentialFreeSurfaceFoam/Make/options | 4 +- .../potentialFreeSurfaceFoam/createFields.H | 5 +- .../potentialFreeSurfaceFoam.C | 6 +- .../twoLiquidMixingFoam/Make/options | 2 +- .../twoLiquidMixingFoam/createFields.H | 2 +- .../twoLiquidMixingFoam/twoLiquidMixingFoam.C | 2 +- .../solidDisplacementFoam/Make/options | 2 +- ...nDisplacementFvPatchVectorFieldTemplates.C | 4 +- .../solidDisplacementThermo/Make/options | 2 +- .../Make/options | 2 +- ...DisplacementCorrectionFvPatchVectorField.C | 2 +- applications/test/Function1/table.dat | 51 ++ .../dataConversion/foamToGMV/Make/options | 2 +- .../miscellaneous/postChannel/postChannel.C | 4 +- ...tProperties.H => readPhysicalProperties.H} | 4 +- .../postProcessing/postProcess/Make/options | 4 +- .../applyBoundaryLayer/Make/options | 4 +- .../applyBoundaryLayer/applyBoundaryLayer.C | 8 +- .../dynamicCode/basicChemistryModel | 2 +- .../dynamicCode/fluidReactionThermo | 2 +- etc/codeTemplates/dynamicCode/fluidThermo | 2 +- etc/codeTemplates/dynamicCode/psiThermo | 2 +- .../dynamicCode/psiuReactionThermo | 2 +- src/Allwmake | 2 +- .../CompressibleMomentumTransportModel.C | 95 --- .../CompressibleMomentumTransportModel.H | 170 ---- .../compressible/Make/files | 2 +- .../compressible/Make/options | 4 +- .../RAS/buoyantKEpsilon/buoyantKEpsilon.C | 6 +- .../RAS/buoyantKEpsilon/buoyantKEpsilon.H | 5 +- .../compressibleMomentumTransportModel.C | 43 +- .../compressibleMomentumTransportModel.H | 91 ++- ...ressibleMomentumTransportModelTemplates.C} | 13 +- ... => compressibleMomentumTransportModels.C} | 6 +- ... => compressibleMomentumTransportModels.H} | 29 +- ... makeCompressibleMomentumTransportModel.H} | 26 +- .../IncompressibleMomentumTransportModel.C | 155 ---- .../IncompressibleMomentumTransportModel.H | 151 ---- .../incompressible/Make/files | 14 +- .../incompressible/Make/options | 4 +- .../RAS/LamBremhorstKE/LamBremhorstKE.C | 6 +- .../RAS/LamBremhorstKE/LamBremhorstKE.H | 6 +- .../RAS/LienCubicKE/LienCubicKE.C | 6 +- .../RAS/LienCubicKE/LienCubicKE.H | 6 +- .../RAS/LienLeschziner/LienLeschziner.C | 6 +- .../RAS/LienLeschziner/LienLeschziner.H | 6 +- .../RAS/ShihQuadraticKE/ShihQuadraticKE.C | 6 +- .../RAS/ShihQuadraticKE/ShihQuadraticKE.H | 6 +- .../RAS/kkLOmega/kkLOmega.C | 6 +- .../RAS/kkLOmega/kkLOmega.H | 6 +- .../RAS/qZeta/qZeta.C | 6 +- .../RAS/qZeta/qZeta.H | 6 +- .../incompressibleMomentumTransportModel.C | 90 ++- .../incompressibleMomentumTransportModel.H | 124 ++- ...ressibleMomentumTransportModelTemplates.C} | 15 +- ...> incompressibleMomentumTransportModels.C} | 6 +- ...> incompressibleMomentumTransportModels.H} | 29 +- ...akeIncompressibleMomentumTransportModel.H} | 22 +- .../Base/kOmegaSST/kOmegaSSTBase.C | 10 +- .../Base/kOmegaSST/kOmegaSSTBase.H | 5 +- .../DeardorffDiffStress/DeardorffDiffStress.C | 4 +- .../DeardorffDiffStress/DeardorffDiffStress.H | 3 +- .../LES/LESModel/LESModel.C | 30 +- .../LES/LESModel/LESModel.H | 73 +- .../LES/LESeddyViscosity/LESeddyViscosity.C | 6 +- .../LES/LESeddyViscosity/LESeddyViscosity.H | 5 +- .../LES/Smagorinsky/Smagorinsky.C | 4 +- .../LES/Smagorinsky/Smagorinsky.H | 5 +- .../SpalartAllmarasDDES/SpalartAllmarasDDES.C | 6 +- .../SpalartAllmarasDDES/SpalartAllmarasDDES.H | 5 +- .../SpalartAllmarasDES/SpalartAllmarasDES.C | 4 +- .../SpalartAllmarasDES/SpalartAllmarasDES.H | 5 +- .../SpalartAllmarasIDDES.C | 6 +- .../SpalartAllmarasIDDES.H | 5 +- .../momentumTransportModels/LES/WALE/WALE.C | 4 +- .../momentumTransportModels/LES/WALE/WALE.H | 5 +- .../LES/dynamicKEqn/dynamicKEqn.C | 4 +- .../LES/dynamicKEqn/dynamicKEqn.H | 5 +- .../LES/dynamicLagrangian/dynamicLagrangian.C | 4 +- .../LES/dynamicLagrangian/dynamicLagrangian.H | 5 +- .../momentumTransportModels/LES/kEqn/kEqn.C | 4 +- .../momentumTransportModels/LES/kEqn/kEqn.H | 5 +- .../LES/kOmegaSSTDES/kOmegaSSTDES.C | 6 +- .../LES/kOmegaSSTDES/kOmegaSSTDES.H | 5 +- .../momentumTransportModels/Make/files | 17 +- .../momentumTransportModels/Make/options | 1 + .../MomentumTransportModel.C | 133 ---- .../MomentumTransportModel.H | 171 ---- .../momentumTransportModels/RAS/LRR/LRR.C | 4 +- .../momentumTransportModels/RAS/LRR/LRR.H | 3 +- .../RAS/LaunderSharmaKE/LaunderSharmaKE.C | 4 +- .../RAS/LaunderSharmaKE/LaunderSharmaKE.H | 5 +- .../RAS/RASModel/RASModel.C | 30 +- .../RAS/RASModel/RASModel.H | 103 +-- .../RAS/RNGkEpsilon/RNGkEpsilon.C | 4 +- .../RAS/RNGkEpsilon/RNGkEpsilon.H | 3 +- .../momentumTransportModels/RAS/SSG/SSG.C | 4 +- .../momentumTransportModels/RAS/SSG/SSG.H | 3 +- .../RAS/SpalartAllmaras/SpalartAllmaras.C | 4 +- .../RAS/SpalartAllmaras/SpalartAllmaras.H | 5 +- .../RAS/kEpsilon/kEpsilon.C | 4 +- .../RAS/kEpsilon/kEpsilon.H | 5 +- .../RAS/kOmega/kOmega.C | 10 +- .../RAS/kOmega/kOmega.H | 9 +- .../RAS/kOmega2006/kOmega2006.C | 4 +- .../RAS/kOmega2006/kOmega2006.H | 3 +- .../RAS/kOmegaSST/kOmegaSST.C | 6 +- .../RAS/kOmegaSST/kOmegaSST.H | 5 +- .../RAS/kOmegaSSTLM/kOmegaSSTLM.C | 4 +- .../RAS/kOmegaSSTLM/kOmegaSSTLM.H | 3 +- .../RAS/kOmegaSSTSAS/kOmegaSSTSAS.C | 6 +- .../RAS/kOmegaSSTSAS/kOmegaSSTSAS.H | 5 +- .../RAS/realizableKE/realizableKE.C | 4 +- .../RAS/realizableKE/realizableKE.H | 5 +- .../momentumTransportModels/RAS/v2f/v2f.C | 4 +- .../momentumTransportModels/RAS/v2f/v2f.H | 5 +- .../ReynoldsStress/ReynoldsStress.C | 4 +- .../ReynoldsStress/ReynoldsStress.H | 3 +- .../eddyViscosity/eddyViscosity.C | 6 +- .../eddyViscosity/eddyViscosity.H | 5 +- .../laminar/Giesekus/Giesekus.C | 6 +- .../laminar/Giesekus/Giesekus.H | 5 +- .../laminar/Maxwell/Maxwell.C | 4 +- .../laminar/Maxwell/Maxwell.H | 9 +- .../momentumTransportModels/laminar/PTT/PTT.C | 6 +- .../momentumTransportModels/laminar/PTT/PTT.H | 5 +- .../laminar/Stokes/Stokes.C | 6 +- .../laminar/Stokes/Stokes.H | 7 +- .../generalisedNewtonian.C | 41 +- .../generalisedNewtonian.H | 15 +- .../Newtonian/NewtonianViscosityModel.C} | 49 +- .../Newtonian/NewtonianViscosityModel.H} | 81 +- .../generalisedNewtonianViscosityModel.C | 9 +- .../generalisedNewtonianViscosityModel.H | 46 +- .../generalisedNewtonianViscosityModelNew.C | 7 +- .../BirdCarreau/BirdCarreau.C | 10 +- .../BirdCarreau/BirdCarreau.H | 12 +- .../Casson/Casson.C | 10 +- .../Casson/Casson.H | 13 +- .../CrossPowerLaw/CrossPowerLaw.C | 10 +- .../CrossPowerLaw/CrossPowerLaw.H | 12 +- .../HerschelBulkley/HerschelBulkley.C | 10 +- .../HerschelBulkley/HerschelBulkley.H | 12 +- .../powerLaw/powerLaw.C | 10 +- .../powerLaw/powerLaw.H | 12 +- .../strainRateFunction/strainRateFunction.C | 13 +- .../strainRateFunction/strainRateFunction.H | 15 +- .../strainRateViscosityModel.C} | 95 ++- .../strainRateViscosityModel.H | 144 ++++ .../lambdaThixotropic/lambdaThixotropic.C | 4 +- .../lambdaThixotropic/lambdaThixotropic.H | 5 +- .../laminar/laminarModel/laminarModel.C | 10 +- .../laminar/laminarModel/laminarModel.H | 15 +- .../linearViscousStress/linearViscousStress.C | 6 +- .../linearViscousStress/linearViscousStress.H | 5 +- .../makeMomentumTransportModel.H | 56 +- .../momentumTransportModel.C | 6 +- .../momentumTransportModel.H | 62 +- .../momentumTransportModelTemplates.C | 78 ++ .../nonlinearEddyViscosity.C | 6 +- .../nonlinearEddyViscosity.H | 5 +- .../phaseCompressible/LES/Niceno/NicenoKEqn.C | 30 +- .../phaseCompressible/LES/Niceno/NicenoKEqn.H | 17 +- .../LES/SmagorinskyZhang/SmagorinskyZhang.C | 20 +- .../LES/SmagorinskyZhang/SmagorinskyZhang.H | 17 +- .../LES/continuousGasKEqn/continuousGasKEqn.C | 6 +- .../LES/continuousGasKEqn/continuousGasKEqn.H | 5 +- .../phaseCompressible/Make/files | 3 +- .../phaseCompressible/Make/options | 4 +- .../RAS/LaheyKEpsilon/LaheyKEpsilon.C | 34 +- .../RAS/LaheyKEpsilon/LaheyKEpsilon.H | 17 +- .../continuousGasKEpsilon.C | 10 +- .../continuousGasKEpsilon.H | 5 +- .../RAS/kOmegaSSTSato/kOmegaSSTSato.C | 6 +- .../RAS/kOmegaSSTSato/kOmegaSSTSato.H | 5 +- .../RAS/mixtureKEpsilon/mixtureKEpsilon.C | 16 +- .../RAS/mixtureKEpsilon/mixtureKEpsilon.H | 5 +- ...PhaseCompressibleMomentumTransportModel.H} | 15 +- ...phaseCompressibleMomentumTransportModel.C} | 99 ++- ...phaseCompressibleMomentumTransportModel.H} | 136 ++-- ...ressibleMomentumTransportModelTemplates.C} | 13 +- ...haseCompressibleMomentumTransportModels.C} | 6 +- ...haseCompressibleMomentumTransportModels.H} | 31 +- .../phaseIncompressible/Make/files | 3 +- .../phaseIncompressible/Make/options | 4 +- ...aseIncompressibleMomentumTransportModel.H} | 24 +- ...aseIncompressibleMomentumTransportModel.C} | 90 +-- ...aseIncompressibleMomentumTransportModel.H} | 97 ++- ...ressibleMomentumTransportModelTemplates.C} | 13 +- ...seIncompressibleMomentumTransportModels.C} | 6 +- ...seIncompressibleMomentumTransportModels.H} | 31 +- .../db/regIOobject/regIOobjectWrite.C | 6 +- .../fileOperation/fileOperation.C | 10 +- src/OpenFOAM/include/listOptions.H | 4 +- src/OpenFOAM/include/listOutput.H | 4 +- .../Make/options | 2 +- ...ayatillekeWallFunctionFvPatchScalarField.C | 8 +- ...convectiveHeatTransferFvPatchScalarField.C | 10 +- ...oupledTemperatureMixedFvPatchScalarField.C | 2 +- .../temperatureCoupledBase.C | 8 +- .../fluidReactionThermo/Make/options | 2 +- ...luidReactionThermophysicalTransportModel.H | 2 +- ...uidReactionThermophysicalTransportModels.C | 2 +- ...uidReactionThermophysicalTransportModels.H | 13 +- .../fluidThermophysicalTransportModel.H | 2 +- .../fluidThermophysicalTransportModels.C | 2 +- .../fluidThermophysicalTransportModels.H | 13 +- .../phaseFluidReactionThermo/Make/options | 2 +- ...luidReactionThermophysicalTransportModel.H | 2 +- ...uidReactionThermophysicalTransportModels.C | 2 +- ...uidReactionThermophysicalTransportModels.H | 12 +- .../phaseFluidThermo/Make/options | 2 +- .../phaseFluidThermophysicalTransportModel.H | 2 +- .../phaseFluidThermophysicalTransportModels.C | 2 +- .../phaseFluidThermophysicalTransportModels.H | 12 +- .../makeThermophysicalTransportModel.H | 4 +- src/atmosphericModels/Make/options | 4 +- .../atmosphericTurbulentTransportModels.C | 4 +- .../kEpsilonLopesdaCosta.C | 4 +- .../kEpsilonLopesdaCosta.H | 5 +- src/combustionModels/EDC/EDC.C | 22 +- src/combustionModels/Make/options | 2 +- src/combustionModels/PaSR/PaSR.C | 9 +- .../combustionModel/combustionModel.H | 2 +- src/combustionModels/diffusion/diffusion.C | 4 +- src/functionObjects/field/MachNo/MachNo.C | 6 +- src/functionObjects/field/Make/options | 6 +- src/functionObjects/field/age/age.C | 13 +- .../field/shearStress/shearStress.C | 4 +- .../field/totalEnthalpy/totalEnthalpy.C | 4 +- .../field/turbulenceFields/turbulenceFields.C | 24 +- .../field/turbulenceFields/turbulenceFields.H | 8 +- .../field/wallHeatFlux/wallHeatFlux.C | 4 +- .../wallHeatTransferCoeff.C | 11 +- .../ReynoldsAnalogy/ReynoldsAnalogy.C | 4 +- .../kappaEff/kappaEff.C | 2 +- .../wallHeatTransferCoeffModel.C | 2 +- .../wallHeatTransferCoeffModel.H | 4 +- .../field/wallShearStress/wallShearStress.C | 4 +- src/functionObjects/forces/Make/options | 4 +- src/functionObjects/forces/forces/forces.C | 32 +- src/functionObjects/lagrangian/Make/options | 4 +- .../lagrangian/particles/particles.C | 14 +- .../lagrangian/particles/particles.H | 10 +- src/functionObjects/solvers/Make/options | 4 +- .../phaseScalarTransport.C | 22 +- .../solvers/scalarTransport/scalarTransport.C | 55 +- src/fvConstraints/Make/options | 2 +- .../fixedTemperatureConstraint.C | 4 +- .../limitTemperature/limitTemperature.C | 4 +- src/fvModels/Make/options | 2 +- .../derived/buoyancyEnergy/buoyancyEnergy.C | 2 +- .../effectivenessHeatExchangerSource.C | 4 +- src/fvModels/derived/heatSource/heatSource.C | 2 +- .../derived/heatTransfer/heatTransfer.C | 4 +- src/fvModels/derived/massSource/massSource.C | 6 +- .../solidEquilibriumEnergySource.C | 4 +- .../solidificationMeltingSource.C | 4 +- .../volumeFractionSource.C | 2 +- .../interRegionHeatTransfer.C | 4 +- src/lagrangian/parcel/Make/options | 4 +- src/lagrangian/parcel/fvModels/clouds.C | 2 +- src/lagrangian/parcelTurbulence/Make/options | 4 +- src/physicalProperties/Make/files | 7 + .../Make/options | 0 .../physicalProperties/physicalProperties.C | 124 +++ .../physicalProperties/physicalProperties.H} | 49 +- .../viscosity/viscosity.C} | 17 +- .../viscosity/viscosity.H} | 32 +- .../constant/constantViscosityModel.C} | 59 +- .../constant/constantViscosityModel.H} | 33 +- .../viscosityModel/viscosityModel.C} | 18 +- .../viscosityModel/viscosityModel.H | 70 +- .../viscosityModel/viscosityModelNew.C | 33 +- src/radiationModels/Make/options | 2 +- .../greyMean/greyMean.C | 4 +- .../wideBand/wideBand.C | 4 +- .../fvModels/radiation/radiation.C | 6 +- .../createIncompressibleRadiationModel.H | 8 +- .../surfaceFilmModels/Make/options | 2 +- ...alphatFilmWallFunctionFvPatchScalarField.C | 8 +- .../nutkFilmWallFunctionFvPatchScalarField.C | 2 +- .../surfaceFilmModels/fvModels/surfaceFilm.C | 2 +- .../kinematicSingleLayer.C | 9 +- .../kinematicSingleLayer.H | 2 + .../thermoSingleLayer/thermoSingleLayer.C | 3 +- .../thermoSingleLayer/thermoSingleLayer.H | 2 - .../thermalBaffleModels/Make/options | 2 +- .../thermalBaffleFvPatchScalarField.C | 6 - .../thermalBaffle/thermalBaffle.C | 4 +- src/specieTransfer/Make/options | 2 +- ...adsorptionMassFractionFvPatchScalarField.C | 4 +- ...ableBaffleMassFractionFvPatchScalarField.C | 4 +- ...ieTransferMassFractionFvPatchScalarField.C | 4 +- ...cieTransferTemperatureFvPatchScalarField.C | 6 +- .../Chung/Chung.H | 4 +- .../Wallis/Wallis.H | 4 +- .../linear/linear.H | 4 +- src/thermophysicalModels/basic/Make/options | 4 +- .../basic/basicThermo/basicThermo.C | 71 +- .../basic/basicThermo/basicThermo.H | 24 +- .../basic/basicThermo/basicThermoTemplates.C | 31 +- .../basic/fluidThermo/fluidThermo.C | 13 +- .../basic/fluidThermo/fluidThermo.H | 10 +- .../basic/heThermo/heThermo.C | 69 +- .../basic/heThermo/heThermo.H | 10 +- .../basic/rhoThermo/rhoThermo.C | 51 -- .../basic/rhoThermo/rhoThermo.H | 3 - .../chemistryModel/Make/options | 2 +- .../laminarFlameSpeed/Make/options | 2 +- .../reactionThermo/Make/options | 2 +- .../fixedUnburntEnthalpyFvPatchScalarField.C | 2 +- ...radientUnburntEnthalpyFvPatchScalarField.C | 2 +- .../mixedUnburntEnthalpyFvPatchScalarField.C | 2 +- .../moleFractions/moleFractions.C | 6 +- .../solidThermo/Make/options | 2 +- .../solidThermo/makeSolidThermo.H | 5 +- .../solidThermo/solidThermo/heSolidThermo.C | 17 +- .../solidThermo/solidThermo/heSolidThermo.H | 10 +- .../solidThermo/solidThermo/solidThermo.C | 19 +- .../solidThermo/solidThermo/solidThermo.H | 30 - src/transportModels/Make/files | 16 - .../singlePhaseTransportModel.H | 119 --- .../viscosityModels/BirdCarreau/BirdCarreau.C | 116 --- .../viscosityModels/BirdCarreau/BirdCarreau.H | 136 ---- .../viscosityModels/Casson/Casson.C | 126 --- .../viscosityModels/Casson/Casson.H | 159 ---- .../CrossPowerLaw/CrossPowerLaw.C | 112 --- .../CrossPowerLaw/CrossPowerLaw.H | 131 ---- .../HerschelBulkley/HerschelBulkley.C | 125 --- .../HerschelBulkley/HerschelBulkley.H | 132 ---- .../viscosityModels/powerLaw/powerLaw.C | 124 --- .../strainRateFunction/strainRateFunction.C | 141 ---- .../strainRateFunction/strainRateFunction.H | 131 ---- .../Make/options | 4 +- .../immiscibleIncompressibleTwoPhaseMixture.C | 3 +- .../immiscibleIncompressibleTwoPhaseMixture.H | 6 +- .../Make/options | 2 +- .../incompressibleTwoPhaseMixture.C | 120 +-- .../incompressibleTwoPhaseMixture.H | 30 +- .../interfaceProperties/interfaceProperties.C | 93 ++- .../interfaceProperties/interfaceProperties.H | 23 +- .../twoPhaseChange/Make/options | 2 +- .../twoPhaseChange/cavitation/Kunz/Kunz.H | 2 +- .../twoPhaseChange/cavitation/Merkle/Merkle.H | 2 +- .../cavitation/SchnerrSauer/SchnerrSauer.H | 2 +- .../cavitationModel/cavitationModel.H | 2 +- .../noPhaseChange/noPhaseChange.H | 2 +- .../twoPhaseChangeModel/twoPhaseChangeModel.H | 2 +- .../twoPhaseMixture/Make/options | 1 + .../twoPhaseMixture/VoF/alphaEqn.H | 28 +- .../twoPhaseMixture/VoF/alphaEqnSubCycle.H | 2 +- .../twoPhaseMixture/VoF/createAlphaFluxes.H | 12 +- .../twoPhaseMixture/twoPhaseMixture.C | 161 +++- .../twoPhaseMixture/twoPhaseMixture.H | 29 +- .../system/continuity | 2 +- .../waterEvaporation/system/continuity | 2 +- .../waterEvaporation/system/continuity | 2 +- ...transportProperties => physicalProperties} | 2 +- ...transportProperties => physicalProperties} | 2 +- ...transportProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- tutorials/combustion/XiFoam/RAS/Allrun | 8 +- ...ophysicalProperties => physicalProperties} | 2 +- ...s.hydrogen => physicalProperties.hydrogen} | 2 +- .../constant/physicalProperties} | 2 +- .../wallFilmRegion/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../wallFilmRegion/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../wallFilmRegion/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../constant/wallFilm/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../nc7h16/constant/physicalProperties | 32 + .../nc7h16/constant/thermophysicalProperties | 32 - ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../filter/constant/physicalProperties | 41 + .../filter/constant/thermophysicalProperties | 41 - ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../SandiaD_LTS/constant/physicalProperties} | 2 +- .../membrane/constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../forwardStep/constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...perties.solid => physicalProperties.solid} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../forwardStep/constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...transportProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../BernardCells/constant/transportProperties | 34 - .../hotRoom/constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../3DBaffle/3DTemperatureMasterBafflePatches | 4 +- .../0.orig/include/3DBaffle/3DbaffleRadiation | 16 + .../include/3DBaffle/3DbaffleSolidThermo | 49 -- .../include/3DBaffle/physicalProperties | 51 ++ .../0.orig/include/baffle3DSetup | 6 - .../circuitBoardCooling/Allrun | 5 + ...ophysicalProperties => physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../constant/solid/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../materials/copper/physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- .../constant/tube/physicalProperties | 1 + .../constant/tube/thermophysicalProperties | 1 - .../rotor2D/constant/physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- .../constant/momentumTransport | 15 + .../constant/physicalProperties | 22 + .../constant/transportProperties | 29 - ...transportProperties => physicalProperties} | 4 +- .../boundaryWallFunctionsProfile/Allrun | 4 +- ...transportProperties => physicalProperties} | 4 +- ...s.template => physicalProperties.template} | 4 +- .../constant/physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- ...transportProperties => physicalProperties} | 2 +- .../constant/physicalProperties} | 2 +- .../constant/transportProperties | 35 - .../offsetCylinder/system/blockMeshDict | 213 ----- ...transportProperties => physicalProperties} | 4 +- .../TJunction/constant/physicalProperties} | 4 +- .../constant/physicalProperties} | 4 +- .../TJunctionFan/constant/transportProperties | 21 - ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- .../pitzDaily/constant/physicalProperties} | 4 +- .../pitzDaily/constant/transportProperties | 21 - .../pitzDailyLTS/constant/physicalProperties | 21 + .../pitzDailyLTS/constant/transportProperties | 21 - ...transportProperties => physicalProperties} | 4 +- .../constant/physicalProperties} | 7 +- .../constant/physicalProperties} | 6 +- .../constant/transportProperties | 21 - .../constant/physicalProperties | 21 + .../constant/transportProperties | 21 - ...transportProperties => physicalProperties} | 4 +- .../movingCone/constant/physicalProperties | 21 + .../movingCone/constant/transportProperties | 21 - ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- .../validation/WatersKing/Make/options | 4 +- .../validation/WatersKing/WatersKing.C | 6 +- .../validation/WatersKing/createFields.H | 18 +- ...transportProperties => physicalProperties} | 4 +- .../LES/pitzDaily/constant/physicalProperties | 21 + .../pitzDaily/constant/transportProperties | 21 - .../constant/physicalProperties | 21 + .../constant/transportProperties | 21 - .../RAS/cavity/constant/physicalProperties | 21 + .../RAS/cavity/constant/transportProperties | 21 - .../constant/physicalProperties | 21 + .../constant/transportProperties | 21 - ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- .../mixerVessel2D/constant/physicalProperties | 21 + .../constant/transportProperties | 21 - .../motorBike/constant/physicalProperties | 20 + .../motorBike/constant/transportProperties | 20 - ...transportProperties => physicalProperties} | 4 +- .../pitzDaily/constant/momentumTransport | 2 + .../pitzDaily/constant/physicalProperties | 21 + .../pitzDaily/constant/transportProperties | 21 - .../simpleFoam/pitzDaily/system/fvSolution | 8 + .../constant/physicalProperties | 21 + .../constant/transportProperties | 21 - ...transportProperties => physicalProperties} | 4 +- .../rotorDisk/constant/physicalProperties | 20 + .../rotorDisk/constant/transportProperties | 20 - .../turbineSiting/constant/physicalProperties | 20 + .../constant/transportProperties | 20 - .../constant/physicalProperties | 20 + .../constant/transportProperties | 20 - .../constant/physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- .../constant/physicalProperties} | 4 +- .../constant/physicalProperties} | 4 +- .../constant/physicalProperties} | 4 +- ...transportProperties => physicalProperties} | 4 +- .../constant/physicalProperties | 20 + .../constant/transportProperties | 20 - .../LES/throttle/constant/phaseProperties | 24 + .../constant/physicalProperties.vapour | 24 + .../constant/physicalProperties.water | 24 + .../LES/throttle/constant/transportProperties | 38 - .../LES/throttle3D/constant/phaseProperties | 24 + .../constant/physicalProperties.vapour | 24 + .../constant/physicalProperties.water | 24 + .../throttle3D/constant/transportProperties | 37 - .../RAS/throttle/constant/phaseProperties | 24 + .../constant/physicalProperties.vapour | 24 + .../constant/physicalProperties.water | 24 + .../RAS/throttle/constant/transportProperties | 37 - .../compressibleInterFoam/RAS/damBreak/0/T | 49 ++ .../RAS/damBreak/0/T.air | 50 ++ .../RAS/damBreak/0/T.water | 50 ++ .../compressibleInterFoam/RAS/damBreak}/0/U | 25 +- .../RAS/damBreak/0/alpha.water.orig | 50 ++ .../RAS/damBreak/0/epsilon | 55 ++ .../compressibleInterFoam/RAS/damBreak/0/k | 55 ++ .../RAS/damBreak/0/nuTilda} | 36 +- .../compressibleInterFoam/RAS/damBreak/0/nut | 54 ++ .../RAS/damBreak/0/omega | 55 ++ .../compressibleInterFoam/RAS/damBreak/0/p | 52 ++ .../RAS/damBreak/0/p_rgh | 53 ++ .../RAS/damBreak/Allclean | 9 + .../compressibleInterFoam/RAS/damBreak/Allrun | 14 + .../RAS/damBreak/constant/fvModels | 27 + .../RAS/damBreak/constant/g | 21 + .../RAS/damBreak/constant/momentumTransport | 30 + .../damBreak/constant/phaseProperties} | 2 +- .../damBreak/constant/physicalProperties.air} | 2 +- .../constant/physicalProperties.water} | 2 +- .../RAS/damBreak/system/blockMeshDict | 107 +++ .../RAS/damBreak}/system/controlDict | 17 +- .../RAS/damBreak/system/decomposeParDict} | 30 +- .../RAS/damBreak}/system/fvSchemes | 19 +- .../RAS/damBreak/system/fvSolution | 81 ++ .../RAS/damBreak/system/setFieldsDict | 35 + .../laminar/climbingRod/README | 4 +- .../constant/phaseProperties} | 2 +- .../constant/physicalProperties.air} | 2 +- ...rties.liquid => physicalProperties.liquid} | 2 +- .../constant/phaseProperties} | 2 +- ...lProperties.air => physicalProperties.air} | 2 +- .../constant/physicalProperties.liquid | 31 + .../cylinder/constant/surfaceFilmProperties | 2 + .../constant/thermophysicalProperties.liquid | 31 - .../wallFilmRegion/physicalProperties | 31 + .../wallFilmRegion/thermophysicalProperties | 31 - .../depthCharge2D/constant/phaseProperties | 27 + .../constant/physicalProperties.air} | 2 +- .../constant/physicalProperties.water | 67 ++ .../depthCharge2D/system/decomposeParDict | 42 + ...ermophysicalProperties => phaseProperties} | 2 +- .../constant/physicalProperties.air} | 2 +- ...perties.water => physicalProperties.water} | 2 +- .../constant/phaseProperties} | 0 .../constant/physicalProperties.air} | 2 +- .../constant/physicalProperties.liquid | 31 + .../constant/plateRegion/physicalProperties | 31 + .../plateRegion/thermophysicalProperties | 31 - .../constant/thermophysicalProperties.liquid | 31 - .../laminar/sloshingTank2D/0/T.air} | 38 +- .../laminar/sloshingTank2D/0/T.water} | 38 +- ...ermophysicalProperties => phaseProperties} | 2 +- .../constant/physicalProperties.air} | 2 +- ...perties.water => physicalProperties.water} | 2 +- ...ermophysicalProperties => phaseProperties} | 2 +- .../constant/physicalProperties.air | 47 ++ ...ies.mercury => physicalProperties.mercury} | 2 +- ...lProperties.oil => physicalProperties.oil} | 2 +- ...perties.water => physicalProperties.water} | 2 +- .../RAS/dahl/constant/phaseProperties | 30 + .../dahl/constant/physicalProperties.sludge} | 26 +- .../dahl/constant/physicalProperties.water | 23 + .../RAS/dahl/constant/transportProperties | 57 -- .../mixerVessel2D/constant/phaseProperties | 30 + .../constant/physicalProperties.sludge} | 26 +- .../constant/physicalProperties.water | 23 + .../constant/transportProperties | 57 -- .../RAS/tank3D/constant/phaseProperties | 29 + .../constant/physicalProperties.sludge} | 26 +- .../tank3D/constant/physicalProperties.water | 23 + .../RAS/tank3D/constant/transportProperties | 56 -- .../LES/nozzleFlow2D/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.fuel | 24 + .../RAS/DTCHull/constant/phaseProperties | 22 + .../DTCHull/constant/physicalProperties.air | 24 + .../DTCHull/constant/physicalProperties.water | 24 + .../DTCHullMoving/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 35 - .../RAS/DTCHullWave/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../DTCHullWave/constant/transportProperties | 35 - .../RAS/angledDuct/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../interFoam/RAS/damBreak/damBreak/0/omega | 51 ++ .../RAS/damBreak/damBreak/constant/fvModels | 27 + .../damBreak/constant/momentumTransport | 1 + .../damBreak/constant/phaseProperties | 22 + .../damBreak/constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../RAS/damBreak/damBreak/system/fvSchemes | 1 + .../RAS/damBreak/damBreak/system/fvSolution | 2 +- .../constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../floatingObject/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 36 - .../mixerVesselAMI/constant/phaseProperties | 22 + .../constant/physicalProperties.oil | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 35 - .../planingHullW3/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 35 - .../RAS/planingHullW3/system/refineMeshDict | 8 +- .../RAS/propeller/constant/phaseProperties | 24 + .../constant/physicalProperties.vapour | 24 + .../constant/physicalProperties.water | 24 + .../propeller/constant/transportProperties | 37 - .../RAS/waterChannel/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../waterChannel/constant/transportProperties | 36 - .../RAS/weirOverflow/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../weirOverflow/constant/transportProperties | 36 - .../capillaryRise/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 36 - .../cavitatingBullet/constant/phaseProperties | 22 + .../constant/physicalProperties.vapour | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 34 - .../interFoam/laminar/climbingRod/0/U | 46 ++ .../laminar/climbingRod/0/alpha.liquid.orig | 36 + .../interFoam/laminar/climbingRod/0/p | 37 + .../interFoam/laminar/climbingRod/0/p_rgh | 37 + .../laminar/climbingRod/0/sigma.liquid | 37 + .../interFoam/laminar/climbingRod/Allclean | 10 + .../interFoam/laminar/climbingRod/Allrun | 16 + .../interFoam/laminar/climbingRod/README | 36 + .../laminar/climbingRod/constant/fvModels | 27 + .../interFoam/laminar/climbingRod/constant/g | 21 + .../climbingRod/constant/momentumTransport | 20 + .../constant/momentumTransport.air | 20 + .../constant/momentumTransport.liquid | 31 + .../climbingRod/constant/phaseProperties | 21 + .../constant/physicalProperties.air | 22 + .../constant/physicalProperties.liquid | 22 + .../laminar/climbingRod/system/blockMeshDict | 113 +++ .../laminar/climbingRod/system/controlDict} | 62 +- .../system/extrudeMeshDict} | 32 +- .../laminar/climbingRod/system/fvSchemes | 63 ++ .../laminar/climbingRod/system/fvSolution | 89 +++ .../laminar/climbingRod/system/setFieldsDict | 35 + .../constant/phaseProperties | 22 + .../constant/physicalProperties.gas | 24 + .../constant/physicalProperties.liquid | 24 + .../constant/transportProperties | 36 - .../damBreak/constant/phaseProperties | 22 + .../damBreak/constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../damBreak/constant/transportProperties | 35 - .../constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 36 - .../mixerVessel2D/constant/phaseProperties | 22 + .../constant/physicalProperties.oir | 24 + .../constant/physicalProperties.water | 24 + .../sloshingCylinder/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 35 - .../sloshingTank2D/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 35 - .../constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 36 - .../sloshingTank3D/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 35 - .../constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 36 - .../constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 35 - .../testTubeMixer/constant/phaseProperties | 22 + .../constant/physicalProperties.air | 24 + .../constant/physicalProperties.water | 24 + .../constant/transportProperties | 36 - .../laminar/wave/constant/phaseProperties | 22 + .../wave/constant/physicalProperties.air | 24 + .../wave/constant/physicalProperties.water | 24 + .../laminar/wave/constant/transportProperties | 36 - .../laminar/damBreak/constant/phaseProperties | 26 + .../damBreak/constant/physicalProperties.air | 22 + .../constant/physicalProperties.other | 22 + .../constant/physicalProperties.water | 22 + .../damBreak/constant/transportProperties | 47 -- .../constant/physicalProperties.air | 47 ++ .../constant/physicalProperties.water} | 2 +- .../constant/thermophysicalProperties.air | 47 -- ...lProperties.gas => physicalProperties.gas} | 2 +- ...rties.liquid => physicalProperties.liquid} | 2 +- .../LBend/constant/momentumTransport.solids | 10 +- ...lProperties.gas => physicalProperties.gas} | 2 +- ...rties.solids => physicalProperties.solids} | 2 +- .../constant/physicalProperties.air | 47 ++ ...perties.water => physicalProperties.water} | 2 +- .../constant/thermophysicalProperties.air | 47 -- ...lProperties.gas => physicalProperties.gas} | 2 +- ...rties.liquid => physicalProperties.liquid} | 2 +- ...roperties.air1 => physicalProperties.air1} | 2 +- .../constant/physicalProperties.air2 | 18 + ...perties.water => physicalProperties.water} | 2 +- .../constant/momentumTransport.particles | 10 +- .../constant/physicalProperties.air | 47 ++ .../constant/physicalProperties.particles} | 2 +- .../constant/thermophysicalProperties.air | 47 -- ...lProperties.gas => physicalProperties.gas} | 2 +- .../constant/physicalProperties.liquid} | 2 +- .../constant/physicalProperties.gas} | 2 +- .../constant/physicalProperties.liquid} | 2 +- .../constant/physicalProperties.gas} | 2 +- .../constant/physicalProperties.liquid} | 2 +- ...lProperties.gas => physicalProperties.gas} | 2 +- .../constant/physicalProperties.gas2 | 37 + .../constant/physicalProperties.liquid} | 2 +- .../constant/thermophysicalProperties.gas2 | 37 - .../bed/constant/physicalProperties.air | 47 ++ ...perties.solid => physicalProperties.solid} | 2 +- .../bed/constant/physicalProperties.water} | 2 +- .../bed/constant/thermophysicalProperties.air | 47 -- .../constant/physicalProperties.air | 47 ++ ...perties.water => physicalProperties.water} | 2 +- .../constant/thermophysicalProperties.air | 47 -- ...lProperties.gas => physicalProperties.gas} | 2 +- ...rties.liquid => physicalProperties.liquid} | 2 +- ...lProperties.gas => physicalProperties.gas} | 2 +- ...rties.liquid => physicalProperties.liquid} | 2 +- .../constant/physicalProperties.air | 47 ++ .../constant/physicalProperties.water | 51 ++ .../constant/thermophysicalProperties.air | 47 -- .../constant/thermophysicalProperties.water | 51 -- .../constant/physicalProperties.air | 47 ++ ...ies.mercury => physicalProperties.mercury} | 2 +- .../constant/physicalProperties.oil} | 2 +- .../constant/physicalProperties.water | 51 ++ .../constant/thermophysicalProperties.air | 47 -- .../constant/thermophysicalProperties.water | 51 -- .../constant/transportProperties | 235 ------ .../constant/momentumTransport.particles | 10 +- .../constant/physicalProperties.air | 47 ++ .../constant/physicalProperties.particles} | 2 +- .../constant/thermophysicalProperties.air | 47 -- .../injection/constant/physicalProperties.air | 47 ++ .../constant/physicalProperties.water | 51 ++ .../constant/thermophysicalProperties.air | 47 -- .../constant/thermophysicalProperties.water | 51 -- ...lProperties.air => physicalProperties.air} | 2 +- ...ies.mercury => physicalProperties.mercury} | 2 +- .../constant/physicalProperties.oil} | 2 +- ...perties.water => physicalProperties.water} | 2 +- ...lProperties.air => physicalProperties.air} | 2 +- ...ies.mercury => physicalProperties.mercury} | 2 +- ...lProperties.oil => physicalProperties.oil} | 2 +- ...perties.water => physicalProperties.water} | 2 +- ...perties.steam => physicalProperties.steam} | 2 +- ...perties.water => physicalProperties.water} | 2 +- ...particles => physicalProperties.particles} | 2 +- ...perties.vapor => physicalProperties.vapor} | 2 +- ...particles => physicalProperties.particles} | 2 +- ...perties.vapor => physicalProperties.vapor} | 2 +- .../constant/physicalProperties.air | 47 ++ .../constant/physicalProperties.solid} | 2 +- .../constant/physicalProperties.water | 51 ++ .../constant/thermophysicalProperties.air | 47 -- .../constant/thermophysicalProperties.water | 51 -- .../damBreak4phase/constant/phaseProperties | 30 + .../constant/physicalProperties.air | 22 + .../constant/physicalProperties.mercury | 23 + .../constant/physicalProperties.oil | 22 + .../constant/physicalProperties.water | 22 + .../constant/transportProperties | 59 -- .../damBreak4phase/constant/phaseProperties | 30 + .../constant/physicalProperties.air | 22 + .../constant/physicalProperties.mercury | 23 + .../constant/physicalProperties.oil | 22 + .../constant/physicalProperties.water | 22 + .../constant/transportProperties | 59 -- .../constant/phaseProperties | 30 + .../constant/physicalProperties.air | 22 + .../constant/physicalProperties.mercury | 23 + .../constant/physicalProperties.oil | 22 + .../constant/physicalProperties.water | 22 + .../constant/transportProperties | 59 -- .../mixerVessel2D/constant/phaseProperties | 30 + .../constant/physicalProperties.air | 22 + .../constant/physicalProperties.mercury | 23 + .../constant/physicalProperties.oil | 22 + .../constant/physicalProperties.water | 22 + .../constant/transportProperties | 59 -- .../constant/physicalProperties} | 4 +- .../constant/physicalProperties} | 4 +- .../lockExchange/constant/phaseProperties} | 7 +- .../constant/physicalProperties.sludge | 22 + .../constant/physicalProperties.water | 23 + .../lockExchange/constant/transportProperties | 36 - ...ophysicalProperties => physicalProperties} | 2 +- ...ophysicalProperties => physicalProperties} | 2 +- 1103 files changed, 10982 insertions(+), 11445 deletions(-) rename applications/solvers/DNS/dnsFoam/{readTransportProperties.H => readPhysicalProperties.H} (62%) delete mode 100644 applications/solvers/incompressible/nonNewtonianIcoFoam/Make/files delete mode 100644 applications/solvers/incompressible/nonNewtonianIcoFoam/Make/options delete mode 100644 applications/solvers/incompressible/nonNewtonianIcoFoam/createFields.H delete mode 100644 applications/solvers/incompressible/nonNewtonianIcoFoam/nonNewtonianIcoFoam.C create mode 100644 applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/Make/files rename applications/solvers/multiphase/compressibleInterFoam/{twoPhaseMixtureThermo => compressibleTwoPhaseMixture}/Make/options (82%) create mode 100644 applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.C create mode 100644 applications/solvers/multiphase/compressibleInterFoam/compressibleTwoPhaseMixture/compressibleTwoPhaseMixture.H delete mode 100644 applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/Make/files delete mode 100644 applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.C delete mode 100644 applications/solvers/multiphase/compressibleInterFoam/twoPhaseMixtureThermo/twoPhaseMixtureThermo.H create mode 100644 applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/Make/files rename applications/solvers/multiphase/compressibleMultiphaseInterFoam/{multiphaseMixtureThermo => compressibleMultiphaseMixture}/Make/options (83%) rename applications/solvers/multiphase/compressibleMultiphaseInterFoam/{multiphaseMixtureThermo => compressibleMultiphaseMixture}/alphaContactAngle/alphaContactAngleFvPatchScalarField.C (100%) rename applications/solvers/multiphase/compressibleMultiphaseInterFoam/{multiphaseMixtureThermo => compressibleMultiphaseMixture}/alphaContactAngle/alphaContactAngleFvPatchScalarField.H (96%) rename applications/solvers/multiphase/compressibleMultiphaseInterFoam/{multiphaseMixtureThermo/multiphaseMixtureThermo.C => compressibleMultiphaseMixture/compressibleMultiphaseMixture.C} (53%) create mode 100644 applications/solvers/multiphase/compressibleMultiphaseInterFoam/compressibleMultiphaseMixture/compressibleMultiphaseMixture.H rename applications/solvers/multiphase/compressibleMultiphaseInterFoam/{multiphaseMixtureThermo => compressibleMultiphaseMixture}/phaseModel/phaseModel.C (97%) rename applications/solvers/multiphase/compressibleMultiphaseInterFoam/{multiphaseMixtureThermo => compressibleMultiphaseMixture}/phaseModel/phaseModel.H (98%) delete mode 100644 applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/Make/files delete mode 100644 applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H create mode 100755 applications/solvers/multiphase/interFoam/Allwclean create mode 100755 applications/solvers/multiphase/interFoam/Allwmake create mode 100644 applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/files create mode 100644 applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/Make/options create mode 100644 applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.C create mode 100644 applications/solvers/multiphase/interFoam/incompressibleInterPhaseTransportModel/incompressibleInterPhaseTransportModel.H create mode 100644 applications/test/Function1/table.dat rename applications/utilities/postProcessing/miscellaneous/postChannel/{readTransportProperties.H => readPhysicalProperties.H} (70%) delete mode 100644 src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.C delete mode 100644 src/MomentumTransportModels/compressible/CompressibleMomentumTransportModel/CompressibleMomentumTransportModel.H rename src/MomentumTransportModels/compressible/{dynamicMomentumTransportModels/dynamicMomentumTransportModel.C => compressibleMomentumTransportModelTemplates.C} (82%) rename src/MomentumTransportModels/compressible/{dynamicMomentumTransportModels/dynamicMomentumTransportModels.C => compressibleMomentumTransportModels.C} (95%) rename src/MomentumTransportModels/compressible/{dynamicMomentumTransportModels/dynamicMomentumTransportModel.H => compressibleMomentumTransportModels.H} (69%) rename src/MomentumTransportModels/compressible/{dynamicMomentumTransportModels/dynamicMomentumTransportModels.H => makeCompressibleMomentumTransportModel.H} (65%) delete mode 100644 src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.C delete mode 100644 src/MomentumTransportModels/incompressible/IncompressibleMomentumTransportModel/IncompressibleMomentumTransportModel.H rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/LamBremhorstKE/LamBremhorstKE.C (98%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/LamBremhorstKE/LamBremhorstKE.H (96%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/LienCubicKE/LienCubicKE.C (98%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/LienCubicKE/LienCubicKE.H (97%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/LienLeschziner/LienLeschziner.C (98%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/LienLeschziner/LienLeschziner.H (97%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/ShihQuadraticKE/ShihQuadraticKE.C (98%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/ShihQuadraticKE/ShihQuadraticKE.H (96%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/kkLOmega/kkLOmega.C (99%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/kkLOmega/kkLOmega.H (98%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/qZeta/qZeta.C (98%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels => }/RAS/qZeta/qZeta.H (97%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels/kinematicMomentumTransportModel.C => incompressibleMomentumTransportModelTemplates.C} (78%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels/kinematicMomentumTransportModels.C => incompressibleMomentumTransportModels.C} (95%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels/kinematicMomentumTransportModel.H => incompressibleMomentumTransportModels.H} (69%) rename src/MomentumTransportModels/incompressible/{kinematicMomentumTransportModels/kinematicMomentumTransportModels.H => makeIncompressibleMomentumTransportModel.H} (73%) delete mode 100644 src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.C delete mode 100644 src/MomentumTransportModels/momentumTransportModels/MomentumTransportModel/MomentumTransportModel.H rename src/{transportModels/viscosityModels/viscosityModel/viscosityModel.C => MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.C} (65%) rename src/{transportModels/viscosityModels/powerLaw/powerLaw.H => MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/Newtonian/NewtonianViscosityModel.H} (67%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/BirdCarreau/BirdCarreau.C (92%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/BirdCarreau/BirdCarreau.H (93%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/Casson/Casson.C (92%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/Casson/Casson.H (93%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/CrossPowerLaw/CrossPowerLaw.C (92%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/CrossPowerLaw/CrossPowerLaw.H (93%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/HerschelBulkley/HerschelBulkley.C (92%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/HerschelBulkley/HerschelBulkley.H (91%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/powerLaw/powerLaw.C (92%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/powerLaw/powerLaw.H (92%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/strainRateFunction/strainRateFunction.C (92%) rename src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/{ => strainRateViscosityModels}/strainRateFunction/strainRateFunction.H (90%) rename src/{transportModels/singlePhaseTransportModel/singlePhaseTransportModel.C => MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.C} (56%) create mode 100644 src/MomentumTransportModels/momentumTransportModels/laminar/generalisedNewtonian/generalisedNewtonianViscosityModels/strainRateViscosityModels/strainRateViscosityModel/strainRateViscosityModel.H create mode 100644 src/MomentumTransportModels/momentumTransportModels/momentumTransportModelTemplates.C rename src/MomentumTransportModels/{phaseIncompressible/phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.H => phaseCompressible/makePhaseCompressibleMomentumTransportModel.H} (85%) rename src/MomentumTransportModels/phaseCompressible/{PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.C => phaseCompressibleMomentumTransportModel.C} (63%) rename src/MomentumTransportModels/phaseCompressible/{PhaseCompressibleMomentumTransportModel/PhaseCompressibleMomentumTransportModel.H => phaseCompressibleMomentumTransportModel.H} (57%) rename src/MomentumTransportModels/phaseCompressible/{phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.C => phaseCompressibleMomentumTransportModelTemplates.C} (82%) rename src/MomentumTransportModels/phaseCompressible/{phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.C => phaseCompressibleMomentumTransportModels.C} (93%) rename src/MomentumTransportModels/phaseCompressible/{phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModel.H => phaseCompressibleMomentumTransportModels.H} (67%) rename src/MomentumTransportModels/{phaseCompressible/phaseDynamicMomentumTransportModels/phaseDynamicMomentumTransportModels.H => phaseIncompressible/makePhaseIncompressibleMomentumTransportModel.H} (72%) rename src/MomentumTransportModels/phaseIncompressible/{PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.C => phaseIncompressibleMomentumTransportModel.C} (59%) rename src/MomentumTransportModels/phaseIncompressible/{PhaseIncompressibleMomentumTransportModel/PhaseIncompressibleMomentumTransportModel.H => phaseIncompressibleMomentumTransportModel.H} (63%) rename src/MomentumTransportModels/phaseIncompressible/{phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.C => phaseIncompressibleMomentumTransportModelTemplates.C} (81%) rename src/MomentumTransportModels/phaseIncompressible/{phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModels.C => phaseIncompressibleMomentumTransportModels.C} (93%) rename src/MomentumTransportModels/phaseIncompressible/{phaseKinematicMomentumTransportModels/phaseKinematicMomentumTransportModel.H => phaseIncompressibleMomentumTransportModels.H} (67%) create mode 100644 src/physicalProperties/Make/files rename src/{transportModels => physicalProperties}/Make/options (100%) create mode 100644 src/physicalProperties/physicalProperties/physicalProperties.C rename src/{transportModels/dynamicTransportModel/dynamicTransportModel.H => physicalProperties/physicalProperties/physicalProperties.H} (70%) rename src/{transportModels/dynamicTransportModel/dynamicTransportModel.C => physicalProperties/viscosity/viscosity.C} (78%) rename src/{transportModels/kinematicTransportModel/kinematicTransportModel.H => physicalProperties/viscosity/viscosity.H} (75%) rename src/{transportModels/viscosityModels/Newtonian/Newtonian.C => physicalProperties/viscosityModels/constant/constantViscosityModel.C} (67%) rename src/{transportModels/viscosityModels/Newtonian/Newtonian.H => physicalProperties/viscosityModels/constant/constantViscosityModel.H} (80%) rename src/{transportModels/kinematicTransportModel/kinematicTransportModel.C => physicalProperties/viscosityModels/viscosityModel/viscosityModel.C} (78%) rename src/{transportModels => physicalProperties}/viscosityModels/viscosityModel/viscosityModel.H (66%) rename src/{transportModels => physicalProperties}/viscosityModels/viscosityModel/viscosityModelNew.C (74%) delete mode 100644 src/transportModels/Make/files delete mode 100644 src/transportModels/singlePhaseTransportModel/singlePhaseTransportModel.H delete mode 100644 src/transportModels/viscosityModels/BirdCarreau/BirdCarreau.C delete mode 100644 src/transportModels/viscosityModels/BirdCarreau/BirdCarreau.H delete mode 100644 src/transportModels/viscosityModels/Casson/Casson.C delete mode 100644 src/transportModels/viscosityModels/Casson/Casson.H delete mode 100644 src/transportModels/viscosityModels/CrossPowerLaw/CrossPowerLaw.C delete mode 100644 src/transportModels/viscosityModels/CrossPowerLaw/CrossPowerLaw.H delete mode 100644 src/transportModels/viscosityModels/HerschelBulkley/HerschelBulkley.C delete mode 100644 src/transportModels/viscosityModels/HerschelBulkley/HerschelBulkley.H delete mode 100644 src/transportModels/viscosityModels/powerLaw/powerLaw.C delete mode 100644 src/transportModels/viscosityModels/strainRateFunction/strainRateFunction.C delete mode 100644 src/transportModels/viscosityModels/strainRateFunction/strainRateFunction.H rename tutorials/DNS/dnsFoam/boxTurb16/constant/{transportProperties => physicalProperties} (94%) rename tutorials/basic/laplacianFoam/flange/constant/{transportProperties => physicalProperties} (94%) rename tutorials/basic/scalarTransportFoam/pitzDaily/constant/{transportProperties => physicalProperties} (94%) rename tutorials/combustion/PDRFoam/flamePropagationWithObstacles/constant/{thermophysicalProperties => physicalProperties} (98%) rename tutorials/combustion/XiEngineFoam/kivaTest/constant/{thermophysicalProperties => physicalProperties} (98%) rename tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/{thermophysicalProperties => physicalProperties} (97%) rename tutorials/combustion/XiFoam/RAS/moriyoshiHomogeneous/constant/{thermophysicalProperties.hydrogen => physicalProperties.hydrogen} (97%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/{rivuletPanel/constant/thermophysicalProperties => cylinder/constant/physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/{hotBoxes/constant/wallFilmRegion/thermophysicalProperties => cylinder/constant/wallFilmRegion/physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/{cylinder/constant/thermophysicalProperties => hotBoxes/constant/physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/{rivuletPanel/constant/wallFilmRegion/thermophysicalProperties => hotBoxes/constant/wallFilmRegion/physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/{hotBoxes/constant/thermophysicalProperties => rivuletPanel/constant/physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/{splashPanel/constant/wallFilm/thermophysicalProperties => rivuletPanel/constant/wallFilmRegion/physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/splashPanel/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/Lagrangian/{cylinder/constant/wallFilmRegion/thermophysicalProperties => splashPanel/constant/wallFilm/physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/RAS/smallPoolFire2D/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/buoyantReactingFoam/RAS/smallPoolFire3D/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/chemFoam/gri/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/chemFoam/h2/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/chemFoam/ic8h18/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/chemFoam/ic8h18_TDAC/constant/{thermophysicalProperties => physicalProperties} (95%) create mode 100644 tutorials/combustion/chemFoam/nc7h16/constant/physicalProperties delete mode 100644 tutorials/combustion/chemFoam/nc7h16/constant/thermophysicalProperties rename tutorials/combustion/coldEngineFoam/freePiston/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/reactingFoam/Lagrangian/aachenBomb/constant/{thermophysicalProperties => physicalProperties} (95%) create mode 100644 tutorials/combustion/reactingFoam/Lagrangian/filter/constant/physicalProperties delete mode 100644 tutorials/combustion/reactingFoam/Lagrangian/filter/constant/thermophysicalProperties rename tutorials/combustion/reactingFoam/Lagrangian/parcelInBox/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/reactingFoam/Lagrangian/simplifiedSiwek/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/combustion/reactingFoam/Lagrangian/verticalChannel/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/reactingFoam/Lagrangian/verticalChannelLTS/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/reactingFoam/Lagrangian/verticalChannelSteady/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/reactingFoam/RAS/DLR_A_LTS/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/combustion/reactingFoam/{laminar/counterFlowFlame2DLTS_GRI_TDAC/constant/thermophysicalProperties => RAS/SandiaD_LTS/constant/physicalProperties} (95%) rename tutorials/combustion/reactingFoam/{laminar/counterFlowFlame2DLTS/constant/thermophysicalProperties => RAS/membrane/constant/physicalProperties} (95%) rename tutorials/combustion/reactingFoam/{RAS/membrane/constant/thermophysicalProperties => laminar/counterFlowFlame2D/constant/physicalProperties} (95%) rename tutorials/combustion/reactingFoam/laminar/{counterFlowFlame2D/constant/thermophysicalProperties => counterFlowFlame2DLTS/constant/physicalProperties} (95%) rename tutorials/combustion/reactingFoam/laminar/{counterFlowFlame2D_GRI/constant/thermophysicalProperties => counterFlowFlame2DLTS_GRI_TDAC/constant/physicalProperties} (95%) rename tutorials/combustion/reactingFoam/laminar/{counterFlowFlame2D_GRI_TDAC/constant/thermophysicalProperties => counterFlowFlame2D_GRI/constant/physicalProperties} (95%) rename tutorials/combustion/reactingFoam/{RAS/SandiaD_LTS/constant/thermophysicalProperties => laminar/counterFlowFlame2D_GRI_TDAC/constant/physicalProperties} (95%) rename tutorials/compressible/rhoCentralFoam/LadenburgJet60psi/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoCentralFoam/biconic25-55Run35/constant/{thermophysicalProperties => physicalProperties} (97%) rename tutorials/compressible/{rhoPimpleFoam/laminar/forwardStep/constant/thermophysicalProperties => rhoCentralFoam/forwardStep/constant/physicalProperties} (96%) rename tutorials/compressible/rhoCentralFoam/movingCone/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoCentralFoam/{wedge15Ma5/constant/thermophysicalProperties => obliqueShock/constant/physicalProperties} (96%) rename tutorials/compressible/rhoCentralFoam/shockTube/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoCentralFoam/{obliqueShock/constant/thermophysicalProperties => wedge15Ma5/constant/physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/LES/pitzDaily/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/aerofoilNACA0012/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/angledDuct/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/angledDuctLTS/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/cavity/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/nacaAirfoil/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/prism/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/RAS/squareBendLiq/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/compressible/rhoPimpleFoam/laminar/blockedChannel/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/laminar/blockedChannel/constant/{thermophysicalProperties.solid => physicalProperties.solid} (96%) rename tutorials/compressible/rhoPimpleFoam/laminar/decompressionTank/decompressionTank/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/{rhoCentralFoam/forwardStep/constant/thermophysicalProperties => rhoPimpleFoam/laminar/forwardStep/constant/physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/laminar/helmholtzResonance/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPimpleFoam/laminar/shockTube/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoPorousSimpleFoam/angledDuctImplicit/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoSimpleFoam/aerofoilNACA0012/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoSimpleFoam/angledDuctExplicitFixedCoeff/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoSimpleFoam/squareBend/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/compressible/rhoSimpleFoam/squareBendLiq/constant/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/electromagnetics/mhdFoam/hartmann/constant/{transportProperties => physicalProperties} (95%) rename tutorials/heatTransfer/buoyantPimpleFoam/BernardCells/constant/{thermophysicalProperties => physicalProperties} (96%) delete mode 100644 tutorials/heatTransfer/buoyantPimpleFoam/BernardCells/constant/transportProperties rename tutorials/heatTransfer/{buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/thermophysicalProperties => buoyantPimpleFoam/hotRoom/constant/physicalProperties} (96%) rename tutorials/heatTransfer/{buoyantSimpleFoam/iglooWithFridges/constant/thermophysicalProperties => buoyantPimpleFoam/hotRoomBoussinesq/constant/physicalProperties} (96%) rename tutorials/heatTransfer/buoyantSimpleFoam/buoyantCavity/constant/{thermophysicalProperties => physicalProperties} (96%) create mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DbaffleRadiation delete mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/3DbaffleSolidThermo create mode 100644 tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/0.orig/include/3DBaffle/physicalProperties rename tutorials/heatTransfer/buoyantSimpleFoam/circuitBoardCooling/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/{buoyantPimpleFoam/hotRoomBoussinesq/constant/thermophysicalProperties => buoyantSimpleFoam/comfortHotRoom/constant/physicalProperties} (96%) rename tutorials/heatTransfer/buoyantSimpleFoam/externalCoupledCavity/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/buoyantSimpleFoam/hotRadiationRoom/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/{buoyantPimpleFoam/hotRoom/constant/thermophysicalProperties => buoyantSimpleFoam/hotRadiationRoomFvDOM/constant/physicalProperties} (96%) rename tutorials/heatTransfer/buoyantSimpleFoam/{comfortHotRoom/constant/thermophysicalProperties => hotRoomBoussinesq/constant/physicalProperties} (96%) rename tutorials/heatTransfer/buoyantSimpleFoam/{hotRoomBoussinesq/constant/thermophysicalProperties => iglooWithFridges/constant/physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/coolingCylinder2D/constant/fluid/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/{coolingSphere/templates/materials/copper/thermophysicalProperties => coolingCylinder2D/constant/solid/physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/coolingSphere/templates/materials/air/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/coolingSphere/templates/materials/aluminium/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/{coolingCylinder2D/constant/solid/thermophysicalProperties => coolingSphere/templates/materials/copper/physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/coolingSphere/templates/materials/water/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/heatExchanger/constant/air/{thermophysicalProperties => physicalProperties} (97%) rename tutorials/heatTransfer/chtMultiRegionFoam/heatExchanger/constant/porous/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/fluid/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/heater/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/heatedDuct/constant/metal/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/gas/{thermophysicalProperties => physicalProperties} (95%) rename tutorials/heatTransfer/chtMultiRegionFoam/reverseBurner/constant/solid/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/constant/shell/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/constant/solid/{thermophysicalProperties => physicalProperties} (96%) create mode 120000 tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/constant/tube/physicalProperties delete mode 120000 tutorials/heatTransfer/chtMultiRegionFoam/shellAndTubeHeatExchanger/constant/tube/thermophysicalProperties rename tutorials/{compressible/rhoPimpleFoam/laminar/blockedChannel/constant/transportProperties => incompressible/SRFPimpleFoam/rotor2D/constant/physicalProperties} (91%) rename tutorials/incompressible/SRFSimpleFoam/mixer/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/adjointShapeOptimisationFoam/pitzDaily/constant/{transportProperties => physicalProperties} (92%) rename tutorials/incompressible/boundaryFoam/boundaryLaunderSharma/constant/{transportProperties => physicalProperties} (91%) create mode 100644 tutorials/incompressible/boundaryFoam/boundaryNonNewtonian/constant/physicalProperties delete mode 100644 tutorials/incompressible/boundaryFoam/boundaryNonNewtonian/constant/transportProperties rename tutorials/incompressible/boundaryFoam/boundaryWallFunctions/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/boundaryFoam/boundaryWallFunctionsProfile/constant/{transportProperties.template => physicalProperties.template} (91%) rename tutorials/incompressible/icoFoam/cavity/{cavityClipped/constant/transportProperties => cavity/constant/physicalProperties} (94%) rename tutorials/incompressible/icoFoam/{elbow/constant/transportProperties => cavity/cavityClipped/constant/physicalProperties} (94%) rename tutorials/incompressible/icoFoam/cavity/cavityGrade/constant/{transportProperties => physicalProperties} (94%) rename tutorials/incompressible/icoFoam/{cavity/cavity/constant/transportProperties => elbow/constant/physicalProperties} (94%) delete mode 100644 tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/constant/transportProperties delete mode 100644 tutorials/incompressible/nonNewtonianIcoFoam/offsetCylinder/system/blockMeshDict rename tutorials/incompressible/pimpleFoam/LES/channel395/constant/{transportProperties => physicalProperties} (92%) rename tutorials/incompressible/{SRFPimpleFoam/rotor2D/constant/transportProperties => pimpleFoam/RAS/TJunction/constant/physicalProperties} (91%) rename tutorials/incompressible/pimpleFoam/RAS/{TJunction/constant/transportProperties => TJunctionFan/constant/physicalProperties} (91%) delete mode 100644 tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/constant/transportProperties rename tutorials/incompressible/pimpleFoam/RAS/elipsekkLOmega/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/pimpleFoam/RAS/flowWithOpenBoundary/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/pimpleFoam/RAS/impeller/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/pimpleFoam/RAS/oscillatingInletACMI2D/constant/{transportProperties => physicalProperties} (91%) rename tutorials/{compressible/rhoPimpleFoam/RAS/mixerVessel2D/constant/transportProperties => incompressible/pimpleFoam/RAS/pitzDaily/constant/physicalProperties} (91%) delete mode 100644 tutorials/incompressible/pimpleFoam/RAS/pitzDaily/constant/transportProperties create mode 100644 tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/constant/physicalProperties delete mode 100644 tutorials/incompressible/pimpleFoam/RAS/pitzDailyLTS/constant/transportProperties rename tutorials/incompressible/pimpleFoam/RAS/propeller/constant/{transportProperties => physicalProperties} (91%) rename tutorials/{multiphase/multiphaseEulerFoam/RAS/bubblePipe/constant/thermophysicalProperties.air2 => incompressible/pimpleFoam/RAS/wingMotion/wingMotion2D_pimpleFoam/constant/physicalProperties} (87%) rename tutorials/incompressible/pimpleFoam/RAS/wingMotion/{wingMotion2D_pimpleFoam/constant/transportProperties => wingMotion2D_simpleFoam/constant/physicalProperties} (85%) delete mode 100644 tutorials/incompressible/pimpleFoam/RAS/wingMotion/wingMotion2D_simpleFoam/constant/transportProperties create mode 100644 tutorials/incompressible/pimpleFoam/laminar/blockedChannel/constant/physicalProperties delete mode 100644 tutorials/incompressible/pimpleFoam/laminar/blockedChannel/constant/transportProperties rename tutorials/incompressible/pimpleFoam/laminar/mixerVesselAMI2D/constant/{transportProperties => physicalProperties} (91%) create mode 100644 tutorials/incompressible/pimpleFoam/laminar/movingCone/constant/physicalProperties delete mode 100644 tutorials/incompressible/pimpleFoam/laminar/movingCone/constant/transportProperties rename tutorials/incompressible/pimpleFoam/laminar/offsetCylinder/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/pimpleFoam/laminar/pitzDailyPulse/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/pimpleFoam/laminar/planarContraction/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/pimpleFoam/laminar/planarCouette/constant/{transportProperties => physicalProperties} (90%) rename tutorials/incompressible/pimpleFoam/laminar/planarPoiseuille/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/pisoFoam/LES/motorBike/motorBike/constant/{transportProperties => physicalProperties} (91%) create mode 100644 tutorials/incompressible/pisoFoam/LES/pitzDaily/constant/physicalProperties delete mode 100644 tutorials/incompressible/pisoFoam/LES/pitzDaily/constant/transportProperties create mode 100644 tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/constant/physicalProperties delete mode 100644 tutorials/incompressible/pisoFoam/LES/pitzDailyMapped/constant/transportProperties create mode 100644 tutorials/incompressible/pisoFoam/RAS/cavity/constant/physicalProperties delete mode 100644 tutorials/incompressible/pisoFoam/RAS/cavity/constant/transportProperties create mode 100644 tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/constant/physicalProperties delete mode 100644 tutorials/incompressible/pisoFoam/RAS/cavityCoupledU/constant/transportProperties rename tutorials/incompressible/pisoFoam/laminar/porousBlockage/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/porousSimpleFoam/angledDuctImplicit/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/porousSimpleFoam/straightDuctImplicit/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/simpleFoam/T3A/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/simpleFoam/airFoil2D/constant/{transportProperties => physicalProperties} (91%) rename tutorials/incompressible/simpleFoam/drivaerFastback/constant/{transportProperties => physicalProperties} (91%) create mode 100644 tutorials/incompressible/simpleFoam/mixerVessel2D/constant/physicalProperties delete mode 100644 tutorials/incompressible/simpleFoam/mixerVessel2D/constant/transportProperties create mode 100644 tutorials/incompressible/simpleFoam/motorBike/constant/physicalProperties delete mode 100644 tutorials/incompressible/simpleFoam/motorBike/constant/transportProperties rename tutorials/incompressible/simpleFoam/pipeCyclic/constant/{transportProperties => physicalProperties} (91%) create mode 100644 tutorials/incompressible/simpleFoam/pitzDaily/constant/physicalProperties delete mode 100644 tutorials/incompressible/simpleFoam/pitzDaily/constant/transportProperties create mode 100644 tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/physicalProperties delete mode 100644 tutorials/incompressible/simpleFoam/pitzDailyExptInlet/constant/transportProperties rename tutorials/incompressible/simpleFoam/roomResidenceTime/constant/{transportProperties => physicalProperties} (91%) create mode 100644 tutorials/incompressible/simpleFoam/rotorDisk/constant/physicalProperties delete mode 100644 tutorials/incompressible/simpleFoam/rotorDisk/constant/transportProperties create mode 100644 tutorials/incompressible/simpleFoam/turbineSiting/constant/physicalProperties delete mode 100644 tutorials/incompressible/simpleFoam/turbineSiting/constant/transportProperties create mode 100644 tutorials/incompressible/simpleFoam/windAroundBuildings/constant/physicalProperties delete mode 100644 tutorials/incompressible/simpleFoam/windAroundBuildings/constant/transportProperties rename tutorials/lagrangian/denseParticleFoam/{injectionChannel/constant/transportProperties => Goldschmidt/constant/physicalProperties} (91%) rename tutorials/lagrangian/denseParticleFoam/GoldschmidtMPPIC/constant/{transportProperties => physicalProperties} (91%) rename tutorials/lagrangian/denseParticleFoam/column/constant/{transportProperties => physicalProperties} (91%) rename tutorials/lagrangian/denseParticleFoam/cyclone/constant/{transportProperties => physicalProperties} (91%) rename tutorials/lagrangian/denseParticleFoam/{Goldschmidt/constant/transportProperties => injectionChannel/constant/physicalProperties} (91%) rename tutorials/lagrangian/particleFoam/hopper/{hopperInitialState/constant/transportProperties => hopperEmptying/constant/physicalProperties} (91%) rename tutorials/lagrangian/particleFoam/hopper/{hopperEmptying/constant/transportProperties => hopperInitialState/constant/physicalProperties} (91%) rename tutorials/lagrangian/particleFoam/mixerVesselAMI2D/constant/{transportProperties => physicalProperties} (91%) create mode 100644 tutorials/mesh/moveDynamicMesh/SnakeRiverCanyon/constant/physicalProperties delete mode 100644 tutorials/mesh/moveDynamicMesh/SnakeRiverCanyon/constant/transportProperties create mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle/constant/phaseProperties create mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle/constant/physicalProperties.vapour create mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle/constant/transportProperties create mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/phaseProperties create mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/physicalProperties.vapour create mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/cavitatingFoam/LES/throttle3D/constant/transportProperties create mode 100644 tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/phaseProperties create mode 100644 tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/physicalProperties.vapour create mode 100644 tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/cavitatingFoam/RAS/throttle/constant/transportProperties create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/T create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/T.air create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/T.water rename tutorials/{incompressible/nonNewtonianIcoFoam/offsetCylinder => multiphase/compressibleInterFoam/RAS/damBreak}/0/U (84%) create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/alpha.water.orig create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/epsilon create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/k rename tutorials/{incompressible/nonNewtonianIcoFoam/offsetCylinder/0/p => multiphase/compressibleInterFoam/RAS/damBreak/0/nuTilda} (83%) create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/nut create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/omega create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/p create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/0/p_rgh create mode 100755 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/Allclean create mode 100755 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/Allrun create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/constant/fvModels create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/constant/g create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/constant/momentumTransport rename tutorials/multiphase/compressibleInterFoam/{laminar/depthCharge2D/constant/thermophysicalProperties => RAS/damBreak/constant/phaseProperties} (94%) rename tutorials/multiphase/compressibleInterFoam/{laminar/depthCharge3D/constant/thermophysicalProperties.air => RAS/damBreak/constant/physicalProperties.air} (96%) rename tutorials/multiphase/compressibleInterFoam/{laminar/depthCharge2D/constant/thermophysicalProperties.water => RAS/damBreak/constant/physicalProperties.water} (97%) create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/system/blockMeshDict rename tutorials/{incompressible/nonNewtonianIcoFoam/offsetCylinder => multiphase/compressibleInterFoam/RAS/damBreak}/system/controlDict (80%) rename tutorials/multiphase/{interFoam/RAS/damBreakPorousBaffle/constant/transportProperties => compressibleInterFoam/RAS/damBreak/system/decomposeParDict} (67%) rename tutorials/{incompressible/nonNewtonianIcoFoam/offsetCylinder => multiphase/compressibleInterFoam/RAS/damBreak}/system/fvSchemes (64%) create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/system/fvSolution create mode 100644 tutorials/multiphase/compressibleInterFoam/RAS/damBreak/system/setFieldsDict rename tutorials/multiphase/compressibleInterFoam/laminar/{cylinder/constant/thermophysicalProperties => climbingRod/constant/phaseProperties} (94%) rename tutorials/multiphase/compressibleInterFoam/laminar/{plateFilm/constant/thermophysicalProperties.air => climbingRod/constant/physicalProperties.air} (96%) rename tutorials/multiphase/compressibleInterFoam/laminar/climbingRod/constant/{thermophysicalProperties.liquid => physicalProperties.liquid} (96%) rename tutorials/multiphase/compressibleInterFoam/laminar/{plateFilm/constant/thermophysicalProperties => cylinder/constant/phaseProperties} (94%) rename tutorials/multiphase/compressibleInterFoam/laminar/cylinder/constant/{thermophysicalProperties.air => physicalProperties.air} (96%) create mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/cylinder/constant/physicalProperties.liquid delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/cylinder/constant/thermophysicalProperties.liquid create mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/cylinder/constant/wallFilmRegion/physicalProperties delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/cylinder/constant/wallFilmRegion/thermophysicalProperties create mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/phaseProperties rename tutorials/multiphase/compressibleInterFoam/laminar/{sloshingTank2D/constant/thermophysicalProperties.air => depthCharge2D/constant/physicalProperties.air} (96%) create mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/constant/physicalProperties.water create mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/depthCharge2D/system/decomposeParDict rename tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/{thermophysicalProperties => phaseProperties} (94%) rename tutorials/multiphase/compressibleInterFoam/laminar/{depthCharge2D/constant/thermophysicalProperties.air => depthCharge3D/constant/physicalProperties.air} (96%) rename tutorials/multiphase/compressibleInterFoam/laminar/depthCharge3D/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) rename tutorials/multiphase/compressibleInterFoam/laminar/{climbingRod/constant/thermophysicalProperties => plateFilm/constant/phaseProperties} (100%) rename tutorials/multiphase/compressibleInterFoam/laminar/{climbingRod/constant/thermophysicalProperties.air => plateFilm/constant/physicalProperties.air} (96%) create mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/plateFilm/constant/physicalProperties.liquid create mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/plateFilm/constant/plateRegion/physicalProperties delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/plateFilm/constant/plateRegion/thermophysicalProperties delete mode 100644 tutorials/multiphase/compressibleInterFoam/laminar/plateFilm/constant/thermophysicalProperties.liquid rename tutorials/multiphase/{interFoam/LES/nozzleFlow2D/constant/transportProperties => compressibleInterFoam/laminar/sloshingTank2D/0/T.air} (60%) rename tutorials/multiphase/{interFoam/RAS/DTCHull/constant/transportProperties => compressibleInterFoam/laminar/sloshingTank2D/0/T.water} (60%) rename tutorials/multiphase/compressibleInterFoam/laminar/sloshingTank2D/constant/{thermophysicalProperties => phaseProperties} (94%) rename tutorials/multiphase/{compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/thermophysicalProperties.air => compressibleInterFoam/laminar/sloshingTank2D/constant/physicalProperties.air} (96%) rename tutorials/multiphase/compressibleInterFoam/laminar/sloshingTank2D/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) rename tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/{thermophysicalProperties => phaseProperties} (95%) create mode 100644 tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/physicalProperties.air rename tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/{thermophysicalProperties.mercury => physicalProperties.mercury} (95%) rename tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/{thermophysicalProperties.oil => physicalProperties.oil} (96%) rename tutorials/multiphase/compressibleMultiphaseInterFoam/laminar/damBreak4phase/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) create mode 100644 tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/phaseProperties rename tutorials/multiphase/{compressibleInterFoam/laminar/sloshingTank2D/constant/transportProperties => driftFluxFoam/RAS/dahl/constant/physicalProperties.sludge} (69%) create mode 100644 tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/driftFluxFoam/RAS/dahl/constant/transportProperties create mode 100644 tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/phaseProperties rename tutorials/multiphase/{interFoam/RAS/angledDuct/constant/transportProperties => driftFluxFoam/RAS/mixerVessel2D/constant/physicalProperties.sludge} (69%) create mode 100644 tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/driftFluxFoam/RAS/mixerVessel2D/constant/transportProperties create mode 100644 tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/phaseProperties rename tutorials/multiphase/{interFoam/RAS/damBreak/damBreak/constant/transportProperties => driftFluxFoam/RAS/tank3D/constant/physicalProperties.sludge} (69%) create mode 100644 tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/driftFluxFoam/RAS/tank3D/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/LES/nozzleFlow2D/constant/physicalProperties.fuel create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHull/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHull/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHull/constant/physicalProperties.water create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullMoving/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullMoving/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullMoving/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullMoving/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullWave/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullWave/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullWave/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/DTCHullWave/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/RAS/angledDuct/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/angledDuct/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/angledDuct/constant/physicalProperties.water create mode 100644 tutorials/multiphase/interFoam/RAS/damBreak/damBreak/0/omega create mode 100644 tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/fvModels create mode 100644 tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/damBreak/damBreak/constant/physicalProperties.water create mode 100644 tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/damBreakPorousBaffle/constant/physicalProperties.water create mode 100644 tutorials/multiphase/interFoam/RAS/floatingObject/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/floatingObject/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/floatingObject/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/floatingObject/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/RAS/mixerVesselAMI/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/mixerVesselAMI/constant/physicalProperties.oil create mode 100644 tutorials/multiphase/interFoam/RAS/mixerVesselAMI/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/mixerVesselAMI/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/RAS/planingHullW3/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/planingHullW3/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/planingHullW3/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/planingHullW3/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/RAS/propeller/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/propeller/constant/physicalProperties.vapour create mode 100644 tutorials/multiphase/interFoam/RAS/propeller/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/propeller/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/RAS/waterChannel/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/waterChannel/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/waterChannel/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/waterChannel/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/RAS/weirOverflow/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/RAS/weirOverflow/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/RAS/weirOverflow/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/RAS/weirOverflow/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/capillaryRise/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/capillaryRise/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/capillaryRise/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/capillaryRise/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/cavitatingBullet/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/cavitatingBullet/constant/physicalProperties.vapour create mode 100644 tutorials/multiphase/interFoam/laminar/cavitatingBullet/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/cavitatingBullet/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/0/U create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/0/alpha.liquid.orig create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/0/p create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/0/p_rgh create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/0/sigma.liquid create mode 100755 tutorials/multiphase/interFoam/laminar/climbingRod/Allclean create mode 100755 tutorials/multiphase/interFoam/laminar/climbingRod/Allrun create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/README create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/fvModels create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/g create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/momentumTransport create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/momentumTransport.air create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/momentumTransport.liquid create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/constant/physicalProperties.liquid create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/system/blockMeshDict rename tutorials/{incompressible/nonNewtonianIcoFoam/offsetCylinder/system/fvSolution => multiphase/interFoam/laminar/climbingRod/system/controlDict} (58%) rename tutorials/multiphase/interFoam/laminar/{mixerVessel2D/constant/transportProperties => climbingRod/system/extrudeMeshDict} (59%) create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/system/fvSchemes create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/system/fvSolution create mode 100644 tutorials/multiphase/interFoam/laminar/climbingRod/system/setFieldsDict create mode 100644 tutorials/multiphase/interFoam/laminar/containerDischarge2D/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/containerDischarge2D/constant/physicalProperties.gas create mode 100644 tutorials/multiphase/interFoam/laminar/containerDischarge2D/constant/physicalProperties.liquid delete mode 100644 tutorials/multiphase/interFoam/laminar/containerDischarge2D/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/damBreak/damBreak/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/damBreak/damBreak/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/damBreak/damBreak/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/damBreak/damBreak/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/damBreakWithObstacle/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/damBreakWithObstacle/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/damBreakWithObstacle/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/damBreakWithObstacle/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/physicalProperties.oir create mode 100644 tutorials/multiphase/interFoam/laminar/mixerVessel2D/constant/physicalProperties.water create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingCylinder/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingCylinder/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingCylinder/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/sloshingCylinder/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank2D3DoF/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D3DoF/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/sloshingTank3D6DoF/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/testTubeMixer/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/testTubeMixer/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/testTubeMixer/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/testTubeMixer/constant/transportProperties create mode 100644 tutorials/multiphase/interFoam/laminar/wave/constant/phaseProperties create mode 100644 tutorials/multiphase/interFoam/laminar/wave/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interFoam/laminar/wave/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interFoam/laminar/wave/constant/transportProperties create mode 100644 tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/phaseProperties create mode 100644 tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/physicalProperties.air create mode 100644 tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/physicalProperties.other create mode 100644 tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties create mode 100644 tutorials/multiphase/multiphaseEulerFoam/LES/bubbleColumn/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/{laminar/bed/constant/thermophysicalProperties.water => LES/bubbleColumn/constant/physicalProperties.water} (96%) delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/LES/bubbleColumn/constant/thermophysicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/RAS/Grossetete/constant/{thermophysicalProperties.gas => physicalProperties.gas} (96%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/Grossetete/constant/{thermophysicalProperties.liquid => physicalProperties.liquid} (96%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/LBend/constant/{thermophysicalProperties.gas => physicalProperties.gas} (96%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/LBend/constant/{thermophysicalProperties.solids => physicalProperties.solids} (95%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/RAS/bubbleColumn/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/RAS/bubbleColumn/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/RAS/bubbleColumn/constant/thermophysicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/constant/{thermophysicalProperties.gas => physicalProperties.gas} (95%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/bubbleColumnEvaporatingReacting/constant/{thermophysicalProperties.liquid => physicalProperties.liquid} (96%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/bubblePipe/constant/{thermophysicalProperties.air1 => physicalProperties.air1} (95%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/RAS/bubblePipe/constant/physicalProperties.air2 rename tutorials/multiphase/multiphaseEulerFoam/RAS/bubblePipe/constant/{thermophysicalProperties.water => physicalProperties.water} (95%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/RAS/fluidisedBed/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/{laminar/trickleBed/constant/thermophysicalProperties.solid => RAS/fluidisedBed/constant/physicalProperties.particles} (96%) delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/RAS/fluidisedBed/constant/thermophysicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/RAS/wallBoiling/constant/{thermophysicalProperties.gas => physicalProperties.gas} (95%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/{wallBoilingPolydisperse/constant/thermophysicalProperties.liquid => wallBoiling/constant/physicalProperties.liquid} (95%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/{wallBoilingPolydisperse/constant/thermophysicalProperties.gas => wallBoilingIATE/constant/physicalProperties.gas} (95%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/{wallBoiling/constant/thermophysicalProperties.liquid => wallBoilingIATE/constant/physicalProperties.liquid} (95%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/{wallBoilingIATE/constant/thermophysicalProperties.gas => wallBoilingPolydisperse/constant/physicalProperties.gas} (95%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/{wallBoilingPolydisperseTwoGroups/constant/thermophysicalProperties.liquid => wallBoilingPolydisperse/constant/physicalProperties.liquid} (95%) rename tutorials/multiphase/multiphaseEulerFoam/RAS/wallBoilingPolydisperseTwoGroups/constant/{thermophysicalProperties.gas => physicalProperties.gas} (95%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/RAS/wallBoilingPolydisperseTwoGroups/constant/physicalProperties.gas2 rename tutorials/multiphase/multiphaseEulerFoam/RAS/{wallBoilingIATE/constant/thermophysicalProperties.liquid => wallBoilingPolydisperseTwoGroups/constant/physicalProperties.liquid} (95%) delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/RAS/wallBoilingPolydisperseTwoGroups/constant/thermophysicalProperties.gas2 create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bed/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/laminar/bed/constant/{thermophysicalProperties.solid => physicalProperties.solid} (96%) rename tutorials/multiphase/multiphaseEulerFoam/{LES/bubbleColumn/constant/thermophysicalProperties.water => laminar/bed/constant/physicalProperties.water} (96%) delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bed/constant/thermophysicalProperties.air create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumn/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumn/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumn/constant/thermophysicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnEvaporating/constant/{thermophysicalProperties.gas => physicalProperties.gas} (97%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnEvaporating/constant/{thermophysicalProperties.liquid => physicalProperties.liquid} (97%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnEvaporatingDissolving/constant/{thermophysicalProperties.gas => physicalProperties.gas} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnEvaporatingDissolving/constant/{thermophysicalProperties.liquid => physicalProperties.liquid} (97%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnIATE/constant/physicalProperties.air create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnIATE/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnIATE/constant/thermophysicalProperties.air delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/bubbleColumnIATE/constant/thermophysicalProperties.water create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/damBreak4phase/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/laminar/damBreak4phase/constant/{thermophysicalProperties.mercury => physicalProperties.mercury} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/{mixerVessel2D/constant/thermophysicalProperties.oil => damBreak4phase/constant/physicalProperties.oil} (96%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/damBreak4phase/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/damBreak4phase/constant/thermophysicalProperties.air delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/damBreak4phase/constant/thermophysicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/damBreak4phase/constant/transportProperties create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/fluidisedBed/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/{RAS/fluidisedBed/constant/thermophysicalProperties.particles => laminar/fluidisedBed/constant/physicalProperties.particles} (95%) delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/fluidisedBed/constant/thermophysicalProperties.air create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/injection/constant/physicalProperties.air create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/injection/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/injection/constant/thermophysicalProperties.air delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/injection/constant/thermophysicalProperties.water rename tutorials/multiphase/multiphaseEulerFoam/laminar/mixerVessel2D/constant/{thermophysicalProperties.air => physicalProperties.air} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/mixerVessel2D/constant/{thermophysicalProperties.mercury => physicalProperties.mercury} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/{damBreak4phase/constant/thermophysicalProperties.oil => mixerVessel2D/constant/physicalProperties.oil} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/mixerVessel2D/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/mixerVesselAMI2D/constant/{thermophysicalProperties.air => physicalProperties.air} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/mixerVesselAMI2D/constant/{thermophysicalProperties.mercury => physicalProperties.mercury} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/mixerVesselAMI2D/constant/{thermophysicalProperties.oil => physicalProperties.oil} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/mixerVesselAMI2D/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/steamInjection/constant/{thermophysicalProperties.steam => physicalProperties.steam} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/steamInjection/constant/{thermophysicalProperties.water => physicalProperties.water} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/titaniaSynthesis/constant/{thermophysicalProperties.particles => physicalProperties.particles} (95%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/titaniaSynthesis/constant/{thermophysicalProperties.vapor => physicalProperties.vapor} (95%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/titaniaSynthesisSurface/constant/{thermophysicalProperties.particles => physicalProperties.particles} (96%) rename tutorials/multiphase/multiphaseEulerFoam/laminar/titaniaSynthesisSurface/constant/{thermophysicalProperties.vapor => physicalProperties.vapor} (95%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/trickleBed/constant/physicalProperties.air rename tutorials/multiphase/multiphaseEulerFoam/laminar/{fluidisedBed/constant/thermophysicalProperties.particles => trickleBed/constant/physicalProperties.solid} (95%) create mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/trickleBed/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/trickleBed/constant/thermophysicalProperties.air delete mode 100644 tutorials/multiphase/multiphaseEulerFoam/laminar/trickleBed/constant/thermophysicalProperties.water create mode 100644 tutorials/multiphase/multiphaseInterFoam/RAS/damBreak4phase/constant/phaseProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/RAS/damBreak4phase/constant/physicalProperties.air create mode 100644 tutorials/multiphase/multiphaseInterFoam/RAS/damBreak4phase/constant/physicalProperties.mercury create mode 100644 tutorials/multiphase/multiphaseInterFoam/RAS/damBreak4phase/constant/physicalProperties.oil create mode 100644 tutorials/multiphase/multiphaseInterFoam/RAS/damBreak4phase/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseInterFoam/RAS/damBreak4phase/constant/transportProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/phaseProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/physicalProperties.air create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/physicalProperties.mercury create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/physicalProperties.oil create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phase/constant/transportProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/phaseProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/physicalProperties.air create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/physicalProperties.mercury create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/physicalProperties.oil create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/damBreak4phaseFine/constant/transportProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/phaseProperties create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/physicalProperties.air create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/physicalProperties.mercury create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/physicalProperties.oil create mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/multiphaseInterFoam/laminar/mixerVessel2D/constant/transportProperties rename tutorials/multiphase/potentialFreeSurfaceFoam/{oscillatingBox/constant/transportProperties => movingOscillatingBox/constant/physicalProperties} (91%) rename tutorials/multiphase/potentialFreeSurfaceFoam/{movingOscillatingBox/constant/transportProperties => oscillatingBox/constant/physicalProperties} (91%) rename tutorials/{compressible/rhoPimpleFoam/RAS/annularThermalMixer/constant/transportProperties => multiphase/twoLiquidMixingFoam/lockExchange/constant/phaseProperties} (85%) create mode 100644 tutorials/multiphase/twoLiquidMixingFoam/lockExchange/constant/physicalProperties.sludge create mode 100644 tutorials/multiphase/twoLiquidMixingFoam/lockExchange/constant/physicalProperties.water delete mode 100644 tutorials/multiphase/twoLiquidMixingFoam/lockExchange/constant/transportProperties rename tutorials/stressAnalysis/solidDisplacementFoam/plateHole/constant/{thermophysicalProperties => physicalProperties} (96%) rename tutorials/stressAnalysis/solidEquilibriumDisplacementFoam/beamEndLoad/constant/{thermophysicalProperties => physicalProperties} (96%) 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