diff --git a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui index 193ab067f8f2..3e34d1718d21 100644 --- a/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui +++ b/src/Mod/Fem/Gui/Resources/ui/ElectrostaticPotential.ui @@ -7,7 +7,7 @@ 0 0 400 - 300 + 154 @@ -17,15 +17,74 @@ QFormLayout::AllNonFixedFieldsGrow - + Potential: - - + + + + Potential Constant + + + + + + + true + + + Farfield / Electric infinity + + + + + + + + + unspecified + + + true + + + + + + + true + + + + 55 + 16777215 + + + + + 1 + 0 + + + + 1 + + + 1 + + + + + + + + + 0 + @@ -51,10 +110,10 @@ - - + + - Potential Constant + Capacity Body: diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py index 9fa0ce38e627..ba44d0b41b56 100644 --- a/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py +++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemConstraintElectrostaticPotential.py @@ -120,6 +120,14 @@ def _initParamWidget(self): self._paramWidget.potentialConstantBox.setChecked( self._obj.PotentialConstant) + self._paramWidget.electricInfinityBox.setChecked( + self._obj.ElectricInfinity) + + self._paramWidget.capacitanceBodyBox.setChecked( + not self._obj.CapacitanceBodyEnabled) + self._paramWidget.capacitanceBody_spinBox.setValue( + self._obj.CapacitanceBody) + def _applyWidgetChanges(self): unit = "V" self._obj.PotentialEnabled = \ diff --git a/src/Mod/Fem/femobjects/_FemConstraintElectrostaticPotential.py b/src/Mod/Fem/femobjects/_FemConstraintElectrostaticPotential.py index 71a69009b72c..e27b4f173f4d 100644 --- a/src/Mod/Fem/femobjects/_FemConstraintElectrostaticPotential.py +++ b/src/Mod/Fem/femobjects/_FemConstraintElectrostaticPotential.py @@ -44,4 +44,15 @@ def __init__(self, obj): "Parameter", "Potential Enabled"), obj.addProperty( "App::PropertyBool", "PotentialConstant", - "Parameter", "Potential Constant") + "Parameter", "Potential Constant"), + obj.addProperty( # Howil added + "App::PropertyBool", "ElectricInfinity", + "Parameter", "Electric Infinity") + obj.addProperty( + "App::PropertyInteger", "CapacitanceBody", + "Parameter", "Capacitance Body") + obj.addProperty( + "App::PropertyBool", "CapacitanceBodyEnabled", + "Parameter", "Capacitance Body Enabled") + + diff --git a/src/Mod/Fem/femsolver/elmer/equations/electrostatic.py b/src/Mod/Fem/femsolver/elmer/equations/electrostatic.py index 6828ca5a69c7..c16edc60c16b 100644 --- a/src/Mod/Fem/femsolver/elmer/equations/electrostatic.py +++ b/src/Mod/Fem/femsolver/elmer/equations/electrostatic.py @@ -54,10 +54,10 @@ def __init__(self, obj): obj.addProperty( "App::PropertyBool", "CalculateSurfaceCharge", "Electrostatic", "Select type of solver for linear system") + obj.addProperty( + "App::PropertyBool", "CalculateCapacitanceMatrix", + "Electrostatic", "Select type of solver for linear system") """ - #obj.addProperty( - #"App::PropertyBool", "CalculateCapacitanceMatrix", - #"Electrostatic", "Select type of solver for linear system") #obj.addProperty( #"App::PropertyInteger", "CapacitanceBodies", #"Electrostatic", "Select type of solver for linear system") diff --git a/src/Mod/Fem/femsolver/elmer/writer.py b/src/Mod/Fem/femsolver/elmer/writer.py index 814e3e833307..a99e6f10569c 100644 --- a/src/Mod/Fem/femsolver/elmer/writer.py +++ b/src/Mod/Fem/femsolver/elmer/writer.py @@ -362,6 +362,11 @@ def _handleElectrostaticBndConditions(self): self._boundary(name, "Potential", potential) if obj.PotentialConstant: self._boundary(name, "Potential Constant", True) + if obj.ElectricInfinity: + self._boundary(name, "Electric Infinity BC", True) + if obj.CapacitanceBodyEnabled: + if hasattr(obj, 'CapacitanceBody'): + self._boundary(name, "Capacitance Body", obj.CapacitanceBody) self._handled(obj) def _handleFluxsolver(self):