test_classes (class)

class_list = [{'name': 'Elmer', 'path': 'pyleecan/Generator/ClassesRef/Elmer/Elmer.csv', 'properties': [{'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Elmer', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['ElmerResults', 'ElmerResultsVTU', 'Section', 'SolverInputFile'], 'package': 'Elmer', 'desc': 'Abstract parent class for all Elmer related convienence classes', 'mother': '', 'is_internal': False}, {'name': 'ElmerResults', 'path': 'pyleecan/Generator/ClassesRef/Elmer/ElmerResults.csv', 'properties': [{'name': 'data', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'Dict with simulation results'}, {'name': 'file', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Filename of the results data file'}, {'name': 'usecols', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List integers (starting with 1) of columns to load. If usecols is not set all columns are loaded.'}, {'name': 'columns', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List of columns data names'}, {'name': 'is_scalars', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': "Determin if data are 'SaveScalars' data, else 'SaveLine' data are assumed"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['load_data', 'load_columns', 'get_data'], 'daughters': [], 'package': 'Elmer', 'desc': "Class to get 'SaveScalars' and 'SaveLine' data", 'mother': 'Elmer', 'is_internal': False}, {'name': 'ElmerResultsVTU', 'path': 'pyleecan/Generator/ClassesRef/Elmer/ElmerResultsVTU.csv', 'properties': [{'name': 'label', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'ElmerResults', 'desc': 'Label of the resulting meshsolution'}, {'name': 'file_path', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Filename of the results VTU data file'}, {'name': 'store_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'Dict containing the data names to store'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_meshsolution'], 'daughters': [], 'package': 'Elmer', 'desc': 'Class to get Elmer simulation results from a VTU file', 'mother': 'Elmer', 'is_internal': False}, {'name': 'Section', 'path': 'pyleecan/Generator/ClassesRef/Elmer/Section.csv', 'properties': [{'name': 'section', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the section'}, {'name': 'id', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Index of a numbered section'}, {'name': 'comment', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Section global comment'}, {'name': '_statements', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'internal dict to store the sections statements'}, {'name': '_comments', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'internal dict to store comments on single statements'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['__delitem__', '__getitem__', '__iter__', '__len__', '__missing__', '__reversed__', '__setitem__', 'pop', 'keys', 'write'], 'daughters': [], 'package': 'Elmer', 'desc': 'Class to setup a section of an Elmer Solver Input File', 'mother': 'Elmer', 'is_internal': False}, {'name': 'SolverInputFile', 'path': 'pyleecan/Generator/ClassesRef/Elmer/SolverInputFile.csv', 'properties': [{'name': 'sections', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List of SIF sections'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['write'], 'daughters': [], 'package': 'Elmer', 'desc': 'Class to setup the Elmer Solver Input File', 'mother': 'Elmer', 'is_internal': False}, {'name': 'Arc', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Arc.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['draw_FEMM', 'intersect_line', 'is_on_line', 'split_line', 'comp_distance', 'plot'], 'daughters': ['Arc1', 'Arc2', 'Arc3'], 'package': 'Geometry', 'desc': 'Abstract class for arc', 'mother': 'Line', 'is_internal': False}, {'name': 'Arc1', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Arc1.csv', 'properties': [{'name': 'begin', 'unit': '', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'begin point of the arc'}, {'name': 'end', 'unit': '', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'end point of the arc'}, {'name': 'radius', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Radius of the arc (can be + or -)'}, {'name': 'is_trigo_direction', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'Rotation direction of the arc'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_length', 'comp_radius', 'discretize', 'get_angle', 'get_begin', 'get_center', 'get_end', 'get_middle', 'reverse', 'rotate', 'scale', 'split_half', 'translate'], 'daughters': [], 'package': 'Geometry', 'desc': 'An arc between two points (defined by a radius)', 'mother': 'Arc', 'is_internal': False}, {'name': 'Arc2', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Arc2.csv', 'properties': [{'name': 'begin', 'unit': '-', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'begin point of the arc'}, {'name': 'center', 'unit': '-', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'center of the arc'}, {'name': 'angle', 'unit': 'rad', 'type': 'float', 'min': '-6.283185308', 'max': '6.283185308', 'value': 1.57079633, 'desc': 'opening angle of the arc'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_length', 'comp_radius', 'discretize', 'get_angle', 'get_begin', 'get_center', 'get_end', 'get_middle', 'reverse', 'rotate', 'scale', 'split_half', 'translate'], 'daughters': [], 'package': 'Geometry', 'desc': 'An arc between two points (defined by the begin point and a center and angle)', 'mother': 'Arc', 'is_internal': False}, {'name': 'Arc3', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Arc3.csv', 'properties': [{'name': 'begin', 'unit': '-', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'begin point of the arc'}, {'name': 'end', 'unit': '-', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'end of the arc'}, {'name': 'is_trigo_direction', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'Rotation direction of the arc'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_length', 'comp_radius', 'discretize', 'get_angle', 'get_begin', 'get_center', 'get_end', 'get_middle', 'reverse', 'rotate', 'scale', 'split_half', 'translate'], 'daughters': [], 'package': 'Geometry', 'desc': 'Half circle define by two points', 'mother': 'Arc', 'is_internal': False}, {'name': 'Circle', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Circle.csv', 'properties': [{'name': 'radius', 'unit': '', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Radius of the circle'}, {'name': 'center', 'unit': '', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'center of the Circle'}, {'name': 'line_label', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Label to set to the lines'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_length', 'comp_surface', 'discretize', 'get_lines', 'get_patches', 'rotate', 'translate', 'comp_point_ref'], 'daughters': [], 'package': 'Geometry', 'desc': 'Circle define by the center of circle(point_ref), the label and the radius', 'mother': 'Surface', 'is_internal': False}, {'name': 'Line', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Line.csv', 'properties': [{'name': 'label', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'the label of the Line (EX: Yoke_side)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_normal'], 'daughters': ['Arc', 'Arc1', 'Arc2', 'Arc3', 'Segment'], 'package': 'Geometry', 'desc': 'Abstract geometry class (A line between two points)', 'mother': '', 'is_internal': False}, {'name': 'PolarArc', 'path': 'pyleecan/Generator/ClassesRef/Geometry/PolarArc.csv', 'properties': [{'name': 'angle', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Polar angle'}, {'name': 'height', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'The Heigth of the PolarAngle'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_lines', 'rotate', 'translate', 'check', 'comp_length', 'discretize', 'get_patches', 'comp_surface', 'comp_point_ref'], 'daughters': [], 'package': 'Geometry', 'desc': 'PolarArc defined by the center of object(point_ref), the label, the angle and the height', 'mother': 'Surface', 'is_internal': False}, {'name': 'Segment', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Segment.csv', 'properties': [{'name': 'begin', 'unit': '-', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'begin point of the line'}, {'name': 'end', 'unit': '-', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'end point of the line'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_distance', 'comp_length', 'discretize', 'draw_FEMM', 'get_begin', 'get_end', 'get_middle', 'intersect_line', 'is_on_line', 'plot', 'reverse', 'rotate', 'scale', 'split_half', 'split_line', 'translate'], 'daughters': [], 'package': 'Geometry', 'desc': 'A segment between two points', 'mother': 'Line', 'is_internal': False}, {'name': 'Surface', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Surface.csv', 'properties': [{'name': 'point_ref', 'unit': '-', 'type': 'complex', 'min': '', 'max': '', 'value': 0, 'desc': 'Center of symmetry'}, {'name': 'label', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Label of the surface'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_mesh_dict', 'draw_FEMM', 'plot', 'split_line'], 'daughters': ['Circle', 'PolarArc', 'SurfLine', 'SurfRing', 'Trapeze'], 'package': 'Geometry', 'desc': 'SurfLine define by list of lines that delimit it, label and point reference.', 'mother': '', 'is_internal': False}, {'name': 'SurfLine', 'path': 'pyleecan/Generator/ClassesRef/Geometry/SurfLine.csv', 'properties': [{'name': 'line_list', 'unit': '-', 'type': '[Line]', 'min': '', 'max': '', 'value': [], 'desc': 'List of Lines '}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_length', 'comp_point_ref', 'comp_surface', 'discretize', 'get_lines', 'get_patches', 'plot_lines', 'rotate', 'scale', 'translate'], 'daughters': [], 'package': 'Geometry', 'desc': 'SurfLine defined by list of lines that delimit it, label and point reference.', 'mother': 'Surface', 'is_internal': False}, {'name': 'SurfRing', 'path': 'pyleecan/Generator/ClassesRef/Geometry/SurfRing.csv', 'properties': [{'name': 'out_surf', 'unit': '-', 'type': 'Surface', 'min': '', 'max': '', 'value': '', 'desc': 'Outter surface'}, {'name': 'in_surf', 'unit': '-', 'type': 'Surface', 'min': '', 'max': '', 'value': '', 'desc': 'Inner surface'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_lines', 'rotate', 'translate', 'check', 'comp_length', 'get_patches', 'discretize', 'comp_surface', 'plot_lines', 'comp_point_ref'], 'daughters': [], 'package': 'Geometry', 'desc': 'SurfRing is a surface between two closed surfaces (lamination surfaces for instance)', 'mother': 'Surface', 'is_internal': False}, {'name': 'Trapeze', 'path': 'pyleecan/Generator/ClassesRef/Geometry/Trapeze.csv', 'properties': [{'name': 'height', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'the height of the Trapeze'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'the big base of Trapeze'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'the small base of the Trapeze'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_length', 'comp_surface', 'discretize', 'get_lines', 'get_patches', 'rotate', 'translate', 'comp_point_ref'], 'daughters': [], 'package': 'Geometry', 'desc': 'Trapeze defined by the center of symmetry(point_ref), the label, the polar angle, the height and the big and small weight', 'mother': 'Surface', 'is_internal': False}, {'name': 'GUIOption', 'path': 'pyleecan/Generator/ClassesRef/GUI_Option/GUIOption.csv', 'properties': [{'name': 'unit', 'unit': '-', 'type': 'Unit', 'min': '', 'max': '', 'value': '', 'desc': 'Unit options'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'GUIOption', 'desc': '', 'mother': '', 'is_internal': False}, {'name': 'Unit', 'path': 'pyleecan/Generator/ClassesRef/GUI_Option/Unit.csv', 'properties': [{'name': 'unit_m', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': '0: use m, 1: use mm'}, {'name': 'unit_rad', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': '0: use rad, 1: use deg'}, {'name': 'unit_m2', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': '0: use m^2, 1: use mm^2'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_m', 'get_m2', 'get_m_name', 'get_m2_name', 'set_m', 'set_m2'], 'daughters': [], 'package': 'GUI_Option', 'desc': '', 'mother': '', 'is_internal': False}, {'name': 'Import', 'path': 'pyleecan/Generator/ClassesRef/Import/Import.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['ImportGenMatrixSin', 'ImportGenPWM', 'ImportGenToothSaw', 'ImportGenVectLin', 'ImportGenVectSin', 'ImportMatlab', 'ImportMatrix', 'ImportMatrixVal', 'ImportMatrixXls', 'ImportMeshMat', 'ImportMeshUnv'], 'package': 'Import', 'desc': 'Abstract class for Data Import/Generation', 'mother': '', 'is_internal': False}, {'name': 'ImportData', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportData.csv', 'properties': [{'name': 'axes', 'unit': '-', 'type': '[ImportData]', 'min': '', 'max': '', 'value': [], 'desc': 'List of axes of the data'}, {'name': 'field', 'unit': '-', 'type': 'Import', 'min': '', 'max': '', 'value': None, 'desc': 'Field (Import object)'}, {'name': 'unit', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'SI', 'desc': 'Unit of the field'}, {'name': 'name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the field'}, {'name': 'symbol', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Symbol of the field'}, {'name': 'normalizations', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': {}, 'desc': 'Dict of normalizations'}, {'name': 'symmetries', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': {}, 'desc': 'Dict of symmetries'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'Abstract class for Data Import/Generation', 'mother': '', 'is_internal': False}, {'name': 'ImportGenMatrixSin', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportGenMatrixSin.csv', 'properties': [{'name': 'sin_list', 'unit': '-', 'type': '[ImportGenVectSin]', 'min': '', 'max': '', 'value': '', 'desc': 'List of sinus vector to generate the matrix lines'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data', 'init_vector'], 'daughters': [], 'package': 'Import', 'desc': 'To generate a Sinus matrix', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportGenPWM', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportGenPWM.csv', 'properties': [{'name': 'fs', 'unit': 'Hz', 'type': 'float', 'min': '0', 'max': '', 'value': 96000, 'desc': 'sample frequency'}, {'name': 'duration', 'unit': 's', 'type': 'int', 'min': '0', 'max': '', 'value': 10, 'desc': 'duration'}, {'name': 'f', 'unit': 'Hz', 'type': 'float', 'min': '0', 'max': '', 'value': 50, 'desc': 'fundamental frequency'}, {'name': 'fmax', 'unit': 'Hz', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'maximal fundamental frequency'}, {'name': 'fmode', 'unit': '', 'type': 'int', 'min': '0', 'max': '', 'value': 0, 'desc': 'speed mode: 0: Fixed speed, 1: Variable speed'}, {'name': 'fswimode', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 0, 'desc': 'switch mode: 0:Fixed fswi, 1:Variable fswi'}, {'name': 'fswi', 'unit': 'Hz', 'type': 'float', 'min': '', 'max': '', 'value': 1000, 'desc': 'switching frequency'}, {'name': 'fswi_max', 'unit': 'Hz', 'type': 'int', 'min': '', 'max': '', 'value': 3000, 'desc': 'maximal switching frequency'}, {'name': 'typePWM', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 8, 'desc': '0: GDPWM 1: DPWMMIN 2: DPWMMAX 3: DPWM0 4: DPWM1 5: DPWM2 6: DPWM3 7: SVPWM 8: SPWM'}, {'name': 'Vdc1', 'unit': 'V', 'type': 'float', 'min': '', 'max': '', 'value': 2, 'desc': 'DC BUS voltage'}, {'name': 'U0', 'unit': 'V', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'reference voltage'}, {'name': 'type_carrier', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 0, 'desc': '1: forward toothsaw carrier 2: backwards toothsaw carrier 3: toothsaw carrier else: symetrical toothsaw carrier'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'To generate a PWM voltage matrix', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportGenToothSaw', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportGenToothSaw.csv', 'properties': [{'name': 'type_signal', 'unit': '-', 'type': 'int', 'min': '0', 'max': '2', 'value': 0, 'desc': '0: Forward toothsaw, 1: Backwards toothsaw, 2: symmetrical toothsaw'}, {'name': 'f', 'unit': 'Hz', 'type': 'float', 'min': '0', 'max': '', 'value': 100, 'desc': 'Frequency of the signal to generate'}, {'name': 'A', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'Amplitude of the signal to generate'}, {'name': 'N', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': 1024, 'desc': 'Length of the signal to generate'}, {'name': 'Tf', 'unit': 's', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'End time of the signal generation'}, {'name': 'Dt', 'unit': 's', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Time offset'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'To generate a toothsaw vector', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportGenVectLin', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportGenVectLin.csv', 'properties': [{'name': 'start', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Begin point of the linspace'}, {'name': 'stop', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'End point of the linspace'}, {'name': 'num', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 100, 'desc': 'Number of value in the linspace'}, {'name': 'endpoint', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'If True, stop is the last sample. Otherwise, it is not included'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_step', 'get_data'], 'daughters': [], 'package': 'Import', 'desc': 'To generate a Linspace vector', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportGenVectSin', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportGenVectSin.csv', 'properties': [{'name': 'f', 'unit': 'Hz', 'type': 'float', 'min': '0', 'max': '', 'value': 100, 'desc': 'Frequency of the sinus to generate'}, {'name': 'A', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'Amplitude of the sinus to generate'}, {'name': 'Phi', 'unit': '-', 'type': 'float', 'min': '-6.29', 'max': '6.29', 'value': 0, 'desc': 'Phase of the sinus to generate'}, {'name': 'N', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': 1024, 'desc': 'Length of the vector to generate'}, {'name': 'Tf', 'unit': 's', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'End time of the sinus generation'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'To generate a Sinus vector', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportMatlab', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportMatlab.csv', 'properties': [{'name': 'file_path', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path of the file to load'}, {'name': 'var_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the variable to load'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'Import the data from a mat file', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportMatrix', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportMatrix.csv', 'properties': [{'name': 'is_transpose', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': '1 to transpose the Imported/Generated matrix'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['edit_matrix'], 'daughters': ['ImportGenMatrixSin', 'ImportGenPWM', 'ImportGenToothSaw', 'ImportGenVectLin', 'ImportGenVectSin', 'ImportMatlab', 'ImportMatrixVal', 'ImportMatrixXls'], 'package': 'Import', 'desc': 'Abstract class to Import/Generate 1D or D matrix', 'mother': 'Import', 'is_internal': False}, {'name': 'ImportMatrixVal', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportMatrixVal.csv', 'properties': [{'name': 'value', 'unit': '-', 'type': 'ndarray', 'min': '', 'max': '', 'value': '', 'desc': 'The matrix to return'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'Import directly the value from the object', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportMatrixXls', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportMatrixXls.csv', 'properties': [{'name': 'file_path', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path of the file to load'}, {'name': 'sheet', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the sheet to load'}, {'name': 'skiprows', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': 0, 'desc': 'To skip some rows in the file (header)'}, {'name': 'usecols', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'To select the range of column to use'}, {'name': 'axes_colrows', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': None, 'desc': 'To read axes in first line/column'}, {'name': 'is_allsheets', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'To read all sheets in a 3D matrix'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'Import the data from an xls file', 'mother': 'ImportMatrix', 'is_internal': False}, {'name': 'ImportMeshMat', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportMeshMat.csv', 'properties': [{'name': 'file_path', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path of the file to load'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'Import mesh as meshMat', 'mother': 'Import', 'is_internal': False}, {'name': 'ImportMeshUnv', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportMeshUnv.csv', 'properties': [{'name': 'file_path', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path of the file to load'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'Import mesh data from an unv file', 'mother': 'Import', 'is_internal': False}, {'name': 'ImportVectorField', 'path': 'pyleecan/Generator/ClassesRef/Import/ImportVectorField.csv', 'properties': [{'name': 'components', 'unit': '-', 'type': '{ImportData}', 'min': '', 'max': '', 'value': {}, 'desc': 'Dict of components (e.g. {"radial": ImportData})'}, {'name': 'name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the vector field'}, {'name': 'symbol', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Symbol of the vector field'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_data'], 'daughters': [], 'package': 'Import', 'desc': 'Abstract class for Data Import/Generation', 'mother': '', 'is_internal': False}, {'name': 'Bore', 'path': 'pyleecan/Generator/ClassesRef/Machine/Bore.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['BoreFlower', 'BoreUD'], 'package': 'Machine', 'desc': 'Abstract class for Bore shape', 'mother': '', 'is_internal': False}, {'name': 'BoreFlower', 'path': 'pyleecan/Generator/ClassesRef/Machine/BoreFlower.csv', 'properties': [{'name': 'N', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': 8, 'desc': 'Number of flower arc'}, {'name': 'Rarc', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Radius of the flower arc'}, {'name': 'alpha', 'unit': 'rad', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Angular offset for the arc'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_bore_line'], 'daughters': [], 'package': 'Machine', 'desc': 'Class for Bore flower shape', 'mother': 'Bore', 'is_internal': False}, {'name': 'BoreUD', 'path': 'pyleecan/Generator/ClassesRef/Machine/BoreUD.csv', 'properties': [{'name': 'line_list', 'unit': '-', 'type': '[Line]', 'min': '', 'max': '', 'value': '', 'desc': 'List of line to draw the full bore'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_bore_line'], 'daughters': [], 'package': 'Machine', 'desc': 'User Defined Bore shape', 'mother': 'Bore', 'is_internal': False}, {'name': 'CondType11', 'path': 'pyleecan/Generator/ClassesRef/Machine/CondType11.csv', 'properties': [{'name': 'Hwire', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'cf schematics, single wire height without insulation [m]'}, {'name': 'Wwire', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'cf schematics, single wire width without insulation [m]'}, {'name': 'Nwppc_rad', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 1, 'desc': 'cf schematics, stator winding number of preformed wires (strands) in parallel per coil along radial (vertical) direction'}, {'name': 'Nwppc_tan', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 1, 'desc': 'cf schematics, stator winding number of preformed wires (strands) in parallel per coil along tangential (horizontal) direction'}, {'name': 'Wins_wire', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': '(advanced) cf schematics, winding strand insulation thickness [m]'}, {'name': 'Wins_coil', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': '(advanced) cf schematics, winding coil insulation thickness [m]'}, {'name': 'type_winding_shape', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': 'type of winding shape for end winding length calculation\\n0 for hairpin windings\\n1 for normal windings'}, {'name': 'alpha_ew', 'unit': 'deg', 'type': 'float', 'min': '0', 'max': '180', 'value': 58, 'desc': 'angle of winding overhang hairpin coils [deg]'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_surface_active', 'comp_height', 'comp_surface', 'comp_width', 'plot', 'plot_schematics'], 'daughters': [], 'package': 'Machine', 'desc': 'parallel stranded conductor consisting of at least a single rectangular wire', 'mother': 'Conductor', 'is_internal': False}, {'name': 'CondType12', 'path': 'pyleecan/Generator/ClassesRef/Machine/CondType12.csv', 'properties': [{'name': 'Wwire', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.015, 'desc': 'cf schematics, single wire diameter without insulation [m]'}, {'name': 'Wins_cond', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.015, 'desc': '(advanced) cf schematics, winding coil insulation diameter [m]'}, {'name': 'Nwppc', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 1, 'desc': 'cf schematics, winding number of random wires (strands) in parallel per coil'}, {'name': 'Wins_wire', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': '(advanced) cf schematics, winding strand insulation thickness [m]'}, {'name': 'Kwoh', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 0.5, 'desc': 'winding overhang factor which describes the fact that random round wire end-windings can be more or less compressed (0.5 for small motors, 0.8 for large motors) - can be used to tune the average turn length (relevant if type_cond==1)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_surface_active', 'comp_height', 'comp_surface', 'comp_width', 'plot', 'plot_schematics'], 'daughters': [], 'package': 'Machine', 'desc': 'parallel stranded conductor consisting of at least a single round wire', 'mother': 'Conductor', 'is_internal': False}, {'name': 'CondType21', 'path': 'pyleecan/Generator/ClassesRef/Machine/CondType21.csv', 'properties': [{'name': 'Hbar', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Bar height'}, {'name': 'Wbar', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Bar width'}, {'name': 'Wins', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Width of insulation'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_surface_active', 'comp_height', 'comp_surface', 'comp_width', 'plot'], 'daughters': [], 'package': 'Machine', 'desc': "single rectangular conductor \\nhas to be used for LamSquirrelCages's conductor", 'mother': 'Conductor', 'is_internal': False}, {'name': 'CondType22', 'path': 'pyleecan/Generator/ClassesRef/Machine/CondType22.csv', 'properties': [{'name': 'Sbar', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Surface of the Slot'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_surface_active', 'comp_surface'], 'daughters': [], 'package': 'Machine', 'desc': 'conductor with only surface definition without specifc shape nor isolation', 'mother': 'Conductor', 'is_internal': False}, {'name': 'Conductor', 'path': 'pyleecan/Generator/ClassesRef/Machine/Conductor.csv', 'properties': [{'name': 'cond_mat', 'unit': '-', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': 'Material of the conductor'}, {'name': 'ins_mat', 'unit': '-', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': 'Material of the insulation'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check'], 'daughters': ['CondType11', 'CondType12', 'CondType21', 'CondType22'], 'package': 'Machine', 'desc': 'abstact class for conductors', 'mother': '', 'is_internal': False}, {'name': 'Frame', 'path': 'pyleecan/Generator/ClassesRef/Machine/Frame.csv', 'properties': [{'name': 'Lfra', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.35, 'desc': 'frame length [m]'}, {'name': 'Rint', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.2, 'desc': 'frame internal radius'}, {'name': 'Rext', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.2, 'desc': 'Frame external radius'}, {'name': 'mat_type', 'unit': '', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': 'Frame material'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'comp_height_eq', 'comp_mass', 'comp_surface', 'comp_volume', 'get_length', 'plot'], 'daughters': [], 'package': 'Machine', 'desc': 'machine frame', 'mother': '', 'is_internal': False}, {'name': 'LamHole', 'path': 'pyleecan/Generator/ClassesRef/Machine/LamHole.csv', 'properties': [{'name': 'hole', 'unit': '', 'type': '[Hole]', 'min': '', 'max': '', 'value': '', 'desc': 'lamination Hole'}, {'name': 'bore', 'unit': '', 'type': 'Bore', 'min': '', 'max': '', 'value': None, 'desc': 'Bore Shape'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'comp_height_yoke', 'comp_masses', 'comp_surfaces', 'comp_volumes', 'get_pole_pair_number', 'plot', 'comp_radius_mid_yoke', 'has_magnet', 'comp_angle_d_axis', 'comp_periodicity'], 'daughters': [], 'package': 'Machine', 'desc': 'Lamination with Hole with or without magnet or winding', 'mother': 'Lamination', 'is_internal': False}, {'name': 'Lamination', 'path': 'pyleecan/Generator/ClassesRef/Machine/Lamination.csv', 'properties': [{'name': 'L1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '100', 'value': 0.35, 'desc': 'Lamination stack active length [m] without radial ventilation airducts but including insulation layers between lamination sheets'}, {'name': 'mat_type', 'unit': '', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': "Lamination's material"}, {'name': 'Nrvd', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': 0, 'desc': 'number of radial air ventilation ducts in lamination'}, {'name': 'Wrvd', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'axial width of ventilation ducts in lamination'}, {'name': 'Kf1', 'unit': '-', 'type': 'float', 'min': '0', 'max': '1', 'value': 0.95, 'desc': 'lamination stacking / packing factor'}, {'name': 'is_internal', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': '1 for internal lamination topology, 0 for external lamination'}, {'name': 'Rint', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'To fill'}, {'name': 'Rext', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'To fill'}, {'name': 'is_stator', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'To fill'}, {'name': 'axial_vent', 'unit': '-', 'type': '[Hole]', 'min': '', 'max': '', 'value': '', 'desc': 'Axial ventilation ducts'}, {'name': 'notch', 'unit': '-', 'type': '[Notch]', 'min': '', 'max': '', 'value': '', 'desc': 'Lamination bore notches'}, {'name': 'yoke_notch', 'unit': '-', 'type': '[Notch]', 'min': '', 'max': '', 'value': '', 'desc': 'Lamination yoke notches'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_length', 'comp_masses', 'comp_radius_mec', 'comp_surface_axial_vent', 'comp_surfaces', 'comp_volumes', 'get_bore_line', 'get_Rbo', 'get_Ryoke', 'get_name_phase', 'plot', 'comp_output_geo', 'get_polar_eq', 'is_outwards', 'comp_height_yoke', 'get_notch_list', 'comp_angle_q_axis', 'comp_radius_mid_yoke', 'get_yoke_desc', 'get_bore_desc'], 'daughters': ['LamHole', 'LamSlot', 'LamSlotMag', 'LamSlotMulti', 'LamSlotWind', 'LamSquirrelCage'], 'package': 'Machine', 'desc': 'abstract class for lamination', 'mother': '', 'is_internal': False}, {'name': 'LamSlot', 'path': 'pyleecan/Generator/ClassesRef/Machine/LamSlot.csv', 'properties': [{'name': 'slot', 'unit': '', 'type': 'Slot', 'min': '', 'max': '', 'value': '', 'desc': 'lamination Slot'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'comp_radius_mec', 'comp_surfaces', 'get_pole_pair_number', 'plot', 'comp_height_yoke', 'get_Zs', 'comp_radius_mid_yoke', 'comp_periodicity', 'get_bore_desc'], 'daughters': ['LamSlotMag', 'LamSlotWind', 'LamSquirrelCage'], 'package': 'Machine', 'desc': 'Lamination with empty Slot', 'mother': 'Lamination', 'is_internal': False}, {'name': 'LamSlotMag', 'path': 'pyleecan/Generator/ClassesRef/Machine/LamSlotMag.csv', 'properties': [{'name': 'magnet', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Magnet of the lamination'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_masses', 'comp_radius_mec', 'comp_surfaces', 'comp_volumes', 'plot', 'comp_angle_d_axis', 'comp_periodicity'], 'daughters': [], 'package': 'Machine', 'desc': 'Lamination with Slot for Magnets', 'mother': 'LamSlot', 'is_internal': False}, {'name': 'LamSlotMulti', 'path': 'pyleecan/Generator/ClassesRef/Machine/LamSlotMulti.csv', 'properties': [{'name': 'slot_list', 'unit': '', 'type': '[Slot]', 'min': '', 'max': '', 'value': '', 'desc': 'List of lamination Slot'}, {'name': 'alpha', 'unit': '[rad]', 'type': 'ndarray', 'min': '', 'max': '', 'value': '', 'desc': 'Angular position of the Slots'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_radius_mec', 'comp_surfaces', 'get_pole_pair_number', 'plot', 'comp_height_yoke', 'get_Zs', 'get_bore_desc'], 'daughters': [], 'package': 'Machine', 'desc': 'Lamination with list of Slot', 'mother': 'Lamination', 'is_internal': False}, {'name': 'LamSlotWind', 'path': 'pyleecan/Generator/ClassesRef/Machine/LamSlotWind.csv', 'properties': [{'name': 'Ksfill', 'unit': '-', 'type': 'float', 'min': '0', 'max': '1', 'value': None, 'desc': 'Imposed Slot Fill factor (if None, will be computed according to the winding and the slot)'}, {'name': 'winding', 'unit': '', 'type': 'Winding', 'min': '', 'max': '', 'value': '', 'desc': "Lamination's Winding"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_masses', 'comp_surfaces', 'comp_volumes', 'get_pole_pair_number', 'get_name_phase', 'plot', 'plot_winding', 'comp_fill_factor', 'comp_output_geo', 'get_polar_eq', 'comp_wind_function', 'plot_mmf_unit', 'comp_resistance_wind', 'comp_angle_d_axis', 'comp_mmf_unit', 'comp_rot_dir', 'comp_lengths_winding', 'comp_number_phase_eq', 'comp_periodicity'], 'daughters': ['LamSquirrelCage'], 'package': 'Machine', 'desc': 'Lamination with Slot filled with winding', 'mother': 'LamSlot', 'is_internal': False}, {'name': 'LamSquirrelCage', 'path': 'pyleecan/Generator/ClassesRef/Machine/LamSquirrelCage.csv', 'properties': [{'name': 'Hscr', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'short circuit ring section radial height [m]'}, {'name': 'Lscr', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.015, 'desc': 'short circuit ring section axial length'}, {'name': 'ring_mat', 'unit': '', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': 'Material of the Rotor short circuit ring'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_length_ring', 'plot', 'comp_number_phase_eq', 'comp_periodicity', 'comp_surface_ring', 'comp_resistance_wind'], 'daughters': [], 'package': 'Machine', 'desc': 'squirrel cages lamination', 'mother': 'LamSlotWind', 'is_internal': False}, {'name': 'Machine', 'path': 'pyleecan/Generator/ClassesRef/Machine/Machine.csv', 'properties': [{'name': 'frame', 'unit': '', 'type': 'Frame', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Frame"}, {'name': 'shaft', 'unit': '', 'type': 'Shaft', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Shaft"}, {'name': 'name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'default_machine', 'desc': 'Name of the machine'}, {'name': 'desc', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Machine description'}, {'name': 'type_machine', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 1, 'desc': 'Integer to store the machine type (for the GUI, should be replaced by a test of the object type)'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Machine', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_angle_offset_initial', 'comp_desc_dict', 'comp_length_airgap_active', 'comp_masses', 'comp_output_geo', 'comp_Rgap_mec', 'comp_periodicity', 'comp_width_airgap_mag', 'comp_width_airgap_mec', 'get_material_list', 'get_polar_eq', 'plot', 'plot_anim_rotor', 'get_lam_list', 'get_lam_list_label', 'get_lam_by_label', 'get_lam_index', 'get_pole_pair_number'], 'daughters': ['MachineAsync', 'MachineDFIM', 'MachineIPMSM', 'MachineSCIM', 'MachineSIPMSM', 'MachineSRM', 'MachineSyRM', 'MachineSync', 'MachineUD', 'MachineWRSM'], 'package': 'Machine', 'desc': 'Abstract class for machines', 'mother': '', 'is_internal': False}, {'name': 'MachineAsync', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineAsync.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['is_synchronous', 'comp_desc_dict'], 'daughters': ['MachineDFIM', 'MachineSCIM'], 'package': 'Machine', 'desc': 'Abstract class for asynchronous machines', 'mother': 'Machine', 'is_internal': False}, {'name': 'MachineDFIM', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineDFIM.csv', 'properties': [{'name': 'rotor', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Rotor"}, {'name': 'stator', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Stator"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'get_machine_type'], 'daughters': ['MachineSCIM'], 'package': 'Machine', 'desc': 'Doubly Fed Induction Machine', 'mother': 'MachineAsync', 'is_internal': False}, {'name': 'MachineIPMSM', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineIPMSM.csv', 'properties': [{'name': 'rotor', 'unit': '', 'type': 'LamHole', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Rotor"}, {'name': 'stator', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Stator"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'get_machine_type'], 'daughters': [], 'package': 'Machine', 'desc': 'Interior Permanent Magnet Synchronous Machine', 'mother': 'MachineSync', 'is_internal': False}, {'name': 'MachineSCIM', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineSCIM.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'get_machine_type'], 'daughters': [], 'package': 'Machine', 'desc': 'Squirrel Cage Induction Machine', 'mother': 'MachineDFIM', 'is_internal': False}, {'name': 'MachineSIPMSM', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineSIPMSM.csv', 'properties': [{'name': 'rotor', 'unit': '', 'type': 'LamSlotMag', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Rotor"}, {'name': 'stator', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Stator"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'get_machine_type'], 'daughters': [], 'package': 'Machine', 'desc': 'Inset and Surface Permanent Magnet Synchronous Machine', 'mother': 'MachineSync', 'is_internal': False}, {'name': 'MachineSRM', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineSRM.csv', 'properties': [{'name': 'rotor', 'unit': '', 'type': 'LamSlot', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Rotor"}, {'name': 'stator', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Stator"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'get_machine_type'], 'daughters': [], 'package': 'Machine', 'desc': 'Switched Reluctance Machine', 'mother': 'MachineSync', 'is_internal': False}, {'name': 'MachineSync', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineSync.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['is_synchronous'], 'daughters': ['MachineIPMSM', 'MachineSIPMSM', 'MachineSRM', 'MachineSyRM', 'MachineWRSM'], 'package': 'Machine', 'desc': 'Abstract class for synchronous machine', 'mother': 'Machine', 'is_internal': False}, {'name': 'MachineSyRM', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineSyRM.csv', 'properties': [{'name': 'rotor', 'unit': '', 'type': 'LamHole', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Rotor"}, {'name': 'stator', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Stator"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'get_machine_type'], 'daughters': [], 'package': 'Machine', 'desc': 'Synchronous Reluctance Machine', 'mother': 'MachineSync', 'is_internal': False}, {'name': 'MachineUD', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineUD.csv', 'properties': [{'name': 'lam_list', 'unit': '', 'type': '[Lamination]', 'min': '', 'max': '', 'value': '', 'desc': 'List of Lamination'}, {'name': 'is_sync', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': True, 'desc': 'True if the machine should be handled as a Synchronous machine'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'is_synchronous'], 'daughters': [], 'package': 'Machine', 'desc': 'User defined Machine with multiple Laminations', 'mother': 'Machine', 'is_internal': False}, {'name': 'MachineWRSM', 'path': 'pyleecan/Generator/ClassesRef/Machine/MachineWRSM.csv', 'properties': [{'name': 'rotor', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Rotor"}, {'name': 'stator', 'unit': '', 'type': 'LamSlotWind', 'min': '', 'max': '', 'value': '', 'desc': "Machine's Stator"}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['check', 'get_machine_type'], 'daughters': [], 'package': 'Machine', 'desc': 'Wound Rotor Synchronous Machine', 'mother': 'MachineSync', 'is_internal': False}, {'name': 'Magnet', 'path': 'pyleecan/Generator/ClassesRef/Machine/Magnet.csv', 'properties': [{'name': 'mat_type', 'unit': '', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': 'The Magnet material'}, {'name': 'type_magnetization', 'unit': '-', 'type': 'int', 'min': '0', 'max': '5', 'value': 0, 'desc': 'Permanent magnet magnetization type: 0 for radial, 1 for parallel, 2 for Hallbach'}, {'name': 'Lmag', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 0.95, 'desc': 'Magnet axial length'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Machine', 'desc': 'Magnet class', 'mother': '', 'is_internal': False}, {'name': 'Notch', 'path': 'pyleecan/Generator/ClassesRef/Machine/Notch.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_Rbo', 'is_outwards'], 'daughters': ['NotchEvenDist'], 'package': 'Machine', 'desc': 'Abstract class for notches', 'mother': '', 'is_internal': False}, {'name': 'NotchEvenDist', 'path': 'pyleecan/Generator/ClassesRef/Machine/NotchEvenDist.csv', 'properties': [{'name': 'alpha', 'unit': 'rad', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'angular positon of the first notch'}, {'name': 'notch_shape', 'unit': '-', 'type': 'Slot', 'min': '', 'max': '', 'value': '', 'desc': 'Shape of the Notch'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_notch_list', 'comp_surface'], 'daughters': [], 'package': 'Machine', 'desc': 'Class for evenly distributed notches (according to Zs)', 'mother': 'Notch', 'is_internal': False}, {'name': 'Shaft', 'path': 'pyleecan/Generator/ClassesRef/Machine/Shaft.csv', 'properties': [{'name': 'Lshaft', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '100', 'value': 0.442, 'desc': 'length of the rotor shaft [m] (used for weight & cost estimation only)'}, {'name': 'mat_type', 'unit': '', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': "Shaft's Material"}, {'name': 'Drsh', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '8', 'value': 0.045, 'desc': 'diameter of the rotor shaft [m], used to estimate bearing diameter for friction losses'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'comp_mass', 'plot'], 'daughters': [], 'package': 'Machine', 'desc': 'machine shaft', 'mother': '', 'is_internal': False}, {'name': 'Winding', 'path': 'pyleecan/Generator/ClassesRef/Machine/Winding.csv', 'properties': [{'name': 'is_reverse_wind', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': '1 to reverse the default winding algorithm along the airgap (c, b, a instead of a, b, c along the trigonometric direction)'}, {'name': 'Nslot_shift_wind', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': 0, 'desc': '0 not to change the stator winding connection matrix built by pyleecan number of slots to shift the coils obtained with pyleecan winding algorithm (a, b, c becomes b, c, a with Nslot_shift_wind1=1)'}, {'name': 'qs', 'unit': '-', 'type': 'int', 'min': '0', 'max': '100', 'value': 3, 'desc': 'number of phases '}, {'name': 'Ntcoil', 'unit': '-', 'type': 'int', 'min': '1', 'max': '1000', 'value': 7, 'desc': 'number of turns per coil'}, {'name': 'Npcpp', 'unit': '-', 'type': 'int', 'min': '1', 'max': '1000', 'value': 2, 'desc': 'number of parallel circuits per phase (maximum 2p)'}, {'name': 'type_connection', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': 'Winding connection : 0 star (Y), 1 triangle (delta)'}, {'name': 'p', 'unit': '-', 'type': 'int', 'min': '1', 'max': '100', 'value': 3, 'desc': 'pole pairs number'}, {'name': 'Lewout', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '100', 'value': 0.015, 'desc': 'straight length of the conductors outside the lamination before the curved part of winding overhang [m] - can be negative to tune the average turn length '}, {'name': 'conductor', 'unit': '-', 'type': 'Conductor', 'min': '', 'max': '', 'value': '', 'desc': "Winding's conductor"}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"Abstract Winding"'}], 'methods': ['comp_Ncspc', 'comp_Ntspc', 'comp_phasor_angle', 'comp_winding_factor', 'comp_length_endwinding'], 'daughters': ['WindingCW1L', 'WindingCW2LR', 'WindingCW2LT', 'WindingDW1L', 'WindingDW2L', 'WindingSC', 'WindingUD'], 'package': 'Machine', 'desc': 'Winding abstract class', 'mother': '', 'is_internal': False}, {'name': 'WindingCW1L', 'path': 'pyleecan/Generator/ClassesRef/Machine/WindingCW1L.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"single layer concentrated"'}], 'methods': ['comp_connection_mat', 'get_dim_wind'], 'daughters': [], 'package': 'Machine', 'desc': "single layer non-overlapping 'concentrated' tooth winding 'alternate teeth wound'", 'mother': 'Winding', 'is_internal': False}, {'name': 'WindingCW2LR', 'path': 'pyleecan/Generator/ClassesRef/Machine/WindingCW2LR.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"double layer concentrated (radial)"'}], 'methods': ['comp_connection_mat', 'get_dim_wind'], 'daughters': [], 'package': 'Machine', 'desc': 'double layer non-overlapping "concentrated" tooth winding "all teeth wound", radial coil superposition', 'mother': 'Winding', 'is_internal': False}, {'name': 'WindingCW2LT', 'path': 'pyleecan/Generator/ClassesRef/Machine/WindingCW2LT.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"double layer concentrated (orthoradial)"'}], 'methods': ['comp_connection_mat', 'get_dim_wind'], 'daughters': [], 'package': 'Machine', 'desc': 'double layer non-overlapping "concentrated" tooth winding "all teeth wound", orthoradial coil superposition', 'mother': 'Winding', 'is_internal': False}, {'name': 'WindingDW1L', 'path': 'pyleecan/Generator/ClassesRef/Machine/WindingDW1L.csv', 'properties': [{'name': 'coil_pitch', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1000', 'value': 5, 'desc': 'winding coil pitch or coil span expressed in slots (coil_pitch1=Zs/(2p)->full-pitch distributed winding, coil_pitch1<Zs/(2p)->chorded/shorted-pitch distributed winding, coil_pitch1=1->tooth-winding). Coil pitch is sometimes written 1/9 means Input.Magnetics.coil_pitch1=9-1=8'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"single layer distributed"'}], 'methods': ['comp_connection_mat', 'get_dim_wind'], 'daughters': ['WindingDW2L'], 'package': 'Machine', 'desc': 'single layer overlapping integral distributed winding', 'mother': 'Winding', 'is_internal': False}, {'name': 'WindingDW2L', 'path': 'pyleecan/Generator/ClassesRef/Machine/WindingDW2L.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"double layer distributed"'}], 'methods': ['get_dim_wind'], 'daughters': [], 'package': 'Machine', 'desc': 'double layer overlapping integral distributed winding, radial coil superposition', 'mother': 'WindingDW1L', 'is_internal': False}, {'name': 'WindingSC', 'path': 'pyleecan/Generator/ClassesRef/Machine/WindingSC.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"short-circuit"'}], 'methods': ['comp_connection_mat', 'get_dim_wind'], 'daughters': [], 'package': 'Machine', 'desc': 'short-circuit winding (e.g. squirrel cage type)', 'mother': 'Winding', 'is_internal': False}, {'name': 'WindingUD', 'path': 'pyleecan/Generator/ClassesRef/Machine/WindingUD.csv', 'properties': [{'name': 'user_wind_mat', 'unit': '-', 'type': 'ndarray', 'min': '', 'max': '', 'value': '', 'desc': 'user defined Winding matrix'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"User defined"'}], 'methods': ['comp_connection_mat', 'get_dim_wind'], 'daughters': [], 'package': 'Machine', 'desc': 'User defined winding', 'mother': 'Winding', 'is_internal': False}, {'name': 'MatEconomical', 'path': 'pyleecan/Generator/ClassesRef/Material/MatEconomical.csv', 'properties': [{'name': 'cost_unit', 'unit': 'unit/kg', 'type': 'float', 'min': '0', 'max': '', 'value': 0.127, 'desc': 'Cost of one kilo of material'}, {'name': 'unit_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '$', 'desc': 'Name of the unit'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Material', 'desc': 'material ecomomical properties', 'mother': '', 'is_internal': False}, {'name': 'MatElectrical', 'path': 'pyleecan/Generator/ClassesRef/Material/MatElectrical.csv', 'properties': [{'name': 'rho', 'unit': 'ohm.m', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Resistivity at 20 deg C'}, {'name': 'epsr', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Relative dielectric constant'}, {'name': 'alpha', 'unit': '1/K', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Thermal Coefficient'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Material', 'desc': 'material electrical properties', 'mother': '', 'is_internal': False}, {'name': 'Material', 'path': 'pyleecan/Generator/ClassesRef/Material/Material.csv', 'properties': [{'name': 'name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'Material', 'desc': 'name of the material'}, {'name': 'is_isotropic', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'If True, uniformity in all orientations'}, {'name': 'elec', 'unit': '', 'type': 'MatElectrical', 'min': '', 'max': '', 'value': '', 'desc': 'Electrical properties of the material'}, {'name': 'mag', 'unit': '', 'type': 'MatMagnetics', 'min': '', 'max': '', 'value': '', 'desc': 'Magnetic properties of the material'}, {'name': 'struct', 'unit': '', 'type': 'MatStructural', 'min': '', 'max': '', 'value': '', 'desc': 'Structural properties of the material'}, {'name': 'HT', 'unit': '', 'type': 'MatHT', 'min': '', 'max': '', 'value': '', 'desc': 'Heat Transfer properties of the material'}, {'name': 'eco', 'unit': '', 'type': 'MatEconomical', 'min': '', 'max': '', 'value': '', 'desc': 'Economical properties of the material'}, {'name': 'desc', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'Material description', 'desc': 'material description'}, {'name': 'path', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path to the material file'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Material', 'desc': '', 'mother': '', 'is_internal': False}, {'name': 'MatHT', 'path': 'pyleecan/Generator/ClassesRef/Material/MatHT.csv', 'properties': [{'name': 'lambda_x', 'unit': 'W/K', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'thermal conductivity (XY is lamination plane, Z is rotation axis)'}, {'name': 'lambda_y', 'unit': 'W/K', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'thermal conductivity (XY is lamination plane, Z is rotation axis)'}, {'name': 'lambda_z', 'unit': 'W/K', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'thermal conductivity (XY is lamination plane, Z is rotation axis)'}, {'name': 'Cp', 'unit': 'W/kg/K', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'specific heat capacity'}, {'name': 'alpha', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 0.00393, 'desc': 'thermal expansion coefficient'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Material', 'desc': 'Material Heat Transfer properties', 'mother': '', 'is_internal': False}, {'name': 'MatMagnetics', 'path': 'pyleecan/Generator/ClassesRef/Material/MatMagnetics.csv', 'properties': [{'name': 'mur_lin', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Relative magnetic permeability'}, {'name': 'Hc', 'unit': 'A/m', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Coercitivity field'}, {'name': 'Brm20', 'unit': 'T', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'magnet remanence induction at 20degC'}, {'name': 'alpha_Br', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'temperature coefficient for remanent flux density /degC compared to 20degC'}, {'name': 'Wlam', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'lamination sheet width without insulation [m] (0 == not laminated)'}, {'name': 'BH_curve', 'unit': '-', 'type': 'ImportMatrix', 'min': '', 'max': '', 'value': '', 'desc': 'nonlinear B(H) curve (two columns matrix, H and B(H))'}, {'name': 'LossData', 'unit': 'W/kg', 'type': 'ImportMatrix', 'min': '', 'max': '', 'value': '', 'desc': 'specific loss data value triplets, i.e. B, f, P'}, {'name': 'ModelBH', 'unit': '-', 'type': 'ModelBH', 'min': '', 'max': '', 'value': '', 'desc': 'a model of BH curve with an analytical expression'}, {'name': 'is_BH_extrapolate', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': '1 to use ModelBH to fit input data and extrapolate BH curve'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_BH', 'plot_BH'], 'daughters': [], 'package': 'Material', 'desc': 'magnetic material properties', 'mother': '', 'is_internal': False}, {'name': 'MatStructural', 'path': 'pyleecan/Generator/ClassesRef/Material/MatStructural.csv', 'properties': [{'name': 'rho', 'unit': 'kg/m^3', 'type': 'float', 'min': '0', 'max': '', 'value': 7650, 'desc': 'mass per unit volume [kg/m3]'}, {'name': 'Ex', 'unit': 'Pa', 'type': 'float', 'min': '0', 'max': '', 'value': 215000000000.0, 'desc': 'equivalent Young modulus (XY is lamination plane, Z is rotation axis)'}, {'name': 'Ey', 'unit': 'Pa', 'type': 'float', 'min': '0', 'max': '', 'value': 215000000000.0, 'desc': 'equivalent Young modulus (XY is lamination plane, Z is rotation axis)'}, {'name': 'Ez', 'unit': 'Pa', 'type': 'float', 'min': '0', 'max': '', 'value': 80000000000, 'desc': 'equivalent Young modulus (XY is lamination plane, Z is rotation axis)'}, {'name': 'nu_xy', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 0.3, 'desc': 'equivalent Poisson ratio in the XY plane (XY is lamination plane, Z is rotation axis)'}, {'name': 'nu_xz', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'equivalent Poisson ratio in the XZ plane (XY is lamination plane, Z is rotation axis)'}, {'name': 'nu_yz', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'equivalent Poisson ratio in the YZ plane (XY is lamination plane, Z is rotation axis)'}, {'name': 'Gxz', 'unit': 'Pa', 'type': 'float', 'min': '0', 'max': '', 'value': 2000000000, 'desc': 'shear modulus in XY plane (XY is lamination plane, Z is rotation axis)'}, {'name': 'Gxy', 'unit': 'Pa', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'shear modulus in XZ plane (XY is lamination plane, Z is rotation axis)'}, {'name': 'Gyz', 'unit': 'Pa', 'type': 'float', 'min': '0', 'max': '', 'value': 2000000000, 'desc': 'shear modulus in YZ plane (XY is lamination plane, Z is rotation axis)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Material', 'desc': 'Material Structural properties', 'mother': '', 'is_internal': False}, {'name': 'ModelBH', 'path': 'pyleecan/Generator/ClassesRef/Material/ModelBH.csv', 'properties': [{'name': 'Bmax', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 2.31, 'desc': 'Max value of H for extrapolation'}, {'name': 'Hmax', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Max value of B for extrapolation'}, {'name': 'delta', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 100, 'desc': 'Step value for H'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_BH', 'fit_model'], 'daughters': ['ModelBH_Langevin', 'ModelBH_arctangent', 'ModelBH_linear_sat'], 'package': 'Material', 'desc': 'Abstract class for BH curve model ', 'mother': '', 'is_internal': False}, {'name': 'ModelBH_arctangent', 'path': 'pyleecan/Generator/ClassesRef/Material/ModelBH_arctangent.csv', 'properties': [{'name': 'k', 'unit': 'T', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'BH curve parameter'}, {'name': 'mu_a', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Saturation permeability parameter'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Material', 'desc': 'Abstract class for BH curve model ', 'mother': 'ModelBH', 'is_internal': False}, {'name': 'ModelBH_exponential', 'path': 'pyleecan/Generator/ClassesRef/Material/ModelBH_exponential.csv', 'properties': [{'name': 'Bs', 'unit': 'T', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'BH curve parameter'}, {'name': 'mu_a', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Saturation permeability parameter'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Material', 'desc': 'Abstract class for BH curve model ', 'mother': '', 'is_internal': False}, {'name': 'ModelBH_Langevin', 'path': 'pyleecan/Generator/ClassesRef/Material/ModelBH_Langevin.csv', 'properties': [{'name': 'Bs', 'unit': 'T', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'To enforc Saturation flux density'}, {'name': 'a', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'To enforce Saturation parameter a'}, {'name': 'param1', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 1.89, 'desc': 'Init value for Bs for fitting algorithm'}, {'name': 'param2', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 240, 'desc': 'Init value for a for fitting algorithm'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_BH', 'BH_func'], 'daughters': [], 'package': 'Material', 'desc': 'Abstract class for BH curve model ', 'mother': 'ModelBH', 'is_internal': False}, {'name': 'ModelBH_linear_sat', 'path': 'pyleecan/Generator/ClassesRef/Material/ModelBH_linear_sat.csv', 'properties': [{'name': 'Bs', 'unit': 'T', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Saturation flux density'}, {'name': 'mu_a', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Linear permeability'}, {'name': 'param1', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 1.89, 'desc': 'Init value for Bs for fitting algorithm'}, {'name': 'param2', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 240, 'desc': 'Init value for mu_a for fitting algorithm'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_BH', 'BH_func'], 'daughters': [], 'package': 'Material', 'desc': 'Abstract class for BH curve model ', 'mother': 'ModelBH', 'is_internal': False}, {'name': 'CellMat', 'path': 'pyleecan/Generator/ClassesRef/Mesh/CellMat.csv', 'properties': [{'name': 'connectivity', 'unit': '', 'type': 'ndarray', 'min': '', 'max': '', 'value': [], 'desc': 'Matrix of connectivity for one element type'}, {'name': 'nb_cell', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 0, 'desc': 'Total number of elements'}, {'name': 'nb_node_per_cell', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 0, 'desc': 'Define the number of node per cell'}, {'name': 'indice', 'unit': '', 'type': 'ndarray', 'min': '', 'max': '', 'value': [], 'desc': 'Element indices'}, {'name': 'interpolation', 'unit': '', 'type': 'Interpolation', 'min': '', 'max': '', 'value': '', 'desc': 'Define FEA interpolation'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['add_cell', 'get_connectivity', 'get_node2cell', 'is_exist'], 'daughters': [], 'package': 'Mesh', 'desc': 'Define the connectivity under matricial format containing one type of element (example: only triangles with 3 nodes). ', 'mother': '', 'is_internal': False}, {'name': 'Mesh', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Mesh.csv', 'properties': [{'name': 'label', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Description of the mesh'}, {'name': 'dimension', 'unit': '', 'type': 'int', 'min': '1', 'max': '3', 'value': 2, 'desc': 'Dimension of the physical problem'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['MeshMat', 'MeshVTK'], 'package': 'Mesh', 'desc': 'Abstract Class for mesh related classes', 'mother': '', 'is_internal': False}, {'name': 'MeshMat', 'path': 'pyleecan/Generator/ClassesRef/Mesh/MeshMat.csv', 'properties': [{'name': 'cell', 'unit': '', 'type': '{CellMat}', 'min': '', 'max': '', 'value': '', 'desc': 'Storing connectivity'}, {'name': 'node', 'unit': '', 'type': 'NodeMat', 'min': '', 'max': '', 'value': '', 'desc': 'Storing nodes'}, {'name': '_is_renum', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True if renumering the nodes and cells is useful when renum method is called (saving calculation time)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_node', 'get_node_indice', 'get_cell', 'get_mesh_pv', 'get_cell_area', 'get_vertice', 'get_node2cell', 'add_cell', 'renum', 'find_cell', 'interface', 'clear_node', 'clear_cell'], 'daughters': [], 'package': 'Mesh', 'desc': 'Gather the mesh storage format', 'mother': 'Mesh', 'is_internal': False}, {'name': 'MeshSolution', 'path': 'pyleecan/Generator/ClassesRef/Mesh/MeshSolution.csv', 'properties': [{'name': 'label', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': '(Optional) Descriptive name of the mesh'}, {'name': 'mesh', 'unit': '', 'type': '[Mesh]', 'min': '', 'max': '', 'value': '', 'desc': 'A list of Mesh objects. '}, {'name': 'is_same_mesh', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': '1 if the mesh is the same at each step (time, mode etc.)'}, {'name': 'solution', 'unit': '', 'type': '[Solution]', 'min': '', 'max': '', 'value': '', 'desc': 'A list of Solution objects'}, {'name': 'group', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': None, 'desc': 'Dict sorted by groups name with list of cells indices. '}, {'name': 'dimension', 'unit': '', 'type': 'int', 'min': '1', 'max': '3', 'value': 2, 'desc': 'Dimension of the physical problem'}, {'name': 'path', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Path where the MeshSolution is stored as a file'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_mesh', 'get_solution', 'get_field', 'get_group', 'get_mesh_field_pv', 'plot_mesh', 'plot_contour', 'plot_deflection', 'plot_deflection_animated', 'plot_glyph', 'plot_glyph_animated', 'perm_coord'], 'daughters': [], 'package': 'Mesh', 'desc': 'Abstract class to associate a mesh with one or several solutions', 'mother': '', 'is_internal': False}, {'name': 'MeshVTK', 'path': 'pyleecan/Generator/ClassesRef/Mesh/MeshVTK.csv', 'properties': [{'name': 'mesh', 'unit': '', 'type': 'vtk.vtkPointSet', 'min': '', 'max': '', 'value': 'None', 'desc': 'Pyvista object of the mesh (optional)'}, {'name': 'is_pyvista_mesh', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'Store the pyvista object'}, {'name': 'format', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'vtk', 'desc': 'Format in which the mesh is stored'}, {'name': 'path', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Path where the mesh is stored'}, {'name': 'name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'mesh', 'desc': 'Name of the mesh file'}, {'name': 'surf', 'unit': '', 'type': 'pyvista.core.pointset.PolyData', 'min': '', 'max': '', 'value': 'None', 'desc': 'Pyvista object of the outer surface'}, {'name': 'is_vtk_surf', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'Save the surface mesh in a vtk file'}, {'name': 'surf_path', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path where the outer surface is stored'}, {'name': 'surf_name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the outer surface file'}, {'name': 'node_normals', 'unit': '', 'type': 'ndarray', 'min': '', 'max': '', 'value': None, 'desc': 'Array of normals to nodes (cell vertices)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_mesh_pv', 'get_node', 'get_cell', 'get_normals', 'get_surf', 'get_cell_area', 'convert', 'as_dict', 'perm_coord', 'get_path'], 'daughters': [], 'package': 'Mesh', 'desc': 'Gather the mesh storage format', 'mother': 'Mesh', 'is_internal': False}, {'name': 'NodeMat', 'path': 'pyleecan/Generator/ClassesRef/Mesh/NodeMat.csv', 'properties': [{'name': 'coordinate', 'unit': '', 'type': 'ndarray', 'min': '', 'max': '', 'value': [], 'desc': 'Nodes coordinates'}, {'name': 'nb_node', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 0, 'desc': 'Total number of nodes'}, {'name': 'delta', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 1e-10, 'desc': 'Sensibility for node searching'}, {'name': 'indice', 'unit': '', 'type': 'ndarray', 'min': '', 'max': '', 'value': '', 'desc': 'Nodes unique indices'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['add_node', 'get_coord', 'is_exist', 'get_indice'], 'daughters': [], 'package': 'Mesh', 'desc': 'Class to define nodes coordinates and getter.', 'mother': '', 'is_internal': False}, {'name': 'Solution', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Solution.csv', 'properties': [{'name': 'type_cell', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'triangle', 'desc': 'Type of cell (Point, Segment2, Triangle3, etc.)'}, {'name': 'label', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Label to identify the solution'}, {'name': 'dimension', 'unit': '', 'type': 'int', 'min': '1', 'max': '3', 'value': 2, 'desc': 'Dimension of the physical problem'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['Mode', 'SolutionData', 'SolutionMat', 'SolutionVector'], 'package': 'Mesh', 'desc': 'Abstract class for solution related classes.', 'mother': '', 'is_internal': False}, {'name': 'SolutionData', 'path': 'pyleecan/Generator/ClassesRef/Mesh/SolutionData.csv', 'properties': [{'name': 'field', 'unit': '-', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Data object containing the numerical values of a solution. One of the axis must be "Indices", a list of indices. If the solution is a vector, one of the axis must be "Direction", values [\'x\',\'y\'] for example.'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_field', 'get_axes_list', 'get_solution'], 'daughters': [], 'package': 'Mesh', 'desc': 'Define a Solution with SciDataTool objects.', 'mother': 'Solution', 'is_internal': False}, {'name': 'SolutionMat', 'path': 'pyleecan/Generator/ClassesRef/Mesh/SolutionMat.csv', 'properties': [{'name': 'field', 'unit': '-', 'type': 'ndarray', 'min': '', 'max': '', 'value': None, 'desc': 'Matrix/Vector of the numerical values of the solutions.'}, {'name': 'indice', 'unit': '-', 'type': 'ndarray', 'min': '', 'max': '', 'value': None, 'desc': 'Indices of loaded cells. Set to None if all cells are loaded'}, {'name': 'axis_name', 'unit': '-', 'type': 'list', 'min': '', 'max': '', 'value': None, 'desc': 'List of axis names (e.g. "time", "direction")'}, {'name': 'axis_size', 'unit': '-', 'type': 'list', 'min': '', 'max': '', 'value': None, 'desc': 'List of axis sizes'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_field', 'get_axes_list', 'get_solution'], 'daughters': ['Mode'], 'package': 'Mesh', 'desc': 'Define a Solution with ndarray object.', 'mother': 'Solution', 'is_internal': False}, {'name': 'SolutionVector', 'path': 'pyleecan/Generator/ClassesRef/Mesh/SolutionVector.csv', 'properties': [{'name': 'field', 'unit': '-', 'type': 'SciDataTool.Classes.VectorField.VectorField', 'min': '', 'max': '', 'value': 'None', 'desc': 'Data object containing the numerical values of a solution. One of the axis must be "Indices", a list of indices. If the solution is a vector, one of the axis must be "Direction", values [\'x\',\'y\'] for example.'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_field', 'get_axes_list', 'get_solution'], 'daughters': [], 'package': 'Mesh', 'desc': 'Define a Solution with SciDataTool objects.', 'mother': 'Solution', 'is_internal': False}, {'name': 'FPGNSeg', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/FPGNSeg.csv', 'properties': [{'name': 'nb_gauss_point', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 4, 'desc': 'Nb of gauss point to be used'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_gauss_points'], 'daughters': [], 'package': 'Mesh', 'desc': 'Compute N gauss point for segment elements', 'mother': 'GaussPoint', 'is_internal': False}, {'name': 'FPGNTri', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/FPGNTri.csv', 'properties': [{'name': 'nb_gauss_point', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 3, 'desc': 'Nb of gauss point to be used'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_gauss_points'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store gauss point for triangle elements', 'mother': 'GaussPoint', 'is_internal': False}, {'name': 'GaussPoint', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/GaussPoint.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['FPGNSeg', 'FPGNTri'], 'package': 'Mesh', 'desc': 'Store set of gauss points', 'mother': '', 'is_internal': False}, {'name': 'Interpolation', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/Interpolation.csv', 'properties': [{'name': 'ref_cell', 'unit': '', 'type': 'RefCell', 'min': '', 'max': '', 'value': None, 'desc': ''}, {'name': 'gauss_point', 'unit': '', 'type': 'GaussPoint', 'min': '', 'max': '', 'value': None, 'desc': ''}, {'name': 'scalar_product', 'unit': '', 'type': 'ScalarProduct', 'min': '', 'max': '', 'value': None, 'desc': ''}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Mesh', 'desc': 'Store shape functions', 'mother': '', 'is_internal': False}, {'name': 'RefCell', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/RefCell.csv', 'properties': [{'name': 'epsilon', 'unit': '-', 'type': 'float', 'min': '0.00E+00', 'max': '', 'value': 0.05, 'desc': 'Precision criterion'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['interpolation'], 'daughters': ['RefLine3', 'RefQuad4', 'RefQuad9', 'RefSegmentP1', 'RefTriangle3', 'RefTriangle6'], 'package': 'Mesh', 'desc': 'Store shape functions definition in the reference element', 'mother': '', 'is_internal': False}, {'name': 'RefLine3', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/RefLine3.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['shape_function', 'jacobian', 'grad_shape_function', 'get_real_point', 'get_ref_point', 'is_inside'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store line elements for 2D mesh', 'mother': 'RefCell', 'is_internal': False}, {'name': 'RefQuad4', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/RefQuad4.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['shape_function', 'jacobian', 'grad_shape_function', 'get_real_point', 'get_ref_point', 'is_inside'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store quadrangel elements for 2D mesh', 'mother': 'RefCell', 'is_internal': False}, {'name': 'RefQuad9', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/RefQuad9.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['shape_function', 'jacobian', 'grad_shape_function', 'get_real_point', 'get_ref_point', 'is_inside'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store quadrangel elements for 2D mesh', 'mother': 'RefCell', 'is_internal': False}, {'name': 'RefSegmentP1', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/RefSegmentP1.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['shape_function', 'jacobian', 'grad_shape_function', 'get_real_point', 'is_inside', 'get_ref_point', 'get_normal'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store segment elements for 2D mesh', 'mother': 'RefCell', 'is_internal': False}, {'name': 'RefTriangle3', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/RefTriangle3.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['shape_function', 'jacobian', 'grad_shape_function', 'get_real_point', 'get_ref_point', 'is_inside', 'get_cell_area', 'get_normal'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store triangle elements for 2D mesh', 'mother': 'RefCell', 'is_internal': False}, {'name': 'RefTriangle6', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/RefTriangle6.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['shape_function', 'jacobian', 'grad_shape_function', 'get_real_point', 'get_ref_point', 'is_inside'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store triangle elements for 2D mesh', 'mother': 'RefCell', 'is_internal': False}, {'name': 'ScalarProduct', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/ScalarProduct.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['ScalarProductL2'], 'package': 'Mesh', 'desc': 'Store shape functions definition in the reference element', 'mother': '', 'is_internal': False}, {'name': 'ScalarProductL2', 'path': 'pyleecan/Generator/ClassesRef/Mesh/Interpolation/ScalarProductL2.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['scalar_product'], 'daughters': [], 'package': 'Mesh', 'desc': 'Store shape functions definition in the reference element', 'mother': 'ScalarProduct', 'is_internal': False}, {'name': 'OptiConstraint', 'path': 'pyleecan/Generator/ClassesRef/Optimization/OptiConstraint.csv', 'properties': [{'name': 'name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'name of the design variable'}, {'name': 'type_const', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '<=', 'desc': 'Type of comparison ( "==", "<=", ">=", "<",">")'}, {'name': 'value', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Value to compare'}, {'name': 'get_variable', 'unit': '', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function to get the variable to compare'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Optimization', 'desc': 'Constraint of the optimization problem', 'mother': '', 'is_internal': False}, {'name': 'OptiDesignVar', 'path': 'pyleecan/Generator/ClassesRef/Optimization/OptiDesignVar.csv', 'properties': [{'name': 'type_var', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'interval', 'desc': 'Type of the variable interval or set.'}, {'name': 'space', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [0, 1], 'desc': 'Space of the variable'}, {'name': 'get_value', 'unit': '', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function of the space to initiate the variable'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Optimization', 'desc': 'Optimization', 'mother': 'ParamExplorer', 'is_internal': False}, {'name': 'OptiGenAlg', 'path': 'pyleecan/Generator/ClassesRef/Optimization/OptiGenAlg.csv', 'properties': [{'name': 'selector', 'unit': '-', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Selector of the genetic algorithm'}, {'name': 'crossover', 'unit': '-', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Crossover of the genetic algorithm'}, {'name': 'mutator', 'unit': '-', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Mutator of the genetic algorithm'}, {'name': 'p_cross', 'unit': '-', 'type': 'float', 'min': '0', 'max': '1', 'value': 0.9, 'desc': 'Probability of crossover'}, {'name': 'p_mutate', 'unit': '-', 'type': 'float', 'min': '0', 'max': '1', 'value': 0.1, 'desc': 'Probability of mutation '}, {'name': 'size_pop', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 40, 'desc': 'Size of the population'}, {'name': 'nb_gen', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 100, 'desc': 'Number of generations'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['OptiGenAlgNsga2Deap'], 'package': 'Optimization', 'desc': 'Genetic algorithm class', 'mother': 'OptiSolver', 'is_internal': False}, {'name': 'OptiGenAlgNsga2Deap', 'path': 'pyleecan/Generator/ClassesRef/Optimization/OptiGenAlgNsga2Deap.csv', 'properties': [{'name': 'toolbox', 'unit': '', 'type': 'deap.base.Toolbox', 'min': '', 'max': '', 'value': 'None', 'desc': 'DEAP toolbox'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['solve', 'mutate', 'cross', 'create_toolbox', 'check_optimization_input', 'delete_toolbox'], 'daughters': [], 'package': 'Optimization', 'desc': 'Multi-objectives optimization problem with some constraints', 'mother': 'OptiGenAlg', 'is_internal': False}, {'name': 'OptiObjective', 'path': 'pyleecan/Generator/ClassesRef/Optimization/OptiObjective.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Optimization', 'desc': 'Class to distinguish normal DataKeeper from optimization objectives ', 'mother': 'DataKeeper', 'is_internal': False}, {'name': 'OptiProblem', 'path': 'pyleecan/Generator/ClassesRef/Optimization/OptiProblem.csv', 'properties': [{'name': 'simu', 'unit': '', 'type': 'Simulation', 'min': '', 'max': '', 'value': '', 'desc': 'Default simulation'}, {'name': 'design_var', 'unit': '', 'type': '[OptiDesignVar]', 'min': '', 'max': '', 'value': '', 'desc': 'List of design variables'}, {'name': 'obj_func', 'unit': '', 'type': '[OptiObjective]', 'min': '', 'max': '', 'value': '', 'desc': 'List of objective functions'}, {'name': 'eval_func', 'unit': '', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function to evaluate before computing obj function and constraints'}, {'name': 'constraint', 'unit': '', 'type': '[OptiConstraint]', 'min': '', 'max': '', 'value': '', 'desc': 'List containing the constraints '}, {'name': 'preprocessing', 'unit': '', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function to execute a preprocessing on the simulation right before it is run.'}, {'name': 'datakeeper_list', 'unit': '', 'type': '[DataKeeper]', 'min': '', 'max': '', 'value': '', 'desc': 'List of DataKeepers to run on every output'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Optimization', 'desc': 'Multi-objectives optimization problem with some constraints', 'mother': '', 'is_internal': False}, {'name': 'OptiSolver', 'path': 'pyleecan/Generator/ClassesRef/Optimization/OptiSolver.csv', 'properties': [{'name': 'problem', 'unit': '-', 'type': 'OptiProblem', 'min': '', 'max': '', 'value': '', 'desc': 'Problem to solve'}, {'name': 'xoutput', 'unit': '-', 'type': 'XOutput', 'min': '', 'max': '', 'value': '', 'desc': 'Optimization results containing every output'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.OptiSolver', 'desc': 'Name of the logger to use'}, {'name': 'is_keep_all_output', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'Boolean to keep every output'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['OptiGenAlg', 'OptiGenAlgNsga2Deap'], 'package': 'Optimization', 'desc': 'Optimization solver class', 'mother': '', 'is_internal': False}, {'name': 'OutElec', 'path': 'pyleecan/Generator/ClassesRef/Output/OutElec.csv', 'properties': [{'name': 'Time', 'unit': 's', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Electrical time Data object'}, {'name': 'Angle', 'unit': 'rad', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Electrical position Data object'}, {'name': 'Is', 'unit': 'A', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Stator currents DataTime object'}, {'name': 'Ir', 'unit': 'A', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Rotor currents as a function of time (each column correspond to one phase)'}, {'name': 'angle_rotor', 'unit': 'rad', 'type': 'ndarray', 'min': '', 'max': '', 'value': None, 'desc': 'Rotor angular position as a function of time (if None computed according to Nr)'}, {'name': 'N0', 'unit': 'rpm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Rotor speed'}, {'name': 'angle_rotor_initial', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Initial angular position of the rotor at t=0'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Electrical', 'desc': 'Name of the logger to use'}, {'name': 'Tem_av_ref', 'unit': 'N.m', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Theorical Average Electromagnetic torque'}, {'name': 'Id_ref', 'unit': 'A', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Electrical time vector (no symmetry)'}, {'name': 'Iq_ref', 'unit': 'A', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'q-axis current magnitude'}, {'name': 'felec', 'unit': 'Hz', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Electrical Frequency'}, {'name': 'Ud_ref', 'unit': 'V', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'd-axis voltage magnitude'}, {'name': 'Uq_ref', 'unit': 'V', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'q-axis voltage magnitude'}, {'name': 'Pj_losses', 'unit': 'W', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Electrical Joule losses'}, {'name': 'Pem_av_ref', 'unit': 'W', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Average Electromagnetic power'}, {'name': 'Us', 'unit': 'V', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Stator voltage as a function of time (each column correspond to one phase)'}, {'name': 'internal', 'unit': '-', 'type': 'OutInternal', 'min': '', 'max': '', 'value': None, 'desc': 'OutInternal object containg outputs related to a specific model'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_Nr', 'get_Is', 'get_Us', 'comp_I_mag'], 'daughters': [], 'package': 'Output', 'desc': 'Gather the electric module outputs', 'mother': '', 'is_internal': False}, {'name': 'OutForce', 'path': 'pyleecan/Generator/ClassesRef/Output/OutForce.csv', 'properties': [{'name': 'Time', 'unit': 's', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Force time Data object'}, {'name': 'Angle', 'unit': 'rad', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Force position Data object'}, {'name': 'AGSF', 'unit': 'N.m^2', 'type': 'SciDataTool.Classes.VectorField.VectorField', 'min': '', 'max': '', 'value': 'None', 'desc': 'Air Gap Surface Force (mainly computed with Maxwell stress tensor)'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Force', 'desc': 'Name of the logger to use'}, {'name': 'Rag', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Radius value for air-gap computation'}, {'name': 'meshsolution', 'unit': '-', 'type': 'MeshSolution', 'min': '', 'max': '', 'value': None, 'desc': 'Force computed on a mesh'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['store'], 'daughters': [], 'package': 'Output', 'desc': 'Gather the structural module outputs', 'mother': '', 'is_internal': False}, {'name': 'OutGeo', 'path': 'pyleecan/Generator/ClassesRef/Output/OutGeo.csv', 'properties': [{'name': 'stator', 'unit': '-', 'type': 'OutGeoLam', 'min': '', 'max': '', 'value': None, 'desc': 'Geometry output of the stator'}, {'name': 'rotor', 'unit': '-', 'type': 'OutGeoLam', 'min': '', 'max': '', 'value': None, 'desc': 'Geometry output of the rotor'}, {'name': 'Wgap_mec', 'unit': 'm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'mechanical airgap width (minimal distance between the lamination including magnet)'}, {'name': 'Wgap_mag', 'unit': 'm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'the magnetic airgap width (distance beetween the two Laminations bore radius)'}, {'name': 'Rgap_mec', 'unit': 'm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'radius of the center of the mecanical airgap'}, {'name': 'Lgap', 'unit': 'm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Airgap active length'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.OutGeo', 'desc': 'Name of the logger to use'}, {'name': 'angle_offset_initial', 'unit': 'rad', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Difference between the d axis angle of the stator and the rotor'}, {'name': 'rot_dir', 'unit': '-', 'type': 'int', 'min': '-1', 'max': '1', 'value': None, 'desc': 'rotation direction of the magnetic field fundamental !! WARNING: rot_dir = -1 to have positive rotor rotating direction, i.e. rotor position moves towards positive angle'}, {'name': 'per_a', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Number of spatial periodicities of the machine'}, {'name': 'is_antiper_a', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': None, 'desc': 'True if an spatial anti-periodicity is possible after the periodicities'}, {'name': 'per_t', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Number of time periodicities of the machine'}, {'name': 'is_antiper_t', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': None, 'desc': 'True if an time anti-periodicity is possible after the periodicities'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Output', 'desc': 'Gather the geometrical and the global outputs', 'mother': '', 'is_internal': False}, {'name': 'OutGeoLam', 'path': 'pyleecan/Generator/ClassesRef/Output/OutGeoLam.csv', 'properties': [{'name': 'name_phase', 'unit': '-', 'type': 'list', 'min': '', 'max': '', 'value': None, 'desc': 'Name of the phases of the winding (if any)'}, {'name': 'BH_curve', 'unit': '-', 'type': 'ndarray', 'min': '', 'max': '', 'value': None, 'desc': 'B(H) curve (two columns matrix, H and B(H))'}, {'name': 'Ksfill', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Slot fill factor'}, {'name': 'S_slot', 'unit': 'm^2', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Slot surface'}, {'name': 'S_slot_wind', 'unit': 'm^2', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Slot winding surface'}, {'name': 'S_wind_act', 'unit': 'm^2', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Conductor active surface'}, {'name': 'per_a', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Number of spatial periodicities of the lamination'}, {'name': 'is_antiper_a', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': None, 'desc': 'True if an spatial anti-periodicity is possible after the periodicities'}, {'name': 'per_t', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Number of time periodicities of the lamination'}, {'name': 'is_antiper_t', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': None, 'desc': 'True if an time anti-periodicity is possible after the periodicities'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Output', 'desc': 'Gather the geometrical and the global outputs of a lamination', 'mother': '', 'is_internal': False}, {'name': 'OutInternal', 'path': 'pyleecan/Generator/ClassesRef/Output/OutInternal.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['OutMagElmer', 'OutMagFEMM'], 'package': 'Output', 'desc': 'Abstract class whose childs enable to store outputs related to a specific model', 'mother': '', 'is_internal': False}, {'name': 'OutLoss', 'path': 'pyleecan/Generator/ClassesRef/Output/OutLoss.csv', 'properties': [{'name': 'loss_list', 'unit': '', 'type': '[SciDataTool.Classes.DataND.DataND]', 'min': '', 'max': '', 'value': 'None', 'desc': 'Internal list of loss data'}, {'name': 'meshsol_list', 'unit': '', 'type': '[MeshSolution]', 'min': '', 'max': '', 'value': '', 'desc': 'Internal list of loss meshsolutions'}, {'name': 'loss_index', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': {}, 'desc': 'Internal dict to index losses'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Loss', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_loss', 'get_loss_dist'], 'daughters': [], 'package': 'Output', 'desc': 'Gather the loss module outputs', 'mother': '', 'is_internal': False}, {'name': 'OutMag', 'path': 'pyleecan/Generator/ClassesRef/Output/OutMag.csv', 'properties': [{'name': 'Time', 'unit': 's', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Magnetic time Data object'}, {'name': 'Angle', 'unit': 'rad', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Magnetic position Data object'}, {'name': 'B', 'unit': 'H', 'type': 'SciDataTool.Classes.VectorField.VectorField', 'min': '', 'max': '', 'value': 'None', 'desc': 'Airgap flux density VectorField object'}, {'name': 'Tem', 'unit': 'N.m', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Electromagnetic torque DataTime object'}, {'name': 'Tem_av', 'unit': 'N.m', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Average Electromagnetic torque'}, {'name': 'Tem_rip_norm', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Peak to Peak Torque ripple normalized according to average torque (None if average torque=0)'}, {'name': 'Tem_rip_pp', 'unit': 'N.m', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Peak to Peak Torque ripple'}, {'name': 'Phi_wind_stator', 'unit': 'Wb', 'type': 'SciDataTool.Classes.DataTime.DataTime', 'min': '', 'max': '', 'value': 'None', 'desc': 'Stator winding flux DataTime object'}, {'name': 'Phi_wind', 'unit': 'Wb', 'type': '{SciDataTool.Classes.DataTime.DataTime}', 'min': '', 'max': '', 'value': 'None', 'desc': 'Dict of lamination winding fluxlinkage DataTime objects'}, {'name': 'emf', 'unit': 'V', 'type': 'SciDataTool.Classes.DataTime.DataTime', 'min': '', 'max': '', 'value': 'None', 'desc': 'Electromotive force DataTime object'}, {'name': 'meshsolution', 'unit': '', 'type': 'MeshSolution', 'min': '', 'max': '', 'value': '', 'desc': 'FEA software mesh and solution'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Magnetics', 'desc': 'Name of the logger to use'}, {'name': 'internal', 'unit': '-', 'type': 'OutInternal', 'min': '', 'max': '', 'value': None, 'desc': 'OutInternal object containg outputs related to a specific model'}, {'name': 'Rag', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Radius value for air-gap computation'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['store', 'clean', 'comp_emf', 'get_demag'], 'daughters': [], 'package': 'Output', 'desc': 'Gather the magnetic module outputs', 'mother': '', 'is_internal': False}, {'name': 'OutMagElmer', 'path': 'pyleecan/Generator/ClassesRef/Output/OutMagElmer.csv', 'properties': [{'name': 'FEA_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': None, 'desc': 'Dictionnary containing the main FEA parameters'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['clean'], 'daughters': [], 'package': 'Output', 'desc': 'Class to store outputs related to MagElmer magnetic model', 'mother': 'OutInternal', 'is_internal': False}, {'name': 'OutMagFEMM', 'path': 'pyleecan/Generator/ClassesRef/Output/OutMagFEMM.csv', 'properties': [{'name': 'FEMM_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': None, 'desc': 'Dictionnary containing the main FEMM parameters'}, {'name': 'handler_list', 'unit': '', 'type': '[_FEMMHandler]', 'min': '', 'max': '', 'value': '', 'desc': 'List of FEMM Handler (more than 1 if nb_worker >1)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['clean'], 'daughters': [], 'package': 'Output', 'desc': 'Class to store outputs related to MagFEMM magnetic model', 'mother': 'OutInternal', 'is_internal': False}, {'name': 'OutPost', 'path': 'pyleecan/Generator/ClassesRef/Output/OutPost.csv', 'properties': [{'name': 'legend_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name to use in the legend in case of comparison'}, {'name': 'line_color', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Color to use in case of comparison'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Output', 'desc': 'Gather the parameters for the post-processings', 'mother': '', 'is_internal': False}, {'name': 'Output', 'path': 'pyleecan/Generator/ClassesRef/Output/Output.csv', 'properties': [{'name': 'simu', 'unit': '-', 'type': 'Simulation', 'min': '', 'max': '', 'value': '', 'desc': 'Simulation object that generated the Output'}, {'name': 'path_result', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path to the folder to same the results'}, {'name': 'geo', 'unit': '-', 'type': 'OutGeo', 'min': '', 'max': '', 'value': '', 'desc': 'Geometry output'}, {'name': 'elec', 'unit': '-', 'type': 'OutElec', 'min': '', 'max': '', 'value': '', 'desc': 'Electrical module output'}, {'name': 'mag', 'unit': '-', 'type': 'OutMag', 'min': '', 'max': '', 'value': '', 'desc': 'Magnetic module output'}, {'name': 'struct', 'unit': '-', 'type': 'OutStruct', 'min': '', 'max': '', 'value': '', 'desc': 'Structural module output'}, {'name': 'post', 'unit': '-', 'type': 'OutPost', 'min': '', 'max': '', 'value': '', 'desc': 'Post-Processing settings'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Output', 'desc': 'Name of the logger to use'}, {'name': 'force', 'unit': '-', 'type': 'OutForce', 'min': '', 'max': '', 'value': '', 'desc': 'Force module output'}, {'name': 'loss', 'unit': '-', 'type': 'OutLoss', 'min': '', 'max': '', 'value': '', 'desc': 'Loss module output'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['getter.get_angle_offset_initial', 'getter.get_angle_rotor', 'getter.get_BH_rotor', 'getter.get_BH_stator', 'getter.get_path_result', 'getter.get_machine_periodicity', 'getter.get_rot_dir', 'getter.get_fund_harm', 'getter.get_data_from_str', 'print_memory'], 'daughters': ['XOutput'], 'package': 'Output', 'desc': 'Main Output object: gather all the outputs of all the modules', 'mother': '', 'is_internal': False}, {'name': 'OutStruct', 'path': 'pyleecan/Generator/ClassesRef/Output/OutStruct.csv', 'properties': [{'name': 'Time', 'unit': 's', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Structural time Data object'}, {'name': 'Angle', 'unit': 'rad', 'type': 'SciDataTool.Classes.DataND.Data', 'min': '', 'max': '', 'value': 'None', 'desc': 'Structural position Data object'}, {'name': 'Nt_tot', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Length of the time vector'}, {'name': 'Na_tot', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Length of the angle vector'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Structural', 'desc': 'Name of the logger to use'}, {'name': 'Yr', 'unit': 'm', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Displacement output'}, {'name': 'Vr', 'unit': 'm/s', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Velocity output'}, {'name': 'Ar', 'unit': 'm/s^2', 'type': 'SciDataTool.Classes.DataND.DataND', 'min': '', 'max': '', 'value': 'None', 'desc': 'Acceleration output'}, {'name': 'meshsolution', 'unit': '', 'type': 'MeshSolution', 'min': '', 'max': '', 'value': '', 'desc': 'FEA software mesh and solution'}, {'name': 'FEA_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': None, 'desc': 'Dictionnary containing the main FEA parameter'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Output', 'desc': 'Gather the structural module outputs', 'mother': '', 'is_internal': False}, {'name': 'XOutput', 'path': 'pyleecan/Generator/ClassesRef/Output/XOutput.csv', 'properties': [{'name': 'paramexplorer_list', 'unit': '-', 'type': '[ParamExplorer]', 'min': '', 'max': '', 'value': '', 'desc': 'List containing ParamExplorer'}, {'name': 'output_list', 'unit': '-', 'type': '[Output]', 'min': '', 'max': '', 'value': '', 'desc': 'List containing Output (or Xoutput) for each simulation'}, {'name': 'xoutput_dict', 'unit': '-', 'type': '{DataKeeper}', 'min': '', 'max': '', 'value': '', 'desc': 'Dictionnary containing DataKeeper'}, {'name': 'nb_simu', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': 0, 'desc': 'Number of simulations excluding reference simulation'}, {'name': 'xoutput_ref', 'unit': '-', 'type': 'Output', 'min': '', 'max': '', 'value': None, 'desc': 'Xoutput (or Output) of the reference simulation (only if is_keep_all_output is True and not included in output_list)'}, {'name': 'xoutput_ref_index', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Index of the Xoutput (or Output) of the reference simulation in the output_list (only if is_keep_all_output is True)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['__delitem__', '__getitem__', '__iter__', '__len__', '__missing__', '__next__', '__reversed__', '__setitem__', 'append', 'count', 'get_param_simu', 'get_paramexplorer', 'get_pareto_index', 'get_simu', 'get_symbol_list', 'get_xoutput_ref', 'insert', 'items', 'keys', 'plot_generation', 'plot_multi', 'plot_pareto', 'pop', 'print_memory', 'remove'], 'daughters': [], 'package': 'Output', 'desc': 'XOutput object: gather all the outputs of all the modules for multiple simulations', 'mother': 'Output', 'is_internal': False}, {'name': 'Post', 'path': 'pyleecan/Generator/ClassesRef/Post/Post.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['PostFunction', 'PostMethod', 'PostPlot'], 'package': 'Post', 'desc': 'Abstract class for postprocessing', 'mother': '', 'is_internal': False}, {'name': 'PostFunction', 'path': 'pyleecan/Generator/ClassesRef/Post/PostFunction.csv', 'properties': [{'name': 'run', 'unit': '', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Post-processing that takes an output in argument'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': [], 'package': 'Post', 'desc': 'Post-processing from a user-defined function', 'mother': 'Post', 'is_internal': False}, {'name': 'PostMethod', 'path': 'pyleecan/Generator/ClassesRef/Post/PostMethod.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run'], 'daughters': ['PostPlot'], 'package': 'Post', 'desc': 'Abstract class for post-processing defined in the method run', 'mother': 'Post', 'is_internal': False}, {'name': 'PostPlot', 'path': 'pyleecan/Generator/ClassesRef/Post/PostPlot.csv', 'properties': [{'name': 'method', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Name of the plot method to call (e.g. plot_2D_Data, plot_contour, plot_multi)'}, {'name': 'name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '[]', 'desc': 'Name of the plot to use when saving the figure after plotting'}, {'name': 'param_list', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'Dictionnary of parameters to pass to the plot method when executing it'}, {'name': 'param_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': {}, 'desc': 'Dictionnary of parameters to pass to the plot method when executing it'}, {'name': 'save_format', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'png', 'desc': 'File format extension ("png", "svg", "eps") in which to save the figure. The PostPlot automatically saves the figure in the results folder. The user can specify a different folder by specifying "save_path"=path_str or not save the figure by specifying "save_path"=None in param_dict, if the plot_method enables it.'}, {'name': 'quantity', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Full path to the quantity to which apply the plot_method except Output (e.g. mag.B, elec.get_Is, mag.meshsolution)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run'], 'daughters': [], 'package': 'Post', 'desc': 'Post-processing to do a plot which is a method of Output or other class if attribute is not None', 'mother': 'PostMethod', 'is_internal': False}, {'name': 'DataKeeper', 'path': 'pyleecan/Generator/ClassesRef/Simulation/DataKeeper.csv', 'properties': [{'name': 'name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Data name'}, {'name': 'symbol', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Data symbol'}, {'name': 'unit', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Data unit'}, {'name': 'keeper', 'unit': '-', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function that takes an Output in argument and return a value'}, {'name': 'error_keeper', 'unit': '-', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function that takes a Simulation in argument and returns a value, this attribute enables to handle errors and to put NaN values in the result matrices'}, {'name': 'result', 'unit': '-', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List containing datakeeper results for each simulation'}, {'name': 'result_ref', 'unit': '-', 'type': '', 'min': '', 'max': '', 'value': None, 'desc': 'Result for the reference simulation'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['as_dict', '_set_result'], 'daughters': ['OptiObjective'], 'package': 'Simulation', 'desc': 'Class for defining data to keep on a multi-simulation', 'mother': '', 'is_internal': False}, {'name': 'Drive', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Drive.csv', 'properties': [{'name': 'Umax', 'unit': 'V', 'type': 'float', 'min': '0', 'max': '', 'value': 800, 'desc': 'Maximum RMS voltage of the Drive'}, {'name': 'Imax', 'unit': 'A', 'type': 'float', 'min': '0', 'max': '', 'value': 800, 'desc': 'Maximum RMS current of the Drive'}, {'name': 'is_current', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True to generate current waveform, False for voltage'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['DriveWave'], 'package': 'Simulation', 'desc': 'Abstract Drive class', 'mother': '', 'is_internal': False}, {'name': 'DriveWave', 'path': 'pyleecan/Generator/ClassesRef/Simulation/DriveWave.csv', 'properties': [{'name': 'wave', 'unit': '', 'type': 'Import', 'min': '', 'max': '', 'value': '', 'desc': 'Wave generator'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_wave'], 'daughters': [], 'package': 'Simulation', 'desc': 'Drive to generate a wave according to an Import object', 'mother': 'Drive', 'is_internal': False}, {'name': 'DXFImport', 'path': 'pyleecan/Generator/ClassesRef/Simulation/DXFImport.csv', 'properties': [{'name': 'file_path', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Path to the DXF file to import'}, {'name': 'surf_dict', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'Dictionnary to assign the surfaces: key=complex reference point coordinate, value=label of the surface'}, {'name': 'BC_list', 'unit': '-', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List of tuple to apply boundary conditions (complex reference point coordinate, is_arc, label of the BC to apply)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_surfaces'], 'daughters': [], 'package': 'Simulation', 'desc': 'Use a DXF to define a lamination', 'mother': '', 'is_internal': False}, {'name': 'EEC', 'path': 'pyleecan/Generator/ClassesRef/Simulation/EEC.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['EEC_PMSM', 'EEC_SCIM'], 'package': 'Simulation', 'desc': 'Electric module: Equivalent Electrical Circuit abstract class', 'mother': '', 'is_internal': False}, {'name': 'EEC_PMSM', 'path': 'pyleecan/Generator/ClassesRef/Simulation/EEC_PMSM.csv', 'properties': [{'name': 'indmag', 'unit': '-', 'type': 'IndMag', 'min': '', 'max': '', 'value': None, 'desc': 'Magnetic inductance'}, {'name': 'fluxlink', 'unit': '-', 'type': 'FluxLink', 'min': '', 'max': '', 'value': None, 'desc': 'Flux Linkage'}, {'name': 'parameters', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': {}, 'desc': 'Parameters of the EEC: computed if empty, or enforced'}, {'name': 'freq0', 'unit': 'Hz', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Frequency'}, {'name': 'drive', 'unit': '-', 'type': 'Drive', 'min': '', 'max': '', 'value': None, 'desc': 'Drive'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_parameters', 'solve_EEC', 'gen_drive', 'comp_joule_losses'], 'daughters': [], 'package': 'Simulation', 'desc': 'Electric module: Electrical Equivalent Circuit', 'mother': 'EEC', 'is_internal': False}, {'name': 'EEC_SCIM', 'path': 'pyleecan/Generator/ClassesRef/Simulation/EEC_SCIM.csv', 'properties': [{'name': 'I', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'RMS current for parameter estimation'}, {'name': 'parameters', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': {}, 'desc': 'Parameters of the EEC: computed if empty, or enforced'}, {'name': 'is_periodicity_a', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'True to compute only on one angle periodicity (use periodicities defined in output.mag.Angle)'}, {'name': 'nb_worker', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'To run FEMM in parallel (the parallelization is on the time loop)'}, {'name': 'N0', 'unit': 'rpm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Rotor speed'}, {'name': 'felec', 'unit': 'Hz', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'electrical frequency'}, {'name': 'Nt_tot', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 32, 'desc': 'Time discretization'}, {'name': 'Nrev', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Number of rotor revolution (to compute the final time)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_parameters', 'solve_EEC', 'gen_drive', 'comp_joule_losses'], 'daughters': [], 'package': 'Simulation', 'desc': 'Electric module: Electrical Equivalent Circuit for Squirrel Cage Induction Machine', 'mother': 'EEC', 'is_internal': False}, {'name': 'Electrical', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Electrical.csv', 'properties': [{'name': 'eec', 'unit': '-', 'type': 'EEC', 'min': '', 'max': '', 'value': None, 'desc': 'Electrical Equivalent Circuit'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Electrical', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'comp_power', 'comp_torque'], 'daughters': [], 'package': 'Simulation', 'desc': 'Electric module object for electrical equivalent circuit simulation', 'mother': '', 'is_internal': False}, {'name': 'FluxLink', 'path': 'pyleecan/Generator/ClassesRef/Simulation/FluxLink.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['FluxLinkFEMM'], 'package': 'Simulation', 'desc': 'Electric module: Flux Linkage', 'mother': '', 'is_internal': False}, {'name': 'FluxLinkFEMM', 'path': 'pyleecan/Generator/ClassesRef/Simulation/FluxLinkFEMM.csv', 'properties': [{'name': 'FEMM_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'To enforce user-defined values for FEMM main parameters '}, {'name': 'type_calc_leakage', 'unit': '', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': '0 no leakage calculation / 1 calculation using single slot '}, {'name': 'is_sliding_band', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': '0 to desactivate the sliding band'}, {'name': 'is_periodicity_a', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True to take into account the spatial periodicity of the machine'}, {'name': 'Nt_tot', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': 5, 'desc': 'Number of time steps for the FEMM simulation'}, {'name': 'Kgeo_fineness', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 0.5, 'desc': 'global coefficient to adjust geometry fineness in FEMM (0.5 : default , > 1 : finner , < 1 : less fine)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_fluxlinkage', 'solve_FEMM'], 'daughters': [], 'package': 'Simulation', 'desc': 'Electric module: Flux Linkage with FEMM', 'mother': 'FluxLink', 'is_internal': False}, {'name': 'Force', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Force.csv', 'properties': [{'name': 'is_periodicity_t', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': None, 'desc': 'True to compute only on one time periodicity (use periodicities defined in output.force.Time). If None, automatically calculated based on Magnetics periodicities.'}, {'name': 'is_periodicity_a', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': None, 'desc': 'True to compute only on one angle periodicity (use periodicities defined in output.force.Angle). If None, automatically calculated based on Magnetics periodicities.'}, {'name': 'is_agsf_transfer', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True to compute the AGSF transfer from air-gap to stator bore radius.'}, {'name': 'max_wavenumber_transfer', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Maximum value to apply agsf transfer (to be used with FEA to avoid numerical noise amplification)'}, {'name': 'Rsbo_enforced_transfer', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'To enforce the value of the radius for AGSF transfer'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Force', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'comp_axes', 'comp_AGSF_transfer'], 'daughters': ['ForceMT', 'ForceTensor'], 'package': 'Simulation', 'desc': 'Forces module abstract object', 'mother': '', 'is_internal': False}, {'name': 'ForceMT', 'path': 'pyleecan/Generator/ClassesRef/Simulation/ForceMT.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_force', 'comp_force_nodal'], 'daughters': [], 'package': 'Simulation', 'desc': 'Force Maxwell tensor model for radial flux machines', 'mother': 'Force', 'is_internal': False}, {'name': 'ForceTensor', 'path': 'pyleecan/Generator/ClassesRef/Simulation/ForceTensor.csv', 'properties': [{'name': 'group', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'stator core', 'desc': 'Name of the group selected for magnetic force computation. If None, all the domain is selected.'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_force', 'comp_force_nodal', 'comp_magnetrosctrictive_tensor', 'element_loop'], 'daughters': [], 'package': 'Simulation', 'desc': 'Force various tensors (Maxwell, magnetostrictive) model for radial flux machines', 'mother': 'Force', 'is_internal': False}, {'name': 'IndMag', 'path': 'pyleecan/Generator/ClassesRef/Simulation/IndMag.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['IndMagFEMM'], 'package': 'Simulation', 'desc': 'Electric module: Magnetic Inductance', 'mother': '', 'is_internal': False}, {'name': 'IndMagFEMM', 'path': 'pyleecan/Generator/ClassesRef/Simulation/IndMagFEMM.csv', 'properties': [{'name': 'FEMM_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'To enforce user-defined values for FEMM main parameters '}, {'name': 'type_calc_leakage', 'unit': '', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': '0 no leakage calculation / 1 calculation using single slot '}, {'name': 'is_sliding_band', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': '0 to desactivate the sliding band'}, {'name': 'is_periodicity_a', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True to take into account the spatial periodicity of the machine'}, {'name': 'Nt_tot', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': 5, 'desc': 'Number of time steps for the FEMM simulation'}, {'name': 'Kgeo_fineness', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 0.5, 'desc': 'global coefficient to adjust geometry fineness in FEMM (0.5 : default , > 1 : finner , < 1 : less fine)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_inductance', 'solve_FEMM'], 'daughters': [], 'package': 'Simulation', 'desc': 'Electric module: Magnetic Inductance with FEMM', 'mother': 'IndMag', 'is_internal': False}, {'name': 'Input', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Input.csv', 'properties': [{'name': 'time', 'unit': 's', 'type': 'ImportMatrix', 'min': '', 'max': '', 'value': None, 'desc': 'Electrical time vector (no symmetry) to import'}, {'name': 'angle', 'unit': 'rad', 'type': 'ImportMatrix', 'min': '', 'max': '', 'value': None, 'desc': 'Electrical position vector (no symmetry) to import'}, {'name': 'Nt_tot', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 2048, 'desc': 'Time discretization'}, {'name': 'Nrev', 'unit': '-', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Number of rotor revolution (to compute the final time)'}, {'name': 'Na_tot', 'unit': '-', 'type': 'int', 'min': '1', 'max': '', 'value': 2048, 'desc': 'Angular discretization'}, {'name': 'N0', 'unit': 'rpm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Rotor speed'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['gen_input', 'comp_axes', 'comp_felec'], 'daughters': ['InputCurrent', 'InputElec', 'InputFlux', 'InputForce'], 'package': 'Simulation', 'desc': 'Starting data of the simulation', 'mother': '', 'is_internal': False}, {'name': 'InputCurrent', 'path': 'pyleecan/Generator/ClassesRef/Simulation/InputCurrent.csv', 'properties': [{'name': 'Is', 'unit': 'A', 'type': 'ImportMatrix', 'min': '', 'max': '', 'value': None, 'desc': 'Stator currents as a function of time (each column correspond to one phase) to import'}, {'name': 'Ir', 'unit': 'A', 'type': 'ImportMatrix', 'min': '', 'max': '', 'value': None, 'desc': 'Rotor currents as a function of time (each column correspond to one phase) to import'}, {'name': 'angle_rotor', 'unit': 'rad', 'type': 'Import', 'min': '', 'max': '', 'value': None, 'desc': 'Rotor angular position as a function of time (if None computed according to Nr) to import'}, {'name': 'rot_dir', 'unit': '-', 'type': 'float', 'min': '-1', 'max': '1', 'value': None, 'desc': 'Rotation direction of the rotor 1 trigo, -1 clockwise'}, {'name': 'angle_rotor_initial', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Initial angular position of the rotor at t=0'}, {'name': 'Tem_av_ref', 'unit': 'N.m', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Theorical Average Electromagnetic torque'}, {'name': 'Id_ref', 'unit': 'A', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'd-axis current RMS magnitude'}, {'name': 'Iq_ref', 'unit': 'A', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'q-axis current RMS magnitude'}, {'name': 'felec', 'unit': 'Hz', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'electrical frequency'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['gen_input', 'set_Id_Iq', 'set_OP_from_array'], 'daughters': [], 'package': 'Simulation', 'desc': 'Input to skip the electrical module and start with the magnetic one', 'mother': 'Input', 'is_internal': False}, {'name': 'InputElec', 'path': 'pyleecan/Generator/ClassesRef/Simulation/InputElec.csv', 'properties': [{'name': 'rot_dir', 'unit': '-', 'type': 'float', 'min': '-1', 'max': '1', 'value': -1, 'desc': 'Rotation direction of the rotor 1 trigo, -1 clockwise'}, {'name': 'Id_ref', 'unit': 'A', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'd-axis current magnitude'}, {'name': 'Iq_ref', 'unit': 'A', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'q-axis current magnitude'}, {'name': 'Ud_ref', 'unit': 'V', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'd-axis voltage magnitude'}, {'name': 'Uq_ref', 'unit': 'V', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'q-axis voltage magnitude'}, {'name': 'felec', 'unit': 'Hz', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'electrical frequency'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['gen_input', 'comp_felec', 'set_Id_Iq'], 'daughters': [], 'package': 'Simulation', 'desc': 'Input to skip the electrical module and start with the magnetic one', 'mother': 'Input', 'is_internal': False}, {'name': 'InputFlux', 'path': 'pyleecan/Generator/ClassesRef/Simulation/InputFlux.csv', 'properties': [{'name': 'per_a', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': 1, 'desc': 'Angle periodicity'}, {'name': 'per_t', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': 1, 'desc': 'Time periodicity'}, {'name': 'is_antiper_a', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'If angle is antiperiodic'}, {'name': 'is_antiper_t', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'If time is antiperiodic'}, {'name': 'B_dict', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': None, 'desc': 'Dict of Import objects or lists for each component of the flux'}, {'name': 'unit', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Unit of the flux if not T'}, {'name': 'OP', 'unit': '-', 'type': 'Input', 'min': '', 'max': '', 'value': None, 'desc': 'InputCurrent to define Operating Point (not mandatory)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['gen_input', 'comp_felec', 'comp_axes'], 'daughters': [], 'package': 'Simulation', 'desc': 'Input to skip the magnetic module and start with the structural one', 'mother': 'Input', 'is_internal': False}, {'name': 'InputForce', 'path': 'pyleecan/Generator/ClassesRef/Simulation/InputForce.csv', 'properties': [{'name': 'P', 'unit': 'N.m^2', 'type': 'ImportVectorField', 'min': '', 'max': '', 'value': None, 'desc': 'Magnetic air-gap surface force'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['gen_input'], 'daughters': [], 'package': 'Simulation', 'desc': 'Input to start with the structural one ', 'mother': 'Input', 'is_internal': False}, {'name': 'Loss', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Loss.csv', 'properties': [{'name': 'model_index', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': {}, 'desc': 'Internal dict to strore model index'}, {'name': 'model_list', 'unit': '', 'type': '[LossModel]', 'min': '', 'max': '', 'value': '', 'desc': 'Internal list of loss models'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Loss', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'add_model', 'remove_model'], 'daughters': [], 'package': 'Simulation', 'desc': 'Losses module object that containt the loss models. See method add_model for implementation details.', 'mother': '', 'is_internal': False}, {'name': 'LossModel', 'path': 'pyleecan/Generator/ClassesRef/Simulation/LossModel.csv', 'properties': [{'name': 'name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the loss simulation (has to be unique)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': [], 'daughters': ['LossModelBertotti', 'LossModelWinding'], 'package': 'Simulation', 'desc': 'Abstract Loss Model Class', 'mother': '', 'is_internal': False}, {'name': 'LossModelBertotti', 'path': 'pyleecan/Generator/ClassesRef/Simulation/LossModelBertotti.csv', 'properties': [{'name': 'k_hy', 'unit': 'W/kg', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Hysteresis loss coefficient'}, {'name': 'k_ed', 'unit': 'W/kg', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Eddy current loss coefficient'}, {'name': 'k_ex', 'unit': 'W/kg', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Excess loss coefficient'}, {'name': 'alpha_hy', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Hysteresis loss power coefficient'}, {'name': 'alpha_ed', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Eddy current loss power coefficient'}, {'name': 'alpha_ex', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Excess loss power coefficient'}, {'name': 'group', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'core', 'desc': 'String to override default FEA group to apply model'}, {'name': 'get_meshsolution', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'Store the loss density'}, {'name': 'N0', 'unit': 'rpm', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List of rotor speeds to override actual speed'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'F_REF', 'value': '50'}, {'name': 'B_REF', 'value': '1.5'}], 'methods': ['comp_loss', 'comp_coeff_Bertotti', 'comp_loss_density'], 'daughters': [], 'package': 'Simulation', 'desc': 'Bertotti Loss Model Class', 'mother': 'LossModel', 'is_internal': False}, {'name': 'LossModelWinding', 'path': 'pyleecan/Generator/ClassesRef/Simulation/LossModelWinding.csv', 'properties': [{'name': 'temperature', 'unit': '°C', 'type': 'float', 'min': '', 'max': '', 'value': 20, 'desc': 'Winding temperature'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_loss'], 'daughters': [], 'package': 'Simulation', 'desc': 'Winding loss model', 'mother': 'LossModel', 'is_internal': False}, {'name': 'MagElmer', 'path': 'pyleecan/Generator/ClassesRef/Simulation/MagElmer.csv', 'properties': [{'name': 'Kmesh_fineness', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'global coefficient to adjust mesh fineness (1 : default , > 1 : finner , < 1 : less fine)'}, {'name': 'Kgeo_fineness', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'global coefficient to adjust geometry fineness (1 : default , > 1 : finner , < 1 : less fine)'}, {'name': 'file_name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the file to save the Elmer model'}, {'name': 'FEA_dict', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'To enforce user-defined values for Elmer main parameters '}, {'name': 'is_get_mesh', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'To save FEA mesh for latter post-procesing '}, {'name': 'is_save_FEA', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'To save FEA mesh and solution in a file'}, {'name': 'transform_list', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List of dictionnary to apply transformation on the machine surfaces. Key: label (to select the surface), type (rotate or translate), value (alpha or delta)'}, {'name': 'rotor_dxf', 'unit': '', 'type': 'DXFImport', 'min': '', 'max': '', 'value': None, 'desc': 'To use a dxf version of the rotor instead of build_geometry'}, {'name': 'stator_dxf', 'unit': '', 'type': 'DXFImport', 'min': '', 'max': '', 'value': None, 'desc': 'To use a dxf version of the rotor instead of build_geometry'}, {'name': 'import_file', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'To import an existing simulation file'}, {'name': 'nb_worker', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 1, 'desc': 'To run Elmer in parallel (the parallelization is on the time loop)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_flux_airgap', 'solve_FEA', 'get_meshsolution', 'get_path_save_fea', 'get_path_save', 'comp_axes', 'gen_elmer_mesh'], 'daughters': [], 'package': 'Simulation', 'desc': 'Magnetic module: Finite Element model with Elmer', 'mother': 'Magnetics', 'is_internal': False}, {'name': 'MagFEMM', 'path': 'pyleecan/Generator/ClassesRef/Simulation/MagFEMM.csv', 'properties': [{'name': 'Kmesh_fineness', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'global coefficient to adjust mesh fineness in FEMM (1 : default , > 1 : finner , < 1 : less fine)'}, {'name': 'Kgeo_fineness', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'global coefficient to adjust geometry fineness in FEMM (1 : default , > 1 : finner , < 1 : less fine)'}, {'name': 'type_calc_leakage', 'unit': '', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': '0 no leakage calculation / 1 calculation using single slot '}, {'name': 'file_name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the file to save the FEMM model'}, {'name': 'FEMM_dict_enforced', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'To enforce user-defined values for FEMM main parameters '}, {'name': 'is_get_meshsolution', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'To save FEA and mesh for latter post-procesing '}, {'name': 'is_save_meshsolution_as_file', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'To save FEA and mesh as h5 files to save memory'}, {'name': 'is_sliding_band', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': '0 to desactivate the sliding band'}, {'name': 'transform_list', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List of dictionnary to apply transformation on the machine surfaces. Key: label (to select the surface), type (rotate or translate), value (alpha or delta)'}, {'name': 'rotor_dxf', 'unit': '', 'type': 'DXFImport', 'min': '', 'max': '', 'value': None, 'desc': 'To use a dxf version of the rotor instead of build_geometry'}, {'name': 'stator_dxf', 'unit': '', 'type': 'DXFImport', 'min': '', 'max': '', 'value': None, 'desc': 'To use a dxf version of the rotor instead of build_geometry'}, {'name': 'import_file', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'To import an existing femm file'}, {'name': 'is_close_femm', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'To close femm automatically after the simulation'}, {'name': 'nb_worker', 'unit': '', 'type': 'int', 'min': '', 'max': '', 'value': 1, 'desc': 'To run FEMM in parallel (the parallelization is on the time loop)'}, {'name': 'Rag_enforced', 'unit': 'm', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'To enforce a different radius value for air-gap outputs'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_flux_airgap', 'get_path_save', 'solve_FEMM', 'get_meshsolution', 'get_path_save_fem', 'solve_FEMM_parallel'], 'daughters': [], 'package': 'Simulation', 'desc': 'Magnetic module: Finite Element model with FEMM', 'mother': 'Magnetics', 'is_internal': False}, {'name': 'Magnetics', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Magnetics.csv', 'properties': [{'name': 'is_remove_slotS', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': '1 to artificially remove stator slotting effects in permeance mmf calculations'}, {'name': 'is_remove_slotR', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': '1 to artificially remove rotor slotting effects in permeance mmf calculations'}, {'name': 'is_remove_vent', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': '1 to artificially remove the ventilations duct'}, {'name': 'is_mmfs', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': '1 to compute the stator magnetomotive force / stator armature magnetic field'}, {'name': 'is_mmfr', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': '1 to compute the rotor magnetomotive force / rotor magnetic field'}, {'name': 'type_BH_stator', 'unit': '-', 'type': 'int', 'min': '0', 'max': '2', 'value': 0, 'desc': '0 to use the B(H) curve, 1 to use linear B(H) curve according to mur_lin, 2 to enforce infinite permeability (mur_lin =100000)'}, {'name': 'type_BH_rotor', 'unit': '-', 'type': 'int', 'min': '0', 'max': '2', 'value': 0, 'desc': '0 to use the B(H) curve, 1 to use linear B(H) curve according to mur_lin, 2 to enforce infinite permeability (mur_lin =100000)'}, {'name': 'is_periodicity_t', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True to compute only on one time periodicity (use periodicities defined in output.mag.Time)'}, {'name': 'is_periodicity_a', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True to compute only on one angle periodicity (use periodicities defined in output.mag.Angle)'}, {'name': 'angle_stator_shift', 'unit': 'rad', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Shift angle to appy to the stator in magnetic model'}, {'name': 'angle_rotor_shift', 'unit': 'rad', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Shift angle to appy to the rotor in magnetic model'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Magnetics', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'comp_axes'], 'daughters': ['MagElmer', 'MagFEMM'], 'package': 'Simulation', 'desc': 'Magnetic module abstract object', 'mother': '', 'is_internal': False}, {'name': 'Mode', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Mode.csv', 'properties': [{'name': 'nat_freq', 'unit': 'Hz', 'type': 'float', 'min': '', 'max': '', 'value': None, 'desc': 'Natural frequency of the mode'}, {'name': 'order_circ', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': None, 'desc': 'Circumferential order'}, {'name': 'order_long', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': None, 'desc': 'Longitudinal order'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['plot', 'plot_animated', 'get_shape_xyz', 'get_shape_pol'], 'daughters': [], 'package': 'Simulation', 'desc': 'Structural module: Mode object', 'mother': 'SolutionMat', 'is_internal': False}, {'name': 'ParamExplorer', 'path': 'pyleecan/Generator/ClassesRef/Simulation/ParamExplorer.csv', 'properties': [{'name': 'name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Parameter name'}, {'name': 'symbol', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Parameter symbol'}, {'name': 'unit', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Parameter unit'}, {'name': 'setter', 'unit': '-', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function that takes a Simulation and a value in argument and modifiers the simulation'}, {'name': 'getter', 'unit': '-', 'type': 'function', 'min': '', 'max': '', 'value': None, 'desc': 'Function to return the reference value (simulation as argument)'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['_set_setter', '_set_getter', 'get_desc'], 'daughters': ['OptiDesignVar', 'ParamExplorerInterval', 'ParamExplorerSet'], 'package': 'Simulation', 'desc': 'Abstract class for the multi-simulation', 'mother': '', 'is_internal': False}, {'name': 'ParamExplorerInterval', 'path': 'pyleecan/Generator/ClassesRef/Simulation/ParamExplorerInterval.csv', 'properties': [{'name': 'min_value', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 0, 'desc': 'Minumum value of the interval'}, {'name': 'max_value', 'unit': '-', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'Maximum value of the interval'}, {'name': 'N', 'unit': '-', 'type': 'int', 'min': '2', 'max': '', 'value': 4, 'desc': 'Number of value to take in the interval'}, {'name': 'type_value_gen', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': 'How to generate the value list. 0: linspace, 1: random (Not available yet)'}, {'name': 'type_value', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': 'Type of the value: 0:float, 1:int'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_value', 'get_min', 'get_max', 'get_N'], 'daughters': [], 'package': 'Simulation', 'desc': 'Define a set of value (for parameter sweep) on interval', 'mother': 'ParamExplorer', 'is_internal': False}, {'name': 'ParamExplorerSet', 'path': 'pyleecan/Generator/ClassesRef/Simulation/ParamExplorerSet.csv', 'properties': [{'name': 'value', 'unit': '-', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List containing the different parameter values to explore'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_value', 'as_dict', 'get_min', 'get_max', 'get_N', '_set_value'], 'daughters': [], 'package': 'Simulation', 'desc': 'Define a parameter set (for parameter sweep) from a list', 'mother': 'ParamExplorer', 'is_internal': False}, {'name': 'Simu1', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Simu1.csv', 'properties': [{'name': 'elec', 'unit': '-', 'type': 'Electrical', 'min': '', 'max': '', 'value': None, 'desc': 'Electrical module'}, {'name': 'mag', 'unit': '-', 'type': 'Magnetics', 'min': '', 'max': '', 'value': None, 'desc': 'Magnetic module'}, {'name': 'struct', 'unit': '-', 'type': 'Structural', 'min': '', 'max': '', 'value': None, 'desc': 'Structural module'}, {'name': 'force', 'unit': '-', 'type': 'Force', 'min': '', 'max': '', 'value': None, 'desc': 'Force moduale'}, {'name': 'loss', 'unit': '-', 'type': 'Loss', 'min': '', 'max': '', 'value': None, 'desc': 'Loss moduale'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run_single'], 'daughters': [], 'package': 'Simulation', 'desc': 'Five sequential weak coupling multi physics simulation', 'mother': 'Simulation', 'is_internal': False}, {'name': 'Simulation', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Simulation.csv', 'properties': [{'name': 'name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the simulation'}, {'name': 'desc', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Simulation description'}, {'name': 'machine', 'unit': '-', 'type': 'Machine', 'min': '', 'max': '', 'value': '', 'desc': 'Machine to simulate'}, {'name': 'input', 'unit': '-', 'type': 'Input', 'min': '', 'max': '', 'value': '', 'desc': 'Input of the simulation'}, {'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Simulation', 'desc': 'Name of the logger to use'}, {'name': 'var_simu', 'unit': '-', 'type': 'VarSimu', 'min': '', 'max': '', 'value': None, 'desc': 'Multi-simulation definition'}, {'name': 'postproc_list', 'unit': '-', 'type': '[Post]', 'min': '', 'max': '', 'value': [], 'desc': 'List of postprocessings to run on Output after the simulation'}, {'name': 'index', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': None, 'desc': 'Index of the simulation (if part of a multi-simulation)'}, {'name': 'path_result', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'None', 'desc': 'Path to the Result folder to use (None to use default one)'}, {'name': 'layer', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': None, 'desc': 'Layer of the simulation in a multi-simulation (0 is top simulation)'}, {'name': 'layer_log_warn', 'unit': '-', 'type': 'int', 'min': '0', 'max': '', 'value': None, 'desc': 'Enable to set the log console_handler to warning starting from a particular layer. layer_log_warn=2 => layer 0 and 1 info, layer 2 warning'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'init_logger'], 'daughters': ['Simu1'], 'package': 'Simulation', 'desc': 'Abstract class for the simulation', 'mother': '', 'is_internal': False}, {'name': 'StructElmer', 'path': 'pyleecan/Generator/ClassesRef/Simulation/StructElmer.csv', 'properties': [{'name': 'Kmesh_fineness', 'unit': '', 'type': 'float', 'min': '', 'max': '', 'value': 1, 'desc': 'global coefficient to adjust mesh fineness in FEMM (1 : default , > 1 : finner , < 1 : less fine)'}, {'name': 'path_name', 'unit': '', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the path to save the FEA model'}, {'name': 'FEA_dict_enforced', 'unit': '', 'type': 'dict', 'min': '', 'max': '', 'value': '', 'desc': 'To enforce user-defined values for FEA main parameters '}, {'name': 'is_get_mesh', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'To save FEA mesh for latter post-procesing (only possible with is_save_FEA set to True)'}, {'name': 'is_save_FEA', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'To save FEA mesh and solution in .vtu file'}, {'name': 'transform_list', 'unit': '', 'type': 'list', 'min': '', 'max': '', 'value': [], 'desc': 'List of dictionnary to apply transformation on the machine surfaces. Key: label (to select the surface), type (rotate or translate), value (alpha or delta)'}, {'name': 'include_magnets', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'Switch to include magents in the structural simulation'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'get_meshsolution', 'get_path_save_fea', 'solve_FEA', 'gen_mesh', 'gen_case', 'process_mesh'], 'daughters': [], 'package': 'Simulation', 'desc': 'Structural module: FEA model with Elmer', 'mother': 'Structural', 'is_internal': False}, {'name': 'Structural', 'path': 'pyleecan/Generator/ClassesRef/Simulation/Structural.csv', 'properties': [{'name': 'logger_name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': 'Pyleecan.Structural', 'desc': 'Name of the logger to use'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'comp_axes'], 'daughters': ['StructElmer'], 'package': 'Simulation', 'desc': 'Structural module abstract object', 'mother': '', 'is_internal': False}, {'name': 'VarLoad', 'path': 'pyleecan/Generator/ClassesRef/Simulation/VarLoad.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"Variable Load"'}], 'methods': [], 'daughters': ['VarLoadCurrent'], 'package': 'Simulation', 'desc': 'Abstract class to generate multi-simulation by changing the operating point', 'mother': 'VarSimu', 'is_internal': False}, {'name': 'VarLoadCurrent', 'path': 'pyleecan/Generator/ClassesRef/Simulation/VarLoadCurrent.csv', 'properties': [{'name': 'OP_matrix', 'unit': '-', 'type': 'ndarray', 'min': '', 'max': '', 'value': None, 'desc': 'Operating point matrix (N0,I0,Phi0,T,P) or (N0,Id,Iq,T,P) '}, {'name': 'type_OP_matrix', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': 'Select which kind of OP_matrix is used 0: (N0,I0,Phi0,T,P), 1:(N0,Id,Iq,T,P) '}, {'name': 'is_torque', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'True if the Torque is defined in OP_matrix'}, {'name': 'is_power', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'True if the Power is defined in OP_matrix'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['get_input_list', 'generate_simulation_list', 'check_param', 'get_elec_datakeeper'], 'daughters': [], 'package': 'Simulation', 'desc': 'Generate a multisimulation with InputCurrent at variable operating point', 'mother': 'VarLoad', 'is_internal': False}, {'name': 'VarParam', 'path': 'pyleecan/Generator/ClassesRef/Simulation/VarParam.csv', 'properties': [{'name': 'paramexplorer_list', 'unit': '-', 'type': '[ParamExplorer]', 'min': '', 'max': '', 'value': '', 'desc': 'List containing ParamSetter to define every simulation'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'NAME', 'value': '"Parameter Sweep"'}], 'methods': ['check_param', 'generate_simulation_list', 'get_simu_number'], 'daughters': [], 'package': 'Simulation', 'desc': 'Handle multisimulation by varying parameters', 'mother': 'VarSimu', 'is_internal': False}, {'name': 'VarSimu', 'path': 'pyleecan/Generator/ClassesRef/Simulation/VarSimu.csv', 'properties': [{'name': 'name', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Name of the multi-simulation'}, {'name': 'desc', 'unit': '-', 'type': 'str', 'min': '', 'max': '', 'value': '', 'desc': 'Multi-simulation description'}, {'name': 'datakeeper_list', 'unit': '-', 'type': '[DataKeeper]', 'min': '', 'max': '', 'value': '', 'desc': 'List containing DataKeepers to extract VarSimu results '}, {'name': 'is_keep_all_output', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'True to store every output in a list'}, {'name': 'stop_if_error', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': False, 'desc': 'Stop the multi-simulation if a simulation fails '}, {'name': 'var_simu', 'unit': '-', 'type': 'VarSimu', 'min': '', 'max': '', 'value': None, 'desc': 'Multi-simulation of a Multi-simulation definition'}, {'name': 'nb_simu', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': 0, 'desc': 'Number of simulations'}, {'name': 'is_reuse_femm_file', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 1, 'desc': 'True to reuse the femm file for each simulation (draw the machine only once, MagFEMM only)'}, {'name': 'postproc_list', 'unit': '-', 'type': '[Post]', 'min': '', 'max': '', 'value': '', 'desc': 'List of post-processing to run on XOutput after the multisimulation'}, {'name': 'pre_keeper_postproc_list', 'unit': '-', 'type': '[Post]', 'min': '', 'max': '', 'value': None, 'desc': 'If not None, replace the reference simulation postproc_list in each generated simulation (run before datakeeper)'}, {'name': 'post_keeper_postproc_list', 'unit': '-', 'type': '[Post]', 'min': '', 'max': '', 'value': None, 'desc': 'List of post-processing to run on output after each simulation (except reference one) after the datakeeper.'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['run', 'set_reused_data', 'check_param', 'generate_simulation_list', 'gen_datakeeper_list', 'get_elec_datakeeper', 'get_mag_datakeeper', 'get_force_datakeeper'], 'daughters': ['VarLoad', 'VarLoadCurrent', 'VarParam'], 'package': 'Simulation', 'desc': 'Abstract class for the multi-simulation', 'mother': '', 'is_internal': False}, {'name': 'Hole', 'path': 'pyleecan/Generator/ClassesRef/Slot/Hole.csv', 'properties': [{'name': 'Zh', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1000', 'value': 36, 'desc': 'Number of Hole around the circumference'}, {'name': 'mat_void', 'unit': '-', 'type': 'Material', 'min': '', 'max': '', 'value': '', 'desc': 'Material of the void part of the hole (Air in general)'}, {'name': 'magnetization_dict_offset', 'unit': '-', 'type': 'dict', 'min': '', 'max': '', 'value': None, 'desc': 'Dictionary add an offset to the magnetization direction of the magnets (key=magnet_X, value=angle[rad])'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_height', 'comp_magnetization_dict', 'comp_radius', 'comp_surface', 'convert_to_UD', 'get_is_stator', 'get_magnet_by_id', 'get_magnet_dict', 'get_Rbo', 'get_Rext', 'has_magnet', 'plot', 'set_magnet_by_id'], 'daughters': ['HoleM50', 'HoleM51', 'HoleM52', 'HoleM53', 'HoleM54', 'HoleM57', 'HoleM58', 'HoleMag', 'HoleUD', 'VentilationCirc', 'VentilationPolar', 'VentilationTrap'], 'package': 'Slot', 'desc': 'Holes for lamination (abstract)', 'mother': '', 'is_internal': False}, {'name': 'HoleM50', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleM50.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot depth'}, {'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot opening'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Distance from the lamination Bore'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Tooth width (at V bottom)'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Additional depth for the magnet'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Distance Magnet to bottom of the V'}, {'name': 'H3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Magnet Height'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Tooth width (at V top)'}, {'name': 'H4', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Slot top height'}, {'name': 'W4', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Magnet Width'}, {'name': 'magnet_0', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'First Magnet'}, {'name': 'magnet_1', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Second Magnet'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_alpha', 'comp_magnetization_dict', 'comp_radius', 'comp_surface_magnet_id', 'comp_W5', 'has_magnet', 'plot_schematics', 'remove_magnet'], 'daughters': [], 'package': 'Slot', 'desc': 'V shape slot for buried magnet', 'mother': 'HoleMag', 'is_internal': False}, {'name': 'HoleM51', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleM51.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Hole depth'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Distance from the lamination Bore'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Hole width'}, {'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Hole bottom width'}, {'name': 'W1', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Hole angular width'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'magnet_1 position'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'magnet_1 width'}, {'name': 'W4', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'magnet_2 position'}, {'name': 'W5', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'magnet_2 width'}, {'name': 'W6', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'magnet_0 position'}, {'name': 'W7', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'magnet_0 width'}, {'name': 'magnet_0', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'First Magnet'}, {'name': 'magnet_1', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Second Magnet'}, {'name': 'magnet_2', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Third Magnet'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_alpha', 'comp_magnetization_dict', 'comp_radius', 'comp_surface_magnet_id', 'comp_width', 'has_magnet', 'plot_schematics', 'remove_magnet'], 'daughters': [], 'package': 'Slot', 'desc': '3 magnets V hole', 'mother': 'HoleMag', 'is_internal': False}, {'name': 'HoleM52', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleM52.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot depth'}, {'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Magnet width'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Magnet height'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Tooth width'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Additional depth for the magnet'}, {'name': 'magnet_0', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Magnet of the hole'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_alpha', 'comp_magnetization_dict', 'comp_radius', 'comp_surface', 'comp_surface_magnet_id', 'comp_W1', 'has_magnet', 'plot_schematics', 'remove_magnet'], 'daughters': [], 'package': 'Slot', 'desc': 'V shape slot for buried magnet', 'mother': 'HoleMag', 'is_internal': False}, {'name': 'HoleM53', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleM53.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot depth'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Distance from the lamination Bore'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Tooth width (at V bottom)'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Magnet Height'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Distance Magnet to bottom of the V'}, {'name': 'H3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Additional depth for the magnet'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Magnet Width'}, {'name': 'W4', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Slot angle'}, {'name': 'magnet_0', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'First Magnet'}, {'name': 'magnet_1', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Second Magnet'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_alpha', 'comp_magnetization_dict', 'comp_radius', 'comp_surface_magnet_id', 'comp_W5', 'has_magnet', 'plot_schematics', 'remove_magnet'], 'daughters': [], 'package': 'Slot', 'desc': 'V shape slot for buried magnet', 'mother': 'HoleMag', 'is_internal': False}, {'name': 'HoleM54', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleM54.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Hole depth'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Hole width'}, {'name': 'W0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Hole angular width'}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Hole radius'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_magnetization_dict', 'comp_radius', 'comp_surface', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Arc Hole for SyRM', 'mother': 'Hole', 'is_internal': False}, {'name': 'HoleM57', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleM57.csv', 'properties': [{'name': 'W0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '3.15', 'value': 0.2, 'desc': 'V angle'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Distance from the lamination Bore'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Tooth width (at V bottom)'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Magnet height'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Distance Magnet to top of the V'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Tooth width (at V top)'}, {'name': 'W4', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Magnet Width'}, {'name': 'magnet_0', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'First Magnet'}, {'name': 'magnet_1', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Second Magnet'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_magnetization_dict', 'comp_radius', 'comp_surface_magnet_id', 'has_magnet', 'plot_schematics', 'remove_magnet'], 'daughters': [], 'package': 'Slot', 'desc': 'V shape slot for buried magnet', 'mother': 'HoleMag', 'is_internal': False}, {'name': 'HoleM58', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleM58.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot depth'}, {'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot width'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Distance from the lamination Bore'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Magnet width'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Magnet Height'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Distance Magnet to side of the notch'}, {'name': 'W3', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Tooth angular opening width'}, {'name': 'R0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Notch radius'}, {'name': 'magnet_0', 'unit': '-', 'type': 'Magnet', 'min': '', 'max': '', 'value': '', 'desc': 'Magnet'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_magnetization_dict', 'comp_radius', 'comp_surface_magnet_id', 'has_magnet', 'plot_schematics', 'remove_magnet'], 'daughters': [], 'package': 'Slot', 'desc': 'One magnet with circular notches', 'mother': 'HoleMag', 'is_internal': False}, {'name': 'HoleMag', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleMag.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['comp_mass_magnet_id', 'comp_mass_magnets', 'comp_surface_magnets', 'comp_volume_magnets', 'get_magnet_list', 'has_magnet'], 'daughters': ['HoleM50', 'HoleM51', 'HoleM52', 'HoleM53', 'HoleM57', 'HoleM58', 'HoleUD'], 'package': 'Slot', 'desc': 'Hole with magnets for lamination (abstract)', 'mother': 'Hole', 'is_internal': False}, {'name': 'HoleUD', 'path': 'pyleecan/Generator/ClassesRef/Slot/HoleUD.csv', 'properties': [{'name': 'surf_list', 'unit': '', 'type': '[Surface]', 'min': '', 'max': '', 'value': '', 'desc': 'List of surface to draw the Hole. Surfaces must be ordered in trigo order, label must contain HoleMagnet for Magnet and Hole for holes'}, {'name': 'magnet_dict', 'unit': '', 'type': '{Magnet}', 'min': '', 'max': '', 'value': '', 'desc': 'dictionnary with the magnet for the Hole (None to remove magnet, key should be magnet_X)'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_surface_magnet_id', 'has_magnet', 'remove_magnet'], 'daughters': [], 'package': 'Slot', 'desc': 'User defined hole from list of surface', 'mother': 'HoleMag', 'is_internal': False}, {'name': 'Slot', 'path': 'pyleecan/Generator/ClassesRef/Slot/Slot.csv', 'properties': [{'name': 'Zs', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1000', 'value': 36, 'desc': 'slot number'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry_active', 'build_geometry_half_tooth', 'check', 'comp_angle_active_eq', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_height_opening', 'comp_radius', 'comp_radius_mid_active', 'comp_surface', 'comp_surface_active', 'comp_width_opening', 'get_is_stator', 'get_name_lam', 'get_Rbo', 'get_surface', 'get_surface_tooth', 'is_outwards', 'plot', 'plot_active'], 'daughters': ['Slot19', 'SlotCirc', 'SlotDC', 'SlotM10', 'SlotM11', 'SlotM12', 'SlotM13', 'SlotM14', 'SlotM15', 'SlotM16', 'SlotM17', 'SlotUD', 'SlotUD2', 'SlotW10', 'SlotW11', 'SlotW12', 'SlotW13', 'SlotW14', 'SlotW15', 'SlotW16', 'SlotW21', 'SlotW22', 'SlotW23', 'SlotW24', 'SlotW25', 'SlotW26', 'SlotW27', 'SlotW28', 'SlotW29', 'SlotW60', 'SlotW61'], 'package': 'Slot', 'desc': 'Generic class for slot (abstract)', 'mother': '', 'is_internal': False}, {'name': 'Slot19', 'path': 'pyleecan/Generator/ClassesRef/Slot/Slot19.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Slot top width'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Slot height'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Slot bottom width.'}, {'name': 'Wx_is_rad', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'Wx unit, 0 for m, 1 for rad'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_angle_bottom', 'comp_height', 'comp_surface'], 'daughters': [], 'package': 'Slot', 'desc': 'trapezoidal slot with rounded bottom', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotCirc', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotCirc.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'Slot height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active'], 'daughters': [], 'package': 'Slot', 'desc': 'Circular slot (for notches)', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotDC', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotDC.csv', 'properties': [{'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Distance upper rod center to bore'}, {'name': 'D1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Diameter upper rod'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Middle connection width'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Height between the first and second center'}, {'name': 'D2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Diameter upper section lower rod'}, {'name': 'H3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Length of lower rod'}, {'name': 'R3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Radius lower section lower rod'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active'], 'daughters': [], 'package': 'Slot', 'desc': 'Slot with two rods (for double squirrel cage)', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM10', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM10.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'Wmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Magnet width'}, {'name': 'Hmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Magnet Height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Rectangular Slot with Rectangular magnet', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM11', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM11.csv', 'properties': [{'name': 'W0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus angular width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'Wmag', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Magnet angular width'}, {'name': 'Hmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Magnet Height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Polar Slot with Polar magnet', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM12', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM12.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'Wmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Magnet width'}, {'name': 'Hmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Magnet Height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Rectangular Slot with Rectangular magnet with polar top', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM13', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM13.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'Wmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Magnet width'}, {'name': 'Hmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Magnet Height'}, {'name': 'Rtopm', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Radius of the magnet top'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Rectangular Slot with Rectangular magnet with circular top', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM14', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM14.csv', 'properties': [{'name': 'W0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus angular width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'Wmag', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Magnet angular width'}, {'name': 'Hmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Magnet Height'}, {'name': 'Rtopm', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Radius of the magnet top'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Polar Slot with Polar magnet with circular top', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM15', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM15.csv', 'properties': [{'name': 'W0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus angular width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'Wmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Magnet width'}, {'name': 'Hmag', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Magnet Height'}, {'name': 'Rtopm', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Radius of the magnet top'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'single magnet with polar base and curved-top shape and parallel sides', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM16', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM16.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot Width'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot Height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Rectangular Slot with isthmus for Rectangular magnet', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotM17', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotM17.csv', 'properties': [], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Full rotor magnet', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotUD', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotUD.csv', 'properties': [{'name': 'line_list', 'unit': '-', 'type': '[Line]', 'min': '', 'max': '', 'value': '', 'desc': 'list of line to draw the edges of the slot'}, {'name': 'wind_begin_index', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Index of the first line to include in the winding'}, {'name': 'wind_end_index', 'unit': '-', 'type': 'int', 'min': '', 'max': '', 'value': None, 'desc': 'Index of the last line to include in the winding'}, {'name': 'type_line_wind', 'unit': '-', 'type': 'int', 'min': '0', 'max': '1', 'value': 0, 'desc': '0 to close winding with Segment, 1 for Arc1'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'set_from_point_list', 'get_surface_active', 'check'], 'daughters': [], 'package': 'Slot', 'desc': '"User defined" Slot from a line list. ', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotUD2', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotUD2.csv', 'properties': [{'name': 'line_list', 'unit': '-', 'type': '[Line]', 'min': '', 'max': '', 'value': '', 'desc': 'list of line to draw the edges of the slot'}, {'name': 'active_surf', 'unit': '-', 'type': 'Surface', 'min': '', 'max': '', 'value': '', 'desc': 'Active surface of the Slot'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'get_surface_active', 'check'], 'daughters': [], 'package': 'Slot', 'desc': '"User defined" Slot from a line list and a surface', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW10', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW10.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm/rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0015, 'desc': 'Slot wedge radial height or wedge angle .'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.014, 'desc': 'Slot wedge width.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0325, 'desc': 'Slot height below wedge '}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot bottom width.'}, {'name': 'H1_is_rad', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'H1 unit, 0 for m, 1 for rad'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'get_H1', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Open Rectangular or trapezoidal slot with wedge', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW11', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW11.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm/rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'height or angle (See Schematics)'}, {'name': 'H1_is_rad', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'H1 unit, 0 for m, 1 for rad'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Slot top width.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Slot height below wedge '}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Slot bottom width.'}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot bottom radius'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_H1', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW12', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW12.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm/rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Slot middle height'}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Wedges radius'}, {'name': 'R2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot bottom radius'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW13', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW13.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm/rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0015, 'desc': 'Slot wedge radial height or wedge angle .'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.014, 'desc': 'Slot wedge width.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0325, 'desc': 'Slot height below wedge '}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot width below wedge '}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot bottom width.'}, {'name': 'H1_is_rad', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'H1 unit, 0 for m, 1 for rad'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'get_H1', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'Open Rectangular or trapezoidal slot with wedge', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW14', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW14.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0015, 'desc': 'Slot intermediate height.'}, {'name': 'H3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Tooth height'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Tooth width'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW15', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW15.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Tooth width'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0015, 'desc': 'Slot intermediate height.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot height'}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Top radius'}, {'name': 'R2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Bottom radius'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW16', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW16.csv', 'properties': [{'name': 'W0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus angular width.'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Tooth width'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot height'}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Top radius'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW21', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW21.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm/rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'height or angle (See Schematics)'}, {'name': 'H1_is_rad', 'unit': '', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'H1 unit, 0 for m, 1 for rad'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Slot top width.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Slot height below wedge '}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Slot bottom width.'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_H1', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'semi-closed trapezoidal without fillet without wedge (flat bottom)', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW22', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW22.csv', 'properties': [{'name': 'W0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.043633, 'desc': 'Slot isthmus orthoradial angular width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.006, 'desc': 'Slot isthmus radial height.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.04, 'desc': 'Slot radial height below wedge '}, {'name': 'W2', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0.08725, 'desc': 'Angle between slot edges'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'semi-closed orthoradial without fillet without wedge', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW23', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW23.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm/rad', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'height or angle (See Schematics)'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Slot top width.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Slot height below wedge '}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Slot bottom width.'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Tooth width'}, {'name': 'H1_is_rad', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'H1 unit, 0 for m, 1 for rad'}, {'name': 'is_cstt_tooth', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'True: use W3 to define the slot, False: use W2 and W1'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_W', '_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'semi-closed trapezoidal without fillet without wedge (rounded bottom)', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW24', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW24.csv', 'properties': [{'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Teeth width'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW25', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW25.csv', 'properties': [{'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Teeth bottom width'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot bottom height'}, {'name': 'W4', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Teeth top width'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot top height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW26', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW26.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot depth '}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot edge radius'}, {'name': 'R2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot top radius'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW27', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW27.csv', 'properties': [{'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Slot first part height'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Slot second part height'}, {'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot isthmus width.'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.013, 'desc': 'Slot top width.'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.01, 'desc': 'Slot middle width'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot bottom width.'}, {'name': 'is_trap_wind', 'unit': '-', 'type': 'bool', 'min': '', 'max': '', 'value': 0, 'desc': 'If True, split the winding on the trapezium bases. Else split at the middle height as usual'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': 'semi-closed trapezoidal without fillet without wedge (flat bottom)', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW28', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW28.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0122, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Slot edge radius'}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.005, 'desc': 'Tooth width'}, {'name': 'H3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Tooth height'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'get_surface_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW29', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW29.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.05, 'desc': 'Slot isthmus width.'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.001, 'desc': 'Slot isthmus height.'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.0015, 'desc': 'Slot middle height'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.015, 'desc': 'Slot middle width.'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'Slot bottom height'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.2, 'desc': 'Slot bottom width.'}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '1'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active', 'plot_schematics'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW60', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW60.csv', 'properties': [{'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Pole top width'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'Pole bottom width'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.05, 'desc': 'Pole top height'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.15, 'desc': 'Pole bottom height'}, {'name': 'R1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'Pole top radius'}, {'name': 'H3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Top Distance Ploe-coil '}, {'name': 'H4', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Bottom Distance Ploe-coil '}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Edge Distance Ploe-coil '}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '0'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'SlotW61', 'path': 'pyleecan/Generator/ClassesRef/Slot/SlotW61.csv', 'properties': [{'name': 'W0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.314, 'desc': 'Pole top width'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.02, 'desc': 'Pole top width'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.03, 'desc': 'Pole bottom width'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.003, 'desc': 'Pole top height'}, {'name': 'H1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.05, 'desc': 'Pole intermediate height'}, {'name': 'H2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0.15, 'desc': 'Pole bottom height'}, {'name': 'H3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Top Distance Ploe-coil '}, {'name': 'H4', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Bottom Distance Ploe-coil '}, {'name': 'W3', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 0, 'desc': 'Edge Distance Ploe-coil '}], 'constants': [{'name': 'VERSION', 'value': '1'}, {'name': 'IS_SYMMETRICAL', 'value': '0'}], 'methods': ['_comp_point_coordinate', 'build_geometry', 'build_geometry_active', 'check', 'comp_angle_opening', 'comp_height', 'comp_height_active', 'comp_surface', 'comp_surface_active', 'get_surface_active'], 'daughters': [], 'package': 'Slot', 'desc': '', 'mother': 'Slot', 'is_internal': False}, {'name': 'VentilationCirc', 'path': 'pyleecan/Generator/ClassesRef/Slot/VentilationCirc.csv', 'properties': [{'name': 'Alpha0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '6.29', 'value': 0, 'desc': 'Shift angle of the holes around circumference'}, {'name': 'D0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Hole diameters'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Diameter of the hole centers'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_radius', 'comp_surface', 'get_center'], 'daughters': [], 'package': 'Slot', 'desc': 'Circular axial ventilation duct', 'mother': 'Hole', 'is_internal': False}, {'name': 'VentilationPolar', 'path': 'pyleecan/Generator/ClassesRef/Slot/VentilationPolar.csv', 'properties': [{'name': 'Alpha0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '6.29', 'value': 0, 'desc': 'Shift angle of the hole around circumference'}, {'name': 'D0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Height of the hole'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Radius of the bottom of Hole'}, {'name': 'W1', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '6.29', 'value': 1, 'desc': 'Hole angular width'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_radius', 'comp_surface', 'get_center'], 'daughters': [], 'package': 'Slot', 'desc': 'Polar axial ventilation duct', 'mother': 'Hole', 'is_internal': False}, {'name': 'VentilationTrap', 'path': 'pyleecan/Generator/ClassesRef/Slot/VentilationTrap.csv', 'properties': [{'name': 'Alpha0', 'unit': 'rad', 'type': 'float', 'min': '0', 'max': '6.29', 'value': 0, 'desc': 'Shift angle of the hole around circumference'}, {'name': 'D0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Hole height'}, {'name': 'H0', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Radius of the hole bottom'}, {'name': 'W1', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Hole small basis'}, {'name': 'W2', 'unit': 'm', 'type': 'float', 'min': '0', 'max': '', 'value': 1, 'desc': 'Hole large basis'}], 'constants': [{'name': 'VERSION', 'value': '1'}], 'methods': ['build_geometry', 'check', 'comp_radius', 'comp_surface', 'get_center'], 'daughters': [], 'package': 'Slot', 'desc': 'Trapezoidal axial ventilation ducts', 'mother': 'Hole', 'is_internal': False}]

This test check that all the classes matches the current documentation It makes sure that the class generator works and was run

test_class_init_default(class_dict)[source]

Check if every propeties in the doc is created by __init__ with the default value

test_class_init_str(class_dict)[source]

Check if the class can be initiate from a file

test_class_as_dict(class_dict)[source]

Check if as_dict return the correct dict

test_class_set_None(class_dict)[source]

Check that _set_None set to None every non pyleecantype properties

test_class_frozen(class_dict)[source]

Check if the class is frozen after __init__

test_class_inherit(class_dict)[source]

Check if the class inherit of its mother class

test_class_methods(class_dict)[source]

Check if the class has all its methods

test_class_uncleaned_methods(class_dict)[source]

Check if all the method in the class folder is in the csv

test_class_type_float(class_dict)[source]

Check if the setter is type sensitive for float

test_class_min(class_dict)[source]

Check if the setter respect the specified min

test_class_max(class_dict)[source]

Check if the setter respect the specified max

test_class_prop_doc(class_dict)[source]

Check if the property’s doc is the same as in the doc file Works with multiline doc and specifics caracters

test_class_copy(class_dict)[source]

Check if the copy method is correct