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