From a8372c1f557cbef97a70805521eec21162b493c0 Mon Sep 17 00:00:00 2001 From: marioalexis Date: Thu, 27 Mar 2025 09:40:07 -0300 Subject: [PATCH] Fem: Rename property SurfaceChargeDensity to ElectricFluxDensity --- .../Resources/ui/ElectrostaticPotential.ui | 6 +++--- .../constraint_electrostaticpotential.py | 15 ++++++++++++-- .../task_constraint_electrostaticpotential.py | 20 +++++++++---------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui index 3956a7e83d..50fc5e15c5 100644 --- a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui +++ b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui @@ -416,14 +416,14 @@ Note: has no effect if a solid was selected - Surface Charge Density: + Electric Flux Density: - + - Surface charge density + Normal component of electric displacement field C/m^2 diff --git a/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py b/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py index 50ac56a951..0c9e37a748 100644 --- a/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py +++ b/src/Mod/Fem/femobjects/constraint_electrostaticpotential.py @@ -145,9 +145,11 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject) prop.append( _PropHelper( type="App::PropertySurfaceChargeDensity", - name="SurfaceChargeDensity", + name="ElectricFluxDensity", group="Parameter", - doc="Free surface charge density", + doc="Electric displacement field D.\n" + + "For interfaces, it represents the difference\n" + + "between the normal component in the two media", value="0 C/m^2", ) ) @@ -299,3 +301,12 @@ class ConstraintElectrostaticPotential(base_fempythonobject.BaseFemPythonObject) except Base.PropertyError: pass + + # set electric flux density from old surface charge density + try: + obj.ElectricFluxDensity = obj.getPropertyByName("SurfaceChargeDensity") + obj.setPropertyStatus("SurfaceChargeDensity", "-LockDynamic") + obj.removeProperty("SurfaceChargeDensity") + + except Base.PropertyError: + pass diff --git a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py index 3d1826e126..e4d1b39c06 100644 --- a/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py +++ b/src/Mod/Fem/femtaskpanels/task_constraint_electrostaticpotential.py @@ -171,9 +171,9 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.electric_infinity_changed, ) QtCore.QObject.connect( - self.parameter_widget.qsb_surface_charge_density, + self.parameter_widget.qsb_electric_flux_density, QtCore.SIGNAL("valueChanged(Base::Quantity)"), - self.surface_charge_density_changed, + self.electric_flux_density_changed, ) self.init_parameter_widget() @@ -232,7 +232,7 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.electric_infinity = self.obj.ElectricInfinity self.capacitance_body_enabled = self.obj.CapacitanceBodyEnabled self.capacitance_body = self.obj.CapacitanceBody - self.surface_charge_density = self.obj.SurfaceChargeDensity + self.electric_flux_density = self.obj.ElectricFluxDensity def _set_params(self): self.obj.Potential = self.potential @@ -258,7 +258,7 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.obj.CapacitanceBodyEnabled = self.capacitance_body_enabled self.obj.CapacitanceBody = self.capacitance_body - self.obj.SurfaceChargeDensity = self.surface_charge_density + self.obj.ElectricFluxDensity = self.electric_flux_density def init_parameter_widget(self): self._get_params() @@ -313,11 +313,11 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.obj, "CapacitanceBody" ) - self.parameter_widget.qsb_surface_charge_density.setProperty( - "value", self.surface_charge_density + self.parameter_widget.qsb_electric_flux_density.setProperty( + "value", self.electric_flux_density ) - FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_surface_charge_density).bind( - self.obj, "SurfaceChargeDensity" + FreeCADGui.ExpressionBinding(self.parameter_widget.qsb_electric_flux_density).bind( + self.obj, "ElectricFluxDensity" ) self.bc_enum = self.obj.getEnumerationsOfProperty("BoundaryCondition") @@ -397,8 +397,8 @@ class _TaskPanel(base_femtaskpanel._BaseTaskPanel): self.capacitance_body = value self.parameter_widget.spb_capacitance_body.setValue(value) - def surface_charge_density_changed(self, value): - self.surface_charge_density = value + def electric_flux_density_changed(self, value): + self.electric_flux_density = value def boundary_condition_changed(self, index): self.boundary_condition = self.bc_enum[index]