diff --git a/CfdOF/Solve/CfdSolverFoam.py b/CfdOF/Solve/CfdSolverFoam.py index 01d27a30..83a574ab 100644 --- a/CfdOF/Solve/CfdSolverFoam.py +++ b/CfdOF/Solve/CfdSolverFoam.py @@ -153,6 +153,47 @@ def initProperties(self, obj): QT_TRANSLATE_NOOP("App::Property", "Global absolute solution convergence criterion"), ) + addObjectProperty( + obj, + "RelaxationU", + 0.7, + "App::PropertyFloat", + "Relaxation", + QT_TRANSLATE_NOOP("App::Property", "Velocity equation relaxation factor (steady-state)"), + ) + addObjectProperty( + obj, + "RelaxationP", + 0.3, + "App::PropertyFloat", + "Relaxation", + QT_TRANSLATE_NOOP("App::Property", "Pressure field relaxation factor (steady-state)"), + ) + addObjectProperty( + obj, + "RelaxationH", + 0.7, + "App::PropertyFloat", + "Relaxation", + QT_TRANSLATE_NOOP("App::Property", "Enthalpy equation relaxation factor (steady-state)"), + ) + addObjectProperty( + obj, + "RelaxationTurbulence", + 0.7, + "App::PropertyFloat", + "Relaxation", + QT_TRANSLATE_NOOP("App::Property", "Turbulence equations relaxation factor (steady-state)"), + ) + addObjectProperty( + obj, + "RelaxationRho", + 0.5, + "App::PropertyFloat", + "Relaxation", + QT_TRANSLATE_NOOP("App::Property", "Density field relaxation factor (steady-state)"), + ) + if addObjectProperty( obj, "StartFrom", diff --git a/Data/Templates/case/system/fvSolution b/Data/Templates/case/system/fvSolution index 4d3610cb..3cdeb80a 100644 --- a/Data/Templates/case/system/fvSolution +++ b/Data/Templates/case/system/fvSolution @@ -321,94 +321,92 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes %{%(physics/Time%) %:Steady equations { %{%(solver/SolverName%) %:SRFSimpleFoam - Urel 0.7; + Urel %(solver/RelaxationU%); %:default - U 0.7; + U %(solver/RelaxationU%); %} %{%(solver/SolverName%) %:buoyantSimpleFoam - h 0.7; + h %(solver/RelaxationH%); %} %{%(physics/Turbulence%) %:RANS DES %{%(physics/TurbulenceModel%) %:kOmegaSST kOmegaSSTDES kOmegaSSTDDES kOmegaSSTIDDES - k 0.7; - omega 0.7; + k %(solver/RelaxationTurbulence%); + omega %(solver/RelaxationTurbulence%); %:kEpsilon - k 0.7; - epsilon 0.7; + k %(solver/RelaxationTurbulence%); + epsilon %(solver/RelaxationTurbulence%); %:SpalartAllmaras SpalartAllmarasDES SpalartAllmarasDDES SpalartAllmarasIDDES - nuTilda 0.7; + nuTilda %(solver/RelaxationTurbulence%); %:kOmegaSSTLM - k 0.7; - omega 0.7; - gammaInt 0.7; - ReThetat 0.7; + k %(solver/RelaxationTurbulence%); + omega %(solver/RelaxationTurbulence%); + gammaInt %(solver/RelaxationTurbulence%); + ReThetat %(solver/RelaxationTurbulence%); %} %} %{%(scalarTransportFunctionsEnabled%) %:True %{%(scalarTransportFunctions%) - %(scalarTransportFunctions/%(0%)/FieldName%) 0.7; + %(scalarTransportFunctions/%(0%)/FieldName%) %(solver/RelaxationU%); %} %} } fields { - p 0.3; + p %(solver/RelaxationP%); %{%(solver/SolverName%) %:buoyantSimpleFoam - p_rgh 0.3; - rho 0.5; + p_rgh %(solver/RelaxationP%); + rho %(solver/RelaxationRho%); %} } %:Transient equations { - U 0.7; + U %(solver/RelaxationU%); UFinal 1; %{%(solver/SolverName%) %:buoyantPimpleFoam - h 0.7; + h %(solver/RelaxationH%); hFinal 1; %} %{%(physics/Turbulence%) %:RANS DES LES %{%(physics/TurbulenceModel%) %:kOmegaSST kOmegaSSTDES kOmegaSSTDDES kOmegaSSTIDDES - k 0.7; + k %(solver/RelaxationTurbulence%); kFinal 1; - omega 0.7; + omega %(solver/RelaxationTurbulence%); omegaFinal 1; %:kEpsilon - k 0.7; + k %(solver/RelaxationTurbulence%); kFinal 1; - epsilon 0.7; + epsilon %(solver/RelaxationTurbulence%); epsilonFinal 1; %:SpalartAllmaras SpalartAllmarasDES SpalartAllmarasDDES SpalartAllmarasIDDES - nuTilda 0.7; + nuTilda %(solver/RelaxationTurbulence%); nuTildaFinal 1; %:kOmegaSSTLM - k 0.7; + k %(solver/RelaxationTurbulence%); kFinal 1; - omega 0.7; + omega %(solver/RelaxationTurbulence%); omegaFinal 1; - gammaInt 0.7; + gammaInt %(solver/RelaxationTurbulence%); gammaIntFinal 1; - ReThetat 0.7; + ReThetat %(solver/RelaxationTurbulence%); ReThetatFinal 1; %:kEqn - k 0.7; + k %(solver/RelaxationTurbulence%); kFinal 1; %} %} @@ -419,7 +417,7 @@ relaxationFactors %{%(scalarTransportFunctionsEnabled%) %:True %{%(scalarTransportFunctions%) - %(scalarTransportFunctions/%(0%)/FieldName%) 0.7; + %(scalarTransportFunctions/%(0%)/FieldName%) %(solver/RelaxationU%); %(scalarTransportFunctions/%(0%)/FieldName%)Final 1; %} %} diff --git a/Data/TestFiles/cases/BatteryCooling/case/system/fvSolution b/Data/TestFiles/cases/BatteryCooling/case/system/fvSolution index 80315ca6..29ded5c9 100644 --- a/Data/TestFiles/cases/BatteryCooling/case/system/fvSolution +++ b/Data/TestFiles/cases/BatteryCooling/case/system/fvSolution @@ -125,8 +125,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/DamBreak3D/case/system/fvSolution b/Data/TestFiles/cases/DamBreak3D/case/system/fvSolution index bacb265f..9e14ca71 100644 --- a/Data/TestFiles/cases/DamBreak3D/case/system/fvSolution +++ b/Data/TestFiles/cases/DamBreak3D/case/system/fvSolution @@ -116,8 +116,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/Duct/case/system/fvSolution b/Data/TestFiles/cases/Duct/case/system/fvSolution index 0895451a..63a62f56 100644 --- a/Data/TestFiles/cases/Duct/case/system/fvSolution +++ b/Data/TestFiles/cases/Duct/case/system/fvSolution @@ -93,8 +93,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/Elbow/case/system/fvSolution b/Data/TestFiles/cases/Elbow/case/system/fvSolution index 0895451a..63a62f56 100644 --- a/Data/TestFiles/cases/Elbow/case/system/fvSolution +++ b/Data/TestFiles/cases/Elbow/case/system/fvSolution @@ -93,8 +93,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/LESStep/case/system/fvSolution b/Data/TestFiles/cases/LESStep/case/system/fvSolution index cc4a64b4..cc06941d 100644 --- a/Data/TestFiles/cases/LESStep/case/system/fvSolution +++ b/Data/TestFiles/cases/LESStep/case/system/fvSolution @@ -119,8 +119,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/PeriodicBoundaryAndMeanVelocityForce/case/system/fvSolution b/Data/TestFiles/cases/PeriodicBoundaryAndMeanVelocityForce/case/system/fvSolution index df084e75..8ea178bb 100644 --- a/Data/TestFiles/cases/PeriodicBoundaryAndMeanVelocityForce/case/system/fvSolution +++ b/Data/TestFiles/cases/PeriodicBoundaryAndMeanVelocityForce/case/system/fvSolution @@ -109,8 +109,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/Projectile/case/system/fvSolution b/Data/TestFiles/cases/Projectile/case/system/fvSolution index bffec2ba..4c101dba 100644 --- a/Data/TestFiles/cases/Projectile/case/system/fvSolution +++ b/Data/TestFiles/cases/Projectile/case/system/fvSolution @@ -113,8 +113,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/Propeller/case/system/fvSolution b/Data/TestFiles/cases/Propeller/case/system/fvSolution index 0308ea41..eaacb9d6 100644 --- a/Data/TestFiles/cases/Propeller/case/system/fvSolution +++ b/Data/TestFiles/cases/Propeller/case/system/fvSolution @@ -111,8 +111,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/UAV/case/system/fvSolution b/Data/TestFiles/cases/UAV/case/system/fvSolution index df084e75..8ea178bb 100644 --- a/Data/TestFiles/cases/UAV/case/system/fvSolution +++ b/Data/TestFiles/cases/UAV/case/system/fvSolution @@ -109,8 +109,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/ViscousTubeBundle/case/system/fvSolution b/Data/TestFiles/cases/ViscousTubeBundle/case/system/fvSolution index df084e75..8ea178bb 100644 --- a/Data/TestFiles/cases/ViscousTubeBundle/case/system/fvSolution +++ b/Data/TestFiles/cases/ViscousTubeBundle/case/system/fvSolution @@ -109,8 +109,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/Data/TestFiles/cases/block/case/system/fvSolution b/Data/TestFiles/cases/block/case/system/fvSolution index 0895451a..63a62f56 100644 --- a/Data/TestFiles/cases/block/case/system/fvSolution +++ b/Data/TestFiles/cases/block/case/system/fvSolution @@ -93,8 +93,6 @@ solvers relaxationFactors { - // Conservative settings to solve reliably on bad - // meshes equations { U 0.7; diff --git a/package.xml b/package.xml index 0c4a4229..830e193e 100644 --- a/package.xml +++ b/package.xml @@ -11,8 +11,8 @@ 1.0.0 - 1.34.16 - 2026-04-16 + 1.34.18 + 2026-04-19