diff --git a/src/Mod/Fem/femsolver/elmer/equations/flow.py b/src/Mod/Fem/femsolver/elmer/equations/flow.py index 85d40ea78c..2742a0029e 100644 --- a/src/Mod/Fem/femsolver/elmer/equations/flow.py +++ b/src/Mod/Fem/femsolver/elmer/equations/flow.py @@ -34,9 +34,6 @@ from ... import equationbase CONVECTION_TYPE = ["None", "Computed", "Constant"] -def getConvectionType(): - return CONVECTION_TYPE - def create(doc, name="Flow"): return femutils.createObject( doc, name, Proxy, ViewProxy) diff --git a/src/Mod/Fem/femsolver/elmer/equations/heat.py b/src/Mod/Fem/femsolver/elmer/equations/heat.py index 2b738ee8cd..f3458605ee 100644 --- a/src/Mod/Fem/femsolver/elmer/equations/heat.py +++ b/src/Mod/Fem/femsolver/elmer/equations/heat.py @@ -33,7 +33,7 @@ from . import nonlinear from ... import equationbase CONVECTION_TYPE = ["None", "Computed", "Constant"] -PHASE_MODEL = ["None", "Spatial 1", "Spatial 2", "Temporal"] +PHASE_CHANGE_MODEL = ["None", "Spatial 1", "Spatial 2", "Temporal"] def create(doc, name="Heat"): return femutils.createObject( @@ -71,8 +71,8 @@ class Proxy(nonlinear.Proxy, equationbase.HeatProxy): obj.Bubbles = True obj.Stabilize = False obj.Convection = CONVECTION_TYPE - obj.Convection = "None" - obj.PhaseChangeModel = PHASE_MODEL + obj.Convection = "Computed" + obj.PhaseChangeModel = PHASE_CHANGE_MODEL obj.PhaseChangeModel = "None" obj.Priority = 20 diff --git a/src/Mod/Fem/femsolver/elmer/writer.py b/src/Mod/Fem/femsolver/elmer/writer.py index c5730cba4d..d7273f3ebb 100644 --- a/src/Mod/Fem/femsolver/elmer/writer.py +++ b/src/Mod/Fem/femsolver/elmer/writer.py @@ -41,12 +41,15 @@ from FreeCAD import ParamGet import Fem from . import sifio +from . import solver as solverClass from .. import settings from femmesh import gmshtools from femtools import constants from femtools import femutils from femtools import membertools +from .equations import elasticity from .equations import flow +from .equations import heat _STARTINFO_NAME = "ELMERSOLVER_STARTINFO" @@ -365,7 +368,7 @@ class Writer(object): "Type", "" ) - solver.SimulationType = ["Scanning", "Steady State", "Transient"] + solver.SimulationType = solverClass.SIMULATION_TYPE solver.SimulationType = "Steady State" if not hasattr(self.solver, "TimestepIntervals"): solver.addProperty( @@ -444,8 +447,8 @@ class Writer(object): "Equation", "Type of convection to be used" ) - equation.Convection = ["None", "Computed", "Constant"] - equation.Convection = "None" + equation.Convection = heat.CONVECTION_TYPE + equation.Convection = "Computed" if not hasattr(equation, "PhaseChangeModel"): equation.addProperty( "App::PropertyEnumeration", @@ -453,7 +456,7 @@ class Writer(object): "Equation", "Model for phase change" ) - equation.PhaseChangeModel = ["None", "Spatial 1", "Spatial 2", "Temporal"] + equation.PhaseChangeModel = heat.PHASE_CHANGE_MODEL equation.PhaseChangeModel = "None" def _handleHeatBndConditions(self): @@ -900,14 +903,6 @@ class Writer(object): "Max iterations for iterative eigensystem solver" ) equation.EigenSystemMaxIterations = (300, 1, int(1e8), 1) - EIGEN_SYSTEM_SELECT = [ - "Smallest Magnitude", - "Largest Magnitude", - "Smallest Real Part", - "Largest Real Part", - "Smallest Imag Part", - "Largest Imag Part" - ] if not hasattr(equation, "EigenSystemSelect"): equation.addProperty( "App::PropertyEnumeration", @@ -915,7 +910,7 @@ class Writer(object): "Eigen Values", "Which eigenvalues are computed" ) - equation.EigenSystemSelect = EIGEN_SYSTEM_SELECT + equation.EigenSystemSelect = elasticity.EIGEN_SYSTEM_SELECT equation.EigenSystemSelect = "Smallest Magnitude" if not hasattr(equation, "EigenSystemTolerance"): equation.addProperty( @@ -1204,7 +1199,7 @@ class Writer(object): "Equation", "Type of convection to be used" ) - equation.Convection = flow.getConvectionType() + equation.Convection = flow.CONVECTION_TYPE equation.Convection = "Computed" if not hasattr(equation, "MagneticInduction"): equation.addProperty(