From 9b4f327e2b993ba533d7ff1f0219dad39d78c23d Mon Sep 17 00:00:00 2001 From: Henry Weller <http://cfd.direct> Date: Fri, 17 Feb 2017 22:08:42 +0000 Subject: [PATCH] liquidProperties: Simplified dictionary format The defaultCoeffs entry is now redundant and supported only for backward compatibility. To specify a liquid with default coefficients simply leave the coefficients dictionary empty: liquids { H2O {} } Any or all of the coefficients may be overridden by specifying the properties in the coefficients dictionary, e.g. liquids { H2O { rho { a 1000; b 0; c 0; d 0; } } } --- .../liquidProperties/liquidProperties.C | 86 ++++++++++++------- .../solidProperties/solidPropertiesNew.C | 3 +- .../constant/thermophysicalProperties | 5 +- .../constant/thermophysicalProperties | 13 +-- .../constant/thermophysicalProperties | 9 +- .../constant/thermophysicalProperties | 9 +- .../constant/thermophysicalProperties | 9 +- .../constant/thermophysicalProperties | 9 +- .../filter/constant/thermophysicalProperties | 9 +- .../constant/thermophysicalProperties | 9 +- .../constant/thermophysicalProperties | 9 +- .../constant/thermophysicalProperties | 10 +-- .../constant/thermophysicalProperties | 9 +- .../constant/thermophysicalProperties | 10 +-- 14 files changed, 82 insertions(+), 117 deletions(-) diff --git a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C index fa98b40945c..e8731cd47f1 100644 --- a/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C +++ b/src/thermophysicalModels/properties/liquidProperties/liquidProperties/liquidProperties.C @@ -97,24 +97,49 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New const word& liquidPropertiesTypeName = dict.dictName(); - const Switch defaultCoeffs(dict.lookup("defaultCoeffs")); - - if (defaultCoeffs) + if (dict.found("defaultCoeffs")) { - ConstructorTable::iterator cstrIter = - ConstructorTablePtr_->find(liquidPropertiesTypeName); + // Backward-compatibility + + const Switch defaultCoeffs(dict.lookup("defaultCoeffs")); - if (cstrIter == ConstructorTablePtr_->end()) + if (defaultCoeffs) { - FatalErrorInFunction - << "Unknown liquidProperties type " - << liquidPropertiesTypeName << nl << nl - << "Valid liquidProperties types are:" << nl - << ConstructorTablePtr_->sortedToc() - << abort(FatalError); + ConstructorTable::iterator cstrIter = + ConstructorTablePtr_->find(liquidPropertiesTypeName); + + if (cstrIter == ConstructorTablePtr_->end()) + { + FatalErrorInFunction + << "Unknown liquidProperties type " + << liquidPropertiesTypeName << nl << nl + << "Valid liquidProperties types are:" << nl + << ConstructorTablePtr_->sortedToc() + << abort(FatalError); + } + + return autoPtr<liquidProperties>(cstrIter()()); + } + else + { + dictionaryConstructorTable::iterator cstrIter = + dictionaryConstructorTablePtr_->find(liquidPropertiesTypeName); + + if (cstrIter == dictionaryConstructorTablePtr_->end()) + { + FatalErrorInFunction + << "Unknown liquidProperties type " + << liquidPropertiesTypeName << nl << nl + << "Valid liquidProperties types are:" << nl + << dictionaryConstructorTablePtr_->sortedToc() + << abort(FatalError); + } + + return autoPtr<liquidProperties> + ( + cstrIter()(dict.subDict(liquidPropertiesTypeName + "Coeffs")) + ); } - - return autoPtr<liquidProperties>(cstrIter()()); } else { @@ -131,10 +156,7 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New << abort(FatalError); } - return autoPtr<liquidProperties> - ( - cstrIter()(dict.subDict(liquidPropertiesTypeName + "Coeffs")) - ); + return autoPtr<liquidProperties>(cstrIter()(dict)); } } @@ -144,91 +166,91 @@ Foam::autoPtr<Foam::liquidProperties> Foam::liquidProperties::New Foam::scalar Foam::liquidProperties::rho(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::pv(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::hl(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::Cp(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::h(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::Cpg(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::mu(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::mug(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::kappa(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::kappag(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::sigma(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::D(scalar p, scalar T) const { NotImplemented; - return 0.0; + return 0; } Foam::scalar Foam::liquidProperties::D(scalar p, scalar T, scalar Wb) const { NotImplemented; - return 0.0; + return 0; } @@ -259,7 +281,7 @@ Foam::scalar Foam::liquidProperties::pvInvert(scalar p) const while ((Thi - Tlo) > 1.0e-4) { - if ((pv(p, T) - p) <= 0.0) + if ((pv(p, T) - p) <= 0) { Tlo = T; } diff --git a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C index 0e6119e0f04..66f6d8f96ec 100644 --- a/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C +++ b/src/thermophysicalModels/properties/solidProperties/solidProperties/solidPropertiesNew.C @@ -39,9 +39,8 @@ Foam::autoPtr<Foam::solidProperties> Foam::solidProperties::New } const word solidType(dict.dictName()); - const Switch defaultCoeffs(dict.lookup("defaultCoeffs")); - if (defaultCoeffs) + if (!dict.found("defaultCoeffs") || Switch(dict.lookup("defaultCoeffs"))) { ConstructorTable::iterator cstrIter = ConstructorTablePtr_->find(solidType); diff --git a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties index 28c98b1d673..87cd6d9084f 100644 --- a/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties +++ b/tutorials/combustion/fireFoam/LES/flameSpreadWaterSuppressionPanel/constant/thermophysicalProperties @@ -36,13 +36,10 @@ foamChemistryFile "$FOAM_CASE/constant/reactions"; foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas"; - liquids { H2O - { - defaultCoeffs yes; - } + {} } solids diff --git a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties index 63932b5a8d5..5b7081583d4 100644 --- a/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties +++ b/tutorials/lagrangian/coalChemistryFoam/simplifiedSiwek/constant/thermophysicalProperties @@ -36,10 +36,7 @@ inertSpecie N2; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids @@ -47,7 +44,7 @@ solids C { defaultCoeffs no; - // if defaultCoeffs no properties should be : + CCoeffs { rho 2010; @@ -57,10 +54,8 @@ solids emissivity 1.0; } } - ash - { - defaultCoeffs yes; - } + + ash {} } diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties index 0a37bdeb40e..4f5a09da718 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/cylinder/constant/thermophysicalProperties @@ -36,16 +36,11 @@ inertSpecie N2; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // ************************************************************************* // diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties index 0a37bdeb40e..4f5a09da718 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/hotBoxes/constant/thermophysicalProperties @@ -36,16 +36,11 @@ inertSpecie N2; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // ************************************************************************* // diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties index 0a37bdeb40e..4f5a09da718 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/rivuletPanel/constant/thermophysicalProperties @@ -36,16 +36,11 @@ inertSpecie N2; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // ************************************************************************* // diff --git a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties index 0a37bdeb40e..4f5a09da718 100644 --- a/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFilmFoam/splashPanel/constant/thermophysicalProperties @@ -36,16 +36,11 @@ inertSpecie N2; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // ************************************************************************* // diff --git a/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties index a703f9908a6..4d387a46f61 100644 --- a/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFoam/filter/constant/thermophysicalProperties @@ -36,16 +36,11 @@ foamChemistryThermoFile "$FOAM_CASE/constant/thermo.incompressiblePoly"; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} inertSpecie N2; diff --git a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties index 8e324f5244f..ee162cff25b 100644 --- a/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFoam/parcelInBox/constant/thermophysicalProperties @@ -38,16 +38,11 @@ inertSpecie air; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // ************************************************************************* // diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties index d12affc2f3b..ee162cff25b 100644 --- a/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannel/constant/thermophysicalProperties @@ -38,16 +38,11 @@ inertSpecie air; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // ************************************************************************* // diff --git a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/thermophysicalProperties b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/thermophysicalProperties index c2a5aa1eb71..76f240e5ca3 100644 --- a/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/thermophysicalProperties +++ b/tutorials/lagrangian/reactingParcelFoam/verticalChannelLTS/constant/thermophysicalProperties @@ -36,18 +36,14 @@ inertSpecie air; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // de-activate the pressure-work term when running local time-stepping dpdt no; + // ************************************************************************* // diff --git a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/thermophysicalProperties b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/thermophysicalProperties index 9b63bc18b37..9eb1bc72334 100644 --- a/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/thermophysicalProperties +++ b/tutorials/lagrangian/simpleReactingParcelFoam/verticalChannel/constant/thermophysicalProperties @@ -36,16 +36,11 @@ inertSpecie air; liquids { - H2O - { - defaultCoeffs yes; - } + H2O {} } solids -{ - // none -} +{} // ************************************************************************* // diff --git a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties index 312d8c6b954..4456333c912 100644 --- a/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties +++ b/tutorials/lagrangian/sprayFoam/aachenBomb/constant/thermophysicalProperties @@ -36,15 +36,11 @@ inertSpecie N2; liquids { - C7H16 - { - defaultCoeffs yes; - } + C7H16 {} } solids -{ - // none -} +{} + // ************************************************************************* // -- GitLab