diff --git a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui
index de85084c5d..dedb7b97d3 100644
--- a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui
+++ b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui
@@ -14,12 +14,12 @@
Analysis feature properties
- -
+
-
-
+
-
@@ -41,9 +41,9 @@
false
-
-
-
-
+
+
-
+
-
@@ -75,8 +75,8 @@
- -
-
+
-
+
To define scalar potential and magnetic vector potential
@@ -88,8 +88,11 @@
- -
-
+
-
+
+
+
+
true
@@ -100,10 +103,7 @@ with a harmonic/oscillating driving force
false
-
- false
-
-
+
-
@@ -136,9 +136,6 @@ with a harmonic/oscillating driving force
-
-
- unspecified
-
@@ -147,13 +144,10 @@ with a harmonic/oscillating driving force
-
- false
+ true
- Potential as specified above
-
-
- true
+ Real part of scalar potential
true
@@ -171,9 +165,6 @@ with a harmonic/oscillating driving force
-
-
- unspecified
-
@@ -213,9 +204,6 @@ with a harmonic/oscillating driving force
-
-
- unspecified
-
@@ -246,9 +234,6 @@ Note: has no effect if a solid was selected
-
-
- unspecified
-
@@ -289,9 +274,6 @@ Note: has no effect if a solid was selected
-
-
- unspecified
-
@@ -322,9 +304,6 @@ Note: has no effect if a solid was selected
-
-
- unspecified
-
@@ -365,9 +344,6 @@ Note: has no effect if a solid was selected
-
-
- unspecified
-
@@ -398,9 +374,6 @@ Note: has no effect if a solid was selected
-
-
- unspecified
-
@@ -432,64 +405,28 @@ Note: has no effect if a solid was selected
- -
-
-
- true
-
-
- Whether the boundary condition defines a farfield potential
-
-
- Farfield / Electric infinity
-
-
-
- -
-
-
- Whether the boundary condition defines a constant potential
-
-
- Potential Constant
-
-
-
- -
-
-
- Whether the boundary condition is for the electric force
-
-
- Calculate Electric Force
-
-
-
- -
-
-
-
-
-
- Capacitance Body:
+
-
+
+
-
+
+
+ true
- Enabled by 'Calculate Capacity Matrix' in Electrostatic equation
+ Whether the boundary condition defines a farfield potential
+
+
+ Electric Infinity
- -
-
+
-
+
- Counter of the body (or face) with a capacitance
+ Whether the boundary condition defines a constant potential
-
- false
-
-
- 1
-
-
- 1
+
+ Potential Constant
@@ -503,7 +440,7 @@ Note: has no effect if a solid was selected
Neumann
-
+
-
@@ -524,6 +461,41 @@ Note: has no effect if a solid was selected
+ -
+
+
+ Capacitance
+
+
+
-
+
+
+ Capacitance Body:
+
+
+ Enabled by 'Calculate Capacity Matrix' in Electrostatic equation
+
+
+
+ -
+
+
+ Counter of the body (or face) with a capacitance
+
+
+ false
+
+
+ 1
+
+
+ 1
+
+
+
+
+
+
@@ -532,9 +504,11 @@ Note: has no effect if a solid was selected
QWidget
+
+ Gui::IntSpinBox
+ QWidget
+
+
-
-
-
diff --git a/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py b/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py
index f1e7f595ec..f2d1d3381e 100644
--- a/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py
+++ b/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py
@@ -32,6 +32,8 @@ __url__ = "https://www.freecad.org"
# \ingroup FEM
# \brief constraint electrostatic potential object
+from FreeCAD import Base
+
from . import base_fempythonobject
_PropHelper = base_fempythonobject._PropHelper
@@ -68,12 +70,30 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
value=True,
)
)
+ prop.append(
+ _PropHelper(
+ type="App::PropertyElectricPotential",
+ name="AV_re",
+ group="Electromagnetic Potential",
+ doc="Real part of scalar potential",
+ value="0 V",
+ )
+ )
+ prop.append(
+ _PropHelper(
+ type="App::PropertyElectricPotential",
+ name="AV_im",
+ group="Electromagnetic Potential",
+ doc="Imaginary part of scalar potential",
+ value="0 V",
+ )
+ )
prop.append(
_PropHelper(
type="App::PropertyElectromagneticPotential",
name="AV_re_1",
- group="Vector Potential",
- doc="Real part of potential x-component",
+ group="Electromagnetic Potential",
+ doc="Real part of vector potential x-component",
value="0 Wb/m",
)
)
@@ -81,8 +101,8 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyElectromagneticPotential",
name="AV_re_2",
- group="Vector Potential",
- doc="Real part of potential y-component",
+ group="Electromagnetic Potential",
+ doc="Real part of vector potential y-component",
value="0 Wb/m",
)
)
@@ -90,8 +110,8 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyElectromagneticPotential",
name="AV_re_3",
- group="Vector Potential",
- doc="Real part of potential z-component",
+ group="Electromagnetic Potential",
+ doc="Real part of vector potential z-component",
value="0 Wb/m",
)
)
@@ -99,8 +119,8 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyElectromagneticPotential",
name="AV_im_1",
- group="Vector Potential",
- doc="Imaginary part of potential x-component",
+ group="Electromagnetic Potential",
+ doc="Imaginary part of vector potential x-component",
value="0 Wb/m",
)
)
@@ -108,8 +128,8 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyElectromagneticPotential",
name="AV_im_2",
- group="Vector Potential",
- doc="Imaginary part of potential y-component",
+ group="Electromagnetic Potential",
+ doc="Imaginary part of vector potential y-component",
value="0 Wb/m",
)
)
@@ -117,8 +137,8 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyElectromagneticPotential",
name="AV_im_3",
- group="Vector Potential",
- doc="Imaginary part of potential z-component",
+ group="Electromagnetic Potential",
+ doc="Imaginary part of vector potential z-component",
value="0 Wb/m",
)
)
@@ -140,20 +160,11 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
value=["Dirichlet", "Neumann"],
)
)
- prop.append(
- _PropHelper(
- type="App::PropertyElectricPotential",
- name="AV_im",
- group="Parameter",
- doc="Imaginary part of scalar potential",
- value="0 V",
- )
- )
prop.append(
_PropHelper(
type="App::PropertyBool",
name="AV_re_1_Disabled",
- group="Vector Potential",
+ group="Electromagnetic Potential",
doc="",
value=True,
)
@@ -162,7 +173,7 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyBool",
name="AV_re_2_Disabled",
- group="Vector Potential",
+ group="Electromagnetic Potential",
doc="",
value=True,
)
@@ -171,7 +182,7 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyBool",
name="AV_re_3_Disabled",
- group="Vector Potential",
+ group="Electromagnetic Potential",
doc="",
value=True,
)
@@ -180,7 +191,7 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyBool",
name="AV_im_1_Disabled",
- group="Vector Potential",
+ group="Electromagnetic Potential",
doc="",
value=True,
)
@@ -189,7 +200,7 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyBool",
name="AV_im_2_Disabled",
- group="Vector Potential",
+ group="Electromagnetic Potential",
doc="",
value=True,
)
@@ -198,7 +209,16 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyBool",
name="AV_im_3_Disabled",
- group="Vector Potential",
+ group="Electromagnetic Potential",
+ doc="",
+ value=True,
+ )
+ )
+ prop.append(
+ _PropHelper(
+ type="App::PropertyBool",
+ name="AV_re_Disabled",
+ group="Electromagnetic Potential",
doc="",
value=True,
)
@@ -207,7 +227,7 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject)
_PropHelper(
type="App::PropertyBool",
name="AV_im_Disabled",
- group="Vector Potential",
+ group="Electromagnetic Potential",
doc="",
value=True,
)
diff --git a/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py b/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py
index c67ddf22ba..7bcb968838 100644
--- a/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py
+++ b/src/Mod/Fem/femsolver/elmer/equations/magnetodynamic_writer.py
@@ -31,6 +31,7 @@ __url__ = "https://www.freecad.org"
from FreeCAD import Console
from FreeCAD import Units
+from femtools import femutils
from .. import sifio
from .. import writer as general_writer
@@ -289,29 +290,27 @@ class MgDynwriter:
currentDensity = float(obj.CurrentDensity_im_1.getValueAs("A/m^2"))
self.write.boundary(name, "Current Density Im 1", round(currentDensity, 6))
- if hasattr(obj, "PotentialEnabled"):
- # check for PotentialEnabled not Potential since PotentialEnabled was
- # added later and only with this the vectorial properties are available
- if obj.PotentialEnabled:
- potential = float(obj.Potential.getValueAs("V"))
+ if femutils.is_derived_from(obj, "Fem::ConstraintElectrostaticPotential"):
+ if not obj.AV_re_Disabled:
+ potential = obj.AV_re.getValueAs("V").Value
if equation.IsHarmonic:
self.write.boundary(name, "AV re", round(potential, 6))
else:
self.write.boundary(name, "AV", round(potential, 6))
if not obj.AV_re_1_Disabled:
- potential = float(obj.AV_re_1.getValueAs("V"))
+ potential = obj.AV_re_1.getValueAs("Wb/m").Value
if equation.IsHarmonic:
self.write.boundary(name, "AV re {e} 1", round(potential, 6))
else:
self.write.boundary(name, "AV {e} 1", round(potential, 6))
if not obj.AV_re_2_Disabled:
- potential = float(obj.AV_re_2.getValueAs("V"))
+ potential = obj.AV_re_2.getValueAs("Wb/m").Value
if equation.IsHarmonic:
self.write.boundary(name, "AV re {e} 2", round(potential, 6))
else:
self.write.boundary(name, "AV {e} 2", round(potential, 6))
if not obj.AV_re_3_Disabled:
- potential = float(obj.AV_re_3.getValueAs("V"))
+ potential = obj.AV_re_3.getValueAs("Wb/m").Value
if equation.IsHarmonic:
self.write.boundary(name, "AV re {e} 3", round(potential, 6))
else:
@@ -319,16 +318,16 @@ class MgDynwriter:
# imaginaries are only needed for harmonic equation
if equation.IsHarmonic:
if not obj.AV_im_Disabled:
- potential = float(obj.AV_im.getValueAs("V"))
+ potential = obj.AV_im.getValueAs("V").Value
self.write.boundary(name, "AV im", round(potential, 6))
if not obj.AV_im_1_Disabled:
- potential = float(obj.AV_im_1.getValueAs("V"))
+ potential = obj.AV_im_1.getValueAs("Wb/m").Value
self.write.boundary(name, "AV im {e} 1", round(potential, 6))
if not obj.AV_im_2_Disabled:
- potential = float(obj.AV_im_2.getValueAs("V"))
+ potential = obj.AV_im_2.getValueAs("Wb/m").Value
self.write.boundary(name, "AV im {e} 2", round(potential, 6))
if not obj.AV_im_3_Disabled:
- potential = float(obj.AV_im_3.getValueAs("V"))
+ potential = obj.AV_im_3.getValueAs("Wb/m").Value
self.write.boundary(name, "AV im {e} 3", round(potential, 6))
def handleMagnetodynamicBndConditions(self, equation):
diff --git a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py
index 33a17dcff2..7cf8903cd6 100644
--- a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py
+++ b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py
@@ -70,23 +70,10 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self._partVisible = None
self._meshVisible = None
- # start with vector inputs hidden if no vector is set
- if (
- self.obj.AV_re_1_Disabled
- and self.obj.AV_re_2_Disabled
- and self.obj.AV_re_3_Disabled
- and self.obj.AV_im_Disabled
- and self.obj.AV_im_1_Disabled
- and self.obj.AV_im_2_Disabled
- and self.obj.AV_im_3_Disabled
- ):
- self._vectorField_visibility(False)
- self.parameter_widget.vectorFieldBox.setChecked(False)
-
QtCore.QObject.connect(
- self.parameter_widget.vectorFieldBox,
+ self.parameter_widget.ckb_electromagnetic,
QtCore.SIGNAL("toggled(bool)"),
- self._vectorField_visibility,
+ self.electromagnetic_enabled_changed,
)
QtCore.QObject.connect(
self.parameter_widget.cb_boundary_condition,
@@ -108,6 +95,11 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
QtCore.SIGNAL("toggled(bool)"),
self.av_re_enabled_changed,
)
+ QtCore.QObject.connect(
+ self.parameter_widget.qsb_av_re,
+ QtCore.SIGNAL("valueChanged(Base::Quantity)"),
+ self.av_re_changed,
+ )
QtCore.QObject.connect(
self.parameter_widget.ckb_av_re_1,
QtCore.SIGNAL("toggled(bool)"),
@@ -198,11 +190,6 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
QtCore.SIGNAL("toggled(bool)"),
self.electric_infinity_changed,
)
- QtCore.QObject.connect(
- self.parameter_widget.ckb_electric_forcecalculation,
- QtCore.SIGNAL("toggled(bool)"),
- self.electric_forcecalculation_changed,
- )
QtCore.QObject.connect(
self.parameter_widget.qsb_surface_charge_density,
QtCore.SIGNAL("valueChanged(Base::Quantity)"),
@@ -211,9 +198,6 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.init_parameter_widget()
- def _vectorField_visibility(self, visible):
- self.parameter_widget.vectorFieldGB.setVisible(visible)
-
def open(self):
if self._mesh is not None and self._part is not None:
self._meshVisible = self._mesh.ViewObject.isVisible()
@@ -249,6 +233,7 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.potential = self.obj.Potential
self.potential_enabled = self.obj.PotentialEnabled
+ self.av_re = self.obj.AV_re
self.av_re_1 = self.obj.AV_re_1
self.av_re_2 = self.obj.AV_re_2
self.av_re_3 = self.obj.AV_re_3
@@ -257,11 +242,11 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.av_im_2 = self.obj.AV_im_2
self.av_im_3 = self.obj.AV_im_3
- self.av_re_enabled = not self.obj.PotentialEnabled
+ self.av_re_enabled = not self.obj.AV_re_Disabled
+ self.av_im_enabled = not self.obj.AV_im_Disabled
self.av_re_1_enabled = not self.obj.AV_re_1_Disabled
self.av_re_2_enabled = not self.obj.AV_re_2_Disabled
self.av_re_3_enabled = not self.obj.AV_re_3_Disabled
- self.av_im_enabled = not self.obj.AV_im_Disabled
self.av_im_1_enabled = not self.obj.AV_im_1_Disabled
self.av_im_2_enabled = not self.obj.AV_im_2_Disabled
self.av_im_3_enabled = not self.obj.AV_im_3_Disabled
@@ -269,16 +254,15 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.boundary_condition = self.obj.BoundaryCondition
self.potential_constant = self.obj.PotentialConstant
self.electric_infinity = self.obj.ElectricInfinity
- self.electric_forcecalculation = self.obj.ElectricForcecalculation
self.capacitance_body_enabled = self.obj.CapacitanceBodyEnabled
self.capacitance_body = self.obj.CapacitanceBody
-
self.surface_charge_density = self.obj.SurfaceChargeDensity
def _set_params(self):
self.obj.Potential = self.potential
self.obj.PotentialEnabled = self.potential_enabled
+ self.obj.AV_re = self.av_re
self.obj.AV_re_1 = self.av_re_1
self.obj.AV_re_2 = self.av_re_2
self.obj.AV_re_3 = self.av_re_3
@@ -287,10 +271,11 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.obj.AV_im_2 = self.av_im_2
self.obj.AV_im_3 = self.av_im_3
+ self.obj.AV_re_Disabled = not self.av_re_enabled
+ self.obj.AV_im_Disabled = not self.av_im_enabled
self.obj.AV_re_1_Disabled = not self.av_re_1_enabled
self.obj.AV_re_2_Disabled = not self.av_re_2_enabled
self.obj.AV_re_3_Disabled = not self.av_re_3_enabled
- self.obj.AV_im_Disabled = not self.av_im_enabled
self.obj.AV_im_1_Disabled = not self.av_im_1_enabled
self.obj.AV_im_2_Disabled = not self.av_im_2_enabled
self.obj.AV_im_3_Disabled = not self.av_im_3_enabled
@@ -298,7 +283,6 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.obj.BoundaryCondition = self.boundary_condition
self.obj.PotentialConstant = self.potential_constant
self.obj.ElectricInfinity = self.electric_infinity
- self.obj.ElectricForcecalculation = self.electric_forcecalculation
self.obj.CapacitanceBodyEnabled = self.capacitance_body_enabled
self.obj.CapacitanceBody = self.capacitance_body
@@ -313,11 +297,15 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
)
self.parameter_widget.ckb_potential.setChecked(self.potential_enabled)
- # the vector potentials
- self.parameter_widget.qsb_av_re.setProperty("value", self.potential)
+ # scalar potential
+ self.parameter_widget.qsb_av_re.setProperty("value", self.av_re)
self.parameter_widget.qsb_av_re.setEnabled(self.av_re_enabled)
- FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re).bind(self.obj, "Potential")
+ FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re).bind(self.obj, "AV_re")
+ self.parameter_widget.qsb_av_im.setProperty("value", self.av_im)
+ self.parameter_widget.qsb_av_im.setEnabled(self.av_im_enabled)
+ FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im).bind(self.obj, "AV_im")
+ # vector potential
self.parameter_widget.qsb_av_re_1.setProperty("value", self.av_re_1)
self.parameter_widget.qsb_av_re_1.setEnabled(self.av_re_1_enabled)
FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re_1).bind(self.obj, "AV_re_1")
@@ -327,9 +315,7 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.parameter_widget.qsb_av_re_3.setProperty("value", self.av_re_3)
self.parameter_widget.qsb_av_re_3.setEnabled(self.av_re_3_enabled)
FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_re_3).bind(self.obj, "AV_re_3")
- self.parameter_widget.qsb_av_im.setProperty("value", self.av_im)
- self.parameter_widget.qsb_av_im.setEnabled(self.av_im_enabled)
- FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im).bind(self.obj, "AV_im")
+
self.parameter_widget.qsb_av_im_1.setProperty("value", self.av_im_1)
self.parameter_widget.qsb_av_im_1.setEnabled(self.av_im_1_enabled)
FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im_1).bind(self.obj, "AV_im_1")
@@ -340,6 +326,7 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.parameter_widget.qsb_av_im_3.setEnabled(self.av_im_3_enabled)
FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_av_im_3).bind(self.obj, "AV_im_3")
+ self.parameter_widget.ckb_av_re.setChecked(self.av_re_enabled)
self.parameter_widget.ckb_av_re_1.setChecked(self.av_re_1_enabled)
self.parameter_widget.ckb_av_re_2.setChecked(self.av_re_2_enabled)
self.parameter_widget.ckb_av_re_3.setChecked(self.av_re_3_enabled)
@@ -352,12 +339,11 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.parameter_widget.ckb_electric_infinity.setChecked(self.electric_infinity)
- self.parameter_widget.ckb_electric_forcecalculation.setChecked(
- self.electric_forcecalculation
- )
-
self.parameter_widget.ckb_capacitance_body.setChecked(self.capacitance_body_enabled)
- self.parameter_widget.spb_capacitance_body.setValue(self.capacitance_body)
+ self.parameter_widget.spb_capacitance_body.setProperty("value", self.capacitance_body)
+ FreeCADGui.ExpressionBinding(self.parameter_widget.spb_capacitance_body).bind(
+ self.obj, "CapacitanceBody"
+ )
self.parameter_widget.qsb_surface_charge_density.setProperty(
"value", self.surface_charge_density
@@ -367,10 +353,22 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
)
self.bc_enum = self.obj.getEnumerationsOfProperty("BoundaryCondition")
- self.parameter_widget.cb_boundary_condition.addItems(self.bc_enum)
index = self.bc_enum.index(self.boundary_condition)
+ self.parameter_widget.cb_boundary_condition.addItems(self.bc_enum)
self.parameter_widget.cb_boundary_condition.setCurrentIndex(index)
- self.boundary_condition_changed(index)
+
+ # start with electromagnetic inputs hidden if no field is set
+ if not (
+ self.av_re_enabled
+ or self.av_im_enabled
+ or self.av_re_1_enabled
+ or self.av_re_2_enabled
+ or self.av_re_3_enabled
+ or self.av_im_1_enabled
+ or self.av_im_2_enabled
+ or self.av_im_3_enabled
+ ):
+ self.parameter_widget.ckb_electromagnetic.setChecked(False)
def potential_changed(self, value):
self.potential = value
@@ -379,6 +377,9 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.potential_enabled = value
self.parameter_widget.qsb_potential.setEnabled(value)
+ def electromagnetic_enabled_changed(self, value):
+ self.parameter_widget.gb_electromagnetic.setVisible(value)
+
def av_re_enabled_changed(self, value):
self.av_re_enabled = value
self.parameter_widget.qsb_av_re.setEnabled(value)
@@ -411,6 +412,9 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
self.av_im_3_enabled = value
self.parameter_widget.qsb_av_im_3.setEnabled(value)
+ def av_re_changed(self, value):
+ self.av_re = value
+
def av_re_1_changed(self, value):
self.av_re_1 = value
@@ -438,9 +442,6 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
def electric_infinity_changed(self, value):
self.electric_infinity = value
- def electric_forcecalculation_changed(self, value):
- self.electric_forcecalculation = value
-
def capacitance_body_enabled_changed(self, value):
self.capacitance_body_enabled = value
self.parameter_widget.spb_capacitance_body.setEnabled(value)
@@ -460,53 +461,3 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel):
elif self.boundary_condition == "Neumann":
self.parameter_widget.gb_neumann.setEnabled(True)
self.parameter_widget.gb_dirichlet.setEnabled(False)
-
- def _applyPotentialChanges(self, enabledBox, potentialQSB):
- enabled = enabledBox.isChecked()
- potential = None
- try:
- potential = potentialQSB.property("value")
- except ValueError:
- FreeCAD.Console.PrintMessage(
- "Wrong input. Not recognised input: '{}' "
- "Potential has not been set.\n".format(potentialQSB.text())
- )
- potential = "0.0 mm^2*kg/(s^3*A)"
- return enabled, potential
-
- def _applyWidgetChanges(self):
- # apply the voltages and their enabled state
- self.obj.AV_re_1_Disabled, self.obj.AV_re_1 = self._applyPotentialChanges(
- self.parameter_widget.reXunspecBox, self.parameter_widget.realXQSB
- )
- self.obj.AV_re_2_Disabled, self.obj.AV_re_2 = self._applyPotentialChanges(
- self.parameter_widget.reYunspecBox, self.parameter_widget.realYQSB
- )
- self.obj.AV_re_3_Disabled, self.obj.AV_re_3 = self._applyPotentialChanges(
- self.parameter_widget.reZunspecBox, self.parameter_widget.realZQSB
- )
- self.obj.AV_im_Disabled, self.obj.AV_im = self._applyPotentialChanges(
- self.parameter_widget.imScalarunspecBox, self.parameter_widget.imagScalarQSB
- )
- self.obj.AV_im_1_Disabled, self.obj.AV_im_1 = self._applyPotentialChanges(
- self.parameter_widget.imXunspecBox, self.parameter_widget.imagXQSB
- )
- self.obj.AV_im_2_Disabled, self.obj.AV_im_2 = self._applyPotentialChanges(
- self.parameter_widget.imYunspecBox, self.parameter_widget.imagYQSB
- )
- self.obj.AV_im_3_Disabled, self.obj.AV_im_3 = self._applyPotentialChanges(
- self.parameter_widget.imZunspecBox, self.parameter_widget.imagZQSB
- )
- # because this is an enable the others are disabled, reverse
- self.obj.PotentialEnabled = not self.obj.PotentialEnabled
-
- self.obj.PotentialConstant = self.parameter_widget.potentialConstantBox.isChecked()
-
- self.obj.ElectricInfinity = self.parameter_widget.electricInfinityBox.isChecked()
-
- calc_is_checked = self.parameter_widget.electricForcecalculationBox.isChecked()
- self.obj.ElectricForcecalculation = calc_is_checked # two lines because max line length
-
- self.obj.SurfaceChargeDensity = self.parameter_widget.surfacechargedensityQSB.property(
- "value"
- )