| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| __title__ = "FreeCAD FEM solver Elmer equation object Magnetodynamic2D" |
| __author__ = "Uwe Stöhr" |
| __url__ = "https://www.freecad.org" |
| |
| |
| |
|
|
| from femtools import femutils |
| from . import nonlinear |
| from ... import equationbase |
|
|
|
|
| def create(doc, name="Magnetodynamic2D"): |
| return femutils.createObject(doc, name, Proxy, ViewProxy) |
|
|
|
|
| class Proxy(nonlinear.Proxy, equationbase.Magnetodynamic2DProxy): |
|
|
| Type = "Fem::EquationElmerMagnetodynamic2D" |
|
|
| def __init__(self, obj): |
| super().__init__(obj) |
|
|
| obj.addProperty( |
| "App::PropertyBool", |
| "IsHarmonic", |
| "Magnetodynamic2D", |
| "If the magnetic source is harmonically driven", |
| locked=True, |
| ) |
| obj.addProperty( |
| "App::PropertyFrequency", |
| "AngularFrequency", |
| "Magnetodynamic2D", |
| "Frequency of the driving current", |
| locked=True, |
| ) |
| obj.IsHarmonic = False |
| obj.AngularFrequency = 0 |
| obj.Priority = 10 |
|
|
| |
| obj.addProperty( |
| "App::PropertyBool", "CalculateCurrentDensity", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateElectricField", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateElementalFields", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateHarmonicLoss", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateJouleHeating", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", |
| "CalculateMagneticFieldStrength", |
| "Magnetodynamic2D", |
| "", |
| locked=True, |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateMaxwellStress", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateNodalFields", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateNodalForces", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.addProperty( |
| "App::PropertyBool", "CalculateNodalHeating", "Magnetodynamic2D", "", locked=True |
| ) |
| obj.CalculateCurrentDensity = False |
| obj.CalculateElectricField = False |
| |
| |
| obj.CalculateElementalFields = False |
| obj.CalculateHarmonicLoss = False |
| obj.CalculateJouleHeating = False |
| obj.CalculateMagneticFieldStrength = False |
| obj.CalculateMaxwellStress = False |
| obj.CalculateNodalFields = True |
| obj.CalculateNodalForces = False |
| obj.CalculateNodalHeating = False |
|
|
|
|
| class ViewProxy(nonlinear.ViewProxy, equationbase.Magnetodynamic2DViewProxy): |
| pass |
|
|
|
|
| |
|
|