roxieapi.output.parser module¶
- class roxieapi.output.parser.CoilGeomDfs(conductors: pandas.core.frame.DataFrame, strands: pandas.core.frame.DataFrame)[source]¶
Bases:
object
- conductors: DataFrame¶
- strands: DataFrame¶
- class roxieapi.output.parser.EddyCurrentsData(xroot)[source]¶
Bases:
object
Data for eddy currents calculations for every time_step
- get_eddy_currents_all_timesteps() DataFrame [source]¶
Retrieve eddy currents data for all time steps and store it in a pandas DataFrame.
- Returns:
A DataFrame containing eddy currents data for all time steps. The columns are: - time_step: index of the time step - node: node number - elem: element number - jx: x component of the current density - jy: y component of the current density - jz: z component of the current density - j2/sigma: squared current density divided by the conductivity If no data exists, returns an empty DataFrame with the above columns.
- Return type:
pd.DataFrame
- get_eddy_currents_on_timestep(time_step_index=0) DataFrame [source]¶
Parse the eddy currents data from a specific time_step in the post.xml file.
- Parameters:
time_step_index (int, optional) – The index of the <time_step> element from which to retrieve the <eddy_currents_data>. Defaults to 0, which is the first time_step.
- Returns:
A DataFrame with the eddy currents data. The columns are - node: node number - elem: element number - jx: x component of the current density - jy: y component of the current density - jz: z component of the current density - j2/sigma: squared current density divided by the conductivity
- Return type:
pd.DataFrame
- get_elements() DataFrame [source]¶
Parse the <elements> data to extract details for each element.
- Returns:
A DataFrame with columns: - ele_num: Element number - hmo_ele: HMO element - ele_type: Element type - ele_collector: Element collector - nodes: List of node numbers (up to max_nodes)
- Return type:
pd.DataFrame
- get_elements_info() dict [source]¶
Parse the <element_data> line to extract tot_ele and max_nodes.
- Returns:
A dictionary containing: - “tot_ele” (int): The total number of elements. - “max_nodes” (int): The maximum number of nodes.
- Return type:
dict
- get_info_on_timestep(time_step_index: int) dict [source]¶
Parse the information for the specified <time_step> to extract step_number and absolute_time.
- Parameters:
time_step_index (int) – The index of the <time_step> element to parse.
- Returns:
A dictionary containing: - “step_number” (int): The time step number. - “absolute_time” (float): The absolute time for the present time step.
- Return type:
dict
- get_iron_nodal_data_info() dict [source]¶
Parse the <iron_nodal_data> line to extract tot_nodes, nodf, and dim.
- Returns:
A dictionary containing: - “tot_nodes” (int): Total number of nodes. - “nodf” (int): Number of degrees of freedom. - “dim” (int): Dimensionality of the nodes.
- Return type:
dict
- get_magnetic_field_all_timesteps() DataFrame [source]¶
Retrieve magnetic field data for all time steps and store it in a pandas DataFrame.
- Returns:
A DataFrame containing magnetic field data for all time steps. The columns are: - time_step: index of the time step - node: node number - elem: element number - Hx: x component of the magnetic field - Hy: y component of the magnetic field - Hz: z component of the magnetic field If no data exists, returns an empty DataFrame with the above columns.
- Return type:
pd.DataFrame
- get_magnetic_field_on_timestep(time_step_index: int) DataFrame [source]¶
Parse the magnetic field data from a specific time_step in the post.xml file.
- Parameters:
time_step_index (int) – The index of the <time_step> element from which to retrieve the <magnetic_field_data>.
- Returns:
A DataFrame with the magnetic field data. The columns are - node: node number - elem: element number - Hx: x component of the magnetic field - Hy: y component of the magnetic field - Hz: z component of the magnetic field
- Return type:
pd.DataFrame
- get_magnetic_induction_all_timesteps() DataFrame [source]¶
Retrieve magnetic induction data for all time steps and store it in a pandas DataFrame.
- Returns:
A DataFrame containing magnetic induction data for all time steps. The columns are: - time_step: index of the time step - node: node number - elem: element number - Bx: x component of the magnetic induction - By: y component of the magnetic induction - Bz: z component of the magnetic induction If no data exists, returns an empty DataFrame with the above columns.
- Return type:
pd.DataFrame
- get_magnetic_induction_on_timestep(time_step_index: int) DataFrame [source]¶
Parse the magnetic induction data from a specific time_step in the post.xml file.
- Parameters:
time_step_index (int) – The index of the <time_step> element from which to retrieve the <magnetic_induction_data>.
- Returns:
A DataFrame with the magnetic induction data. The columns are - node: node number - elem: element number - Bx: x component of the magnetic induction - By: y component of the magnetic induction - Bz: z component of the magnetic induction
- Return type:
pd.DataFrame
- get_mesh_elements() DataFrame | None [source]¶
Extract mesh elements from the XML root element and return them as a pandas DataFrame.
- Returns:
A DataFrame with mesh elements. Returns None if the “elements” tag is not found.
- Return type:
Optional[pd.DataFrame]
- get_nodal_coords() ndarray | None [source]¶
Extract node data from the XML root element and return it as a NumPy array.
- Returns:
A NumPy array of node data. Returns None if the “nodes” tag is not found.
- Return type:
Optional[np.ndarray]
- get_potential_all_timesteps() DataFrame [source]¶
Retrieve potential data for all time steps and store it in a pandas DataFrame.
- Returns:
A DataFrame containing potential data for all time steps. The columns are: - time_step: index of the time step - node: node number - az: potential value - norm_deriv_az: normalized derivative of az If no data exists, returns an empty DataFrame with the above columns.
- Return type:
pd.DataFrame
- get_potential_on_timestep(time_step_index: int) DataFrame [source]¶
Parse the potential data from a specific time_step in the post.xml file.
- Parameters:
time_step_index (int) – The index of the <time_step> element from which to retrieve the <potential_data>.
- Returns:
A DataFrame with the potential data. The columns are - node: node number - az: potential value - norm_deriv_az: normalized derivative of az
- Return type:
pd.DataFrame
- get_time_step_count() int [source]¶
Get the number of <time_step> elements in the XML file.
- Returns:
The number of <time_step> elements found.
- Return type:
int
- parse_nodal_coord_info() DataFrame [source]¶
Parse the <nodal_coord> data to extract details for each node.
- Returns:
A DataFrame with columns: - node_num: Node number - hmo_node: HMO node - x: X coordinate - y: Y coordinate - z: Z coordinate - frame: Frame value - bound: Boundary condition - nodf: Degrees of freedom
- Return type:
pd.DataFrame
- class roxieapi.output.parser.MeshGeomDfs(nodes: pandas.core.frame.DataFrame, elements: pandas.core.frame.DataFrame, boundaries: pandas.core.frame.DataFrame)[source]¶
Bases:
object
- boundaries: DataFrame¶
- elements: DataFrame¶
- nodes: DataFrame¶
- class roxieapi.output.parser.OptData(id: int, name: str)[source]¶
Bases:
object
Data Of an optimization Step
- property blockGeometries3D: Dict[int, BlockGeometry]¶
- property blockTopologies: Dict[int, BlockTopology]¶
Get block topologies
- property brickGeometries3D: Dict[int, Brick3DGeometry]¶
- property coilGeometries: Dict[int, CoilGeometry]¶
- property coilGeometries3D: Dict[int, Coil3DGeometry]¶
- property wedgeGeometries3D: Dict[int, WedgeGeometry]¶
- class roxieapi.output.parser.RoxieOutputParser(xml_file: str)[source]¶
Bases:
object
Roxie output parser class.
Takes all different Roxie outputs, parses them, and provides a structured output of the results.
- find_optstep(opt_step) OptData | None [source]¶
Find the optimization step data for a given optimization step
- Parameters:
opt_step – The optimization step number
- Returns:
The OptData object or None if not found
- find_transstep(opt_step: int, trans_step: int) TransStepData | None [source]¶
Find the transient step data for a given optimization step and transient step
- Parameters:
opt_step – The optimization step number
trans_step – The transient step number
- Returns:
The TransStepData object or None if not found
- get_3d_plot(plot_nr: int = 1) Plot3D | None [source]¶
Return the 3D plot with number i :param plon_nr: The plot number, defaults to 1 :return: The Plot3D definition, or None
- get_conductor_forces(opt_step: int = 1, trans_step: int = 1) DataFrame | None [source]¶
Return Conductor forces for given Step, or None if not present
- Parameters:
opt_step – The Optimization step, defaults to 1
trans_step – Transient step, defaults to 1
- Returns:
The Conductor forces as Dataframe
- get_crosssection_plot(plot_nr: int = 1) Plot2D | None [source]¶
Return the Crossection 2D plot with number i
- Parameters:
plot_nr – The plot_number, defaults to 1
- Returns:
The Plot2D object, or None
- get_harmonic_coil(coil_nr: int = 1, opt_step: int = 1, trans_step: int = 1) HarmonicCoil | None [source]¶
Return the harmonic coil for given step and coil id, or None if not present
- Parameters:
coil_nr – Harmonic Coil Nr, defaults to 1
opt_step – The Optimization Step Nr, defaults to 1
trans_step – The Transient Step Nr, defaults to 1
- Returns:
The Harmonic coil, or None