Source code for pyleecan.Classes.MeshFEMM

# -*- coding: utf-8 -*-
"""Warning : this file has been generated, you shouldn't edit it"""

from os import linesep
from pyleecan.Classes.check import set_array, check_init_dict, check_var, raise_
from pyleecan.Functions.save import save
from pyleecan.Classes.MeshMat import MeshMat

from numpy import array, array_equal
from pyleecan.Classes.check import InitUnKnowClassError
from pyleecan.Classes.SubMesh import SubMesh


[docs]class MeshFEMM(MeshMat): """Gather the parameters of a mesh with only triangles""" VERSION = 1 # save method is available in all object save = save def __init__( self, B=None, H=None, mu=None, element=None, node=None, group=None, nb_elem=None, nb_node=None, submesh=list(), nb_node_per_element=None, name=None, init_dict=None, ): """Constructor of the class. Can be use in two ways : - __init__ (arg1 = 1, arg3 = 5) every parameters have name and default values for Matrix, None will initialise the property with an empty Matrix for pyleecan type, None will call the default constructor - __init__ (init_dict = d) d must be a dictionnary wiht every properties as keys ndarray or list can be given for Vector and Matrix object or dict can be given for pyleecan Object""" if init_dict is not None: # Initialisation by dict check_init_dict( init_dict, [ "B", "H", "mu", "element", "node", "group", "nb_elem", "nb_node", "submesh", "nb_node_per_element", "name", ], ) # Overwrite default value with init_dict content if "B" in list(init_dict.keys()): B = init_dict["B"] if "H" in list(init_dict.keys()): H = init_dict["H"] if "mu" in list(init_dict.keys()): mu = init_dict["mu"] if "element" in list(init_dict.keys()): element = init_dict["element"] if "node" in list(init_dict.keys()): node = init_dict["node"] if "group" in list(init_dict.keys()): group = init_dict["group"] if "nb_elem" in list(init_dict.keys()): nb_elem = init_dict["nb_elem"] if "nb_node" in list(init_dict.keys()): nb_node = init_dict["nb_node"] if "submesh" in list(init_dict.keys()): submesh = init_dict["submesh"] if "nb_node_per_element" in list(init_dict.keys()): nb_node_per_element = init_dict["nb_node_per_element"] if "name" in list(init_dict.keys()): name = init_dict["name"] # Initialisation by argument # B can be None, a ndarray or a list set_array(self, "B", B) # H can be None, a ndarray or a list set_array(self, "H", H) # mu can be None, a ndarray or a list set_array(self, "mu", mu) # Call MeshMat init super(MeshFEMM, self).__init__( element=element, node=node, group=group, nb_elem=nb_elem, nb_node=nb_node, submesh=submesh, nb_node_per_element=nb_node_per_element, name=name, ) # The class is frozen (in MeshMat init), for now it's impossible to # add new properties def __str__(self): """Convert this objet in a readeable string (for print)""" MeshFEMM_str = "" # Get the properties inherited from MeshMat MeshFEMM_str += super(MeshFEMM, self).__str__() + linesep MeshFEMM_str += "B = " + linesep + str(self.B) + linesep + linesep MeshFEMM_str += "H = " + linesep + str(self.H) + linesep + linesep MeshFEMM_str += "mu = " + linesep + str(self.mu) return MeshFEMM_str def __eq__(self, other): """Compare two objects (skip parent)""" if type(other) != type(self): return False # Check the properties inherited from MeshMat if not super(MeshFEMM, self).__eq__(other): return False if not array_equal(other.B, self.B): return False if not array_equal(other.H, self.H): return False if not array_equal(other.mu, self.mu): return False return True
[docs] def as_dict(self): """Convert this objet in a json seriable dict (can be use in __init__) """ # Get the properties inherited from MeshMat MeshFEMM_dict = super(MeshFEMM, self).as_dict() if self.B is None: MeshFEMM_dict["B"] = None else: MeshFEMM_dict["B"] = self.B.tolist() if self.H is None: MeshFEMM_dict["H"] = None else: MeshFEMM_dict["H"] = self.H.tolist() if self.mu is None: MeshFEMM_dict["mu"] = None else: MeshFEMM_dict["mu"] = self.mu.tolist() # The class name is added to the dict fordeserialisation purpose # Overwrite the mother class name MeshFEMM_dict["__class__"] = "MeshFEMM" return MeshFEMM_dict
def _set_None(self): """Set all the properties to None (except pyleecan object)""" self.B = None self.H = None self.mu = None # Set to None the properties inherited from MeshMat super(MeshFEMM, self)._set_None() def _get_B(self): """getter of B""" return self._B def _set_B(self, value): """setter of B""" if type(value) is list: try: value = array(value) except: pass check_var("B", value, "ndarray") self._B = value # Magnetic flux per element # Type : ndarray B = property(fget=_get_B, fset=_set_B, doc=u"""Magnetic flux per element""") def _get_H(self): """getter of H""" return self._H def _set_H(self, value): """setter of H""" if type(value) is list: try: value = array(value) except: pass check_var("H", value, "ndarray") self._H = value # Magnetic field per element # Type : ndarray H = property(fget=_get_H, fset=_set_H, doc=u"""Magnetic field per element""") def _get_mu(self): """getter of mu""" return self._mu def _set_mu(self, value): """setter of mu""" if type(value) is list: try: value = array(value) except: pass check_var("mu", value, "ndarray") self._mu = value # Pemreability per element # Type : ndarray mu = property(fget=_get_mu, fset=_set_mu, doc=u"""Pemreability per element""")