| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | __title__ = "FreeCAD FEM solver Elmer equation object Electrostatic" |
| | __author__ = "Markus Hovorka, Uwe Stöhr" |
| | __url__ = "https://www.freecad.org" |
| |
|
| | |
| | |
| |
|
| | from femtools import femutils |
| | from ... import equationbase |
| | from . import linear |
| |
|
| |
|
| | def create(doc, name="Electrostatic"): |
| | return femutils.createObject(doc, name, Proxy, ViewProxy) |
| |
|
| |
|
| | class Proxy(linear.Proxy, equationbase.ElectrostaticProxy): |
| |
|
| | Type = "Fem::EquationElmerElectrostatic" |
| |
|
| | def __init__(self, obj): |
| | super().__init__(obj) |
| |
|
| | obj.addProperty( |
| | "App::PropertyBool", "CalculateCapacitanceMatrix", "Electrostatic", "", locked=True |
| | ) |
| | obj.addProperty( |
| | "App::PropertyBool", "CalculateElectricEnergy", "Electrostatic", "", locked=True |
| | ) |
| | obj.addProperty( |
| | "App::PropertyBool", "CalculateElectricField", "Electrostatic", "", locked=True |
| | ) |
| | obj.addProperty( |
| | "App::PropertyBool", "CalculateElectricFlux", "Electrostatic", "", locked=True |
| | ) |
| | obj.addProperty( |
| | "App::PropertyBool", "CalculateSurfaceCharge", "Electrostatic", "", locked=True |
| | ) |
| | """ |
| | obj.addProperty( |
| | "App::PropertyInteger", |
| | "CapacitanceBodies", |
| | "Electrostatic", |
| | "", locked=True |
| | ) |
| | """ |
| | obj.addProperty( |
| | "App::PropertyFile", |
| | "CapacitanceMatrixFilename", |
| | "Electrostatic", |
| | ( |
| | "File where capacitance matrix is being saved\n" |
| | "Only used if 'CalculateCapacitanceMatrix' is true" |
| | ), |
| | locked=True, |
| | ) |
| | obj.addProperty( |
| | "App::PropertyBool", |
| | "ConstantWeights", |
| | "Electrostatic", |
| | "Use constant weighting for results", |
| | locked=True, |
| | ) |
| | obj.addProperty( |
| | "App::PropertyFloat", |
| | "PotentialDifference", |
| | "Electrostatic", |
| | ( |
| | "Potential difference in Volt for which capacitance is\n" |
| | "calculated if 'CalculateCapacitanceMatrix' is false" |
| | ), |
| | locked=True, |
| | ) |
| |
|
| | obj.CapacitanceMatrixFilename = "cmatrix.dat" |
| | obj.PotentialDifference = 0.0 |
| | obj.Priority = 10 |
| |
|
| |
|
| | class ViewProxy(linear.ViewProxy, equationbase.ElectrostaticViewProxy): |
| | pass |
| |
|
| |
|
| | |
| |
|