Source code for pyleecan.Classes.MatMagnet

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

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

from pyleecan.Classes.check import InitUnKnowClassError


[docs]class MatMagnet(MatMagnetics): """magnet material properties""" VERSION = 1 # save method is available in all object save = save def __init__(self, Hc=1, alpha_Br=0, Brm20=1, mur_lin=1, 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, ["Hc", "alpha_Br", "Brm20", "mur_lin"]) # Overwrite default value with init_dict content if "Hc" in list(init_dict.keys()): Hc = init_dict["Hc"] if "alpha_Br" in list(init_dict.keys()): alpha_Br = init_dict["alpha_Br"] if "Brm20" in list(init_dict.keys()): Brm20 = init_dict["Brm20"] if "mur_lin" in list(init_dict.keys()): mur_lin = init_dict["mur_lin"] # Initialisation by argument self.Hc = Hc self.alpha_Br = alpha_Br self.Brm20 = Brm20 # Call MatMagnetics init super(MatMagnet, self).__init__(mur_lin=mur_lin) # The class is frozen (in MatMagnetics init), for now it's impossible to # add new properties def __str__(self): """Convert this objet in a readeable string (for print)""" MatMagnet_str = "" # Get the properties inherited from MatMagnetics MatMagnet_str += super(MatMagnet, self).__str__() + linesep MatMagnet_str += "Hc = " + str(self.Hc) + linesep MatMagnet_str += "alpha_Br = " + str(self.alpha_Br) + linesep MatMagnet_str += "Brm20 = " + str(self.Brm20) return MatMagnet_str def __eq__(self, other): """Compare two objects (skip parent)""" if type(other) != type(self): return False # Check the properties inherited from MatMagnetics if not super(MatMagnet, self).__eq__(other): return False if other.Hc != self.Hc: return False if other.alpha_Br != self.alpha_Br: return False if other.Brm20 != self.Brm20: 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 MatMagnetics MatMagnet_dict = super(MatMagnet, self).as_dict() MatMagnet_dict["Hc"] = self.Hc MatMagnet_dict["alpha_Br"] = self.alpha_Br MatMagnet_dict["Brm20"] = self.Brm20 # The class name is added to the dict fordeserialisation purpose # Overwrite the mother class name MatMagnet_dict["__class__"] = "MatMagnet" return MatMagnet_dict
def _set_None(self): """Set all the properties to None (except pyleecan object)""" self.Hc = None self.alpha_Br = None self.Brm20 = None # Set to None the properties inherited from MatMagnetics super(MatMagnet, self)._set_None() def _get_Hc(self): """getter of Hc""" return self._Hc def _set_Hc(self, value): """setter of Hc""" check_var("Hc", value, "float", Vmin=0) self._Hc = value # Coercitivity field # Type : float, min = 0 Hc = property(fget=_get_Hc, fset=_set_Hc, doc=u"""Coercitivity field""") def _get_alpha_Br(self): """getter of alpha_Br""" return self._alpha_Br def _set_alpha_Br(self, value): """setter of alpha_Br""" check_var("alpha_Br", value, "float") self._alpha_Br = value # temperature coefficient for remanent flux density /degC compared to 20degC # Type : float alpha_Br = property( fget=_get_alpha_Br, fset=_set_alpha_Br, doc=u"""temperature coefficient for remanent flux density /degC compared to 20degC""", ) def _get_Brm20(self): """getter of Brm20""" return self._Brm20 def _set_Brm20(self, value): """setter of Brm20""" check_var("Brm20", value, "float") self._Brm20 = value # magnet remanence induction at 20degC # Type : float Brm20 = property( fget=_get_Brm20, fset=_set_Brm20, doc=u"""magnet remanence induction at 20degC""", )