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):