[FEM] Elmer: fix error on wrong material settings

- if user set no material for a body, we must raise an error
- also fix annoying output of permittivity in case.sif file
This commit is contained in:
Uwe
2023-02-03 06:38:50 +01:00
parent a891d5c766
commit 51185e1c06

View File

@@ -723,6 +723,10 @@ class Writer(object):
if obj is not None:
for name in bodies:
gravity = self._convert(self.constsdef["Gravity"], "L/T^2")
if self._getBodyMaterial(name) == None:
raise WriteError(
"The body {} is not referenced in any material.\n\n".format(name)
)
m = self._getBodyMaterial(name).Material
densityQuantity = Units.Quantity(m["Density"])
@@ -908,9 +912,11 @@ class Writer(object):
equation.PotentialDifference = 0.0
def _handleElectrostaticConstants(self):
permittivity = self._convert(self.constsdef["PermittivityOfVacuum"], "T^4*I^2/(L^3*M)")
permittivity = round(permittivity, 20) # to get rid of numerical artifacts
self._constant(
"Permittivity Of Vacuum",
self._convert(self.constsdef["PermittivityOfVacuum"], "T^4*I^2/(L^3*M)")
permittivity
)
def _handleElectrostaticMaterial(self, bodies):