Extract Conductor Coordinates

Use the Output parser to extract conductor coordinates and forces

Download Input files

Setting up

Standard Loading of input, Parsing and Initializing RoxiePlotOutputs object

import pandas as pd

from roxieapi.output.parser import RoxieOutputParser

parser = RoxieOutputParser("../input_files/dipole_2d.post.xml")

Extract Geometry

geom = parser.opt[1].coilGeometries

columns = ["cond", "block", "layer", "x1", "y1", "x2", "y2", "x3", "y3", "x4", "y4"]
data = [
    (cond.nr, cond.block_id, cond.layer_id, *cond.geometry.flatten())
    for cond in geom.values()
]

df_geom = pd.DataFrame(data, columns=columns)

df_geom
cond block layer x1 y1 x2 y2 x3 y3 x4 y4
0 1 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 44.038746 1.612252 44.049389 0.250293 59.149850 0.250293 59.137363 1.848244
1 2 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.980533 3.233498 44.012460 1.871873 59.111077 2.107865 59.073618 3.705426
2 3 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.863107 4.852578 43.916309 3.491617 59.009394 3.963545 58.946973 5.560326
3 4 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.685891 6.468005 43.760356 5.108043 58.844222 5.815790 58.756854 7.411400
4 5 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.448846 8.078300 43.544557 6.719667 58.615520 7.663062 58.503225 9.257112
... ... ... ... ... ... ... ... ... ... ... ...
155 156 21 22 Name: block_nr, dtype: int64 21 2 Name: layer_nr, dtype: int64 -7.870124 27.096695 -9.500046 26.499157 -14.851506 40.620019 -12.913627 41.330457
156 157 22 23 Name: block_nr, dtype: int64 22 2 Name: layer_nr, dtype: int64 -9.727495 -26.422087 -11.344054 -25.789289 -17.000947 -39.790591 -15.078956 -40.542950
157 158 22 23 Name: block_nr, dtype: int64 22 2 Name: layer_nr, dtype: int64 -7.870124 -27.096695 -9.500046 -26.499157 -14.851506 -40.620019 -12.913627 -41.330457
158 159 23 24 Name: block_nr, dtype: int64 23 2 Name: layer_nr, dtype: int64 9.727495 -26.422087 11.344054 -25.789289 17.000947 -39.790591 15.078956 -40.542950
159 160 23 24 Name: block_nr, dtype: int64 23 2 Name: layer_nr, dtype: int64 7.870124 -27.096695 9.500046 -26.499157 14.851506 -40.620019 12.913627 -41.330457

160 rows × 11 columns



Merge Geometry with forces

df_forces = parser.opt[1].step[1].conductorForces

df_all = df_geom.merge(df_forces, on="cond")

df_all
cond block layer x1 y1 x2 y2 x3 y3 x4 y4 fx fy ftr fpa fra faz
0 1 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 44.038746 1.612252 44.049389 0.250293 59.149850 0.250293 59.137363 1.848244 -15999.283 -1145.3686 -1020.3099 -16007.745 -16018.317 -838.13061
1 2 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.980533 3.233498 44.012460 1.871873 59.111077 2.107865 59.073618 3.705426 -15839.633 -4551.7958 -4179.2469 -15941.979 -16058.183 -3707.77230
2 3 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.863107 4.852578 43.916309 3.491617 59.009394 3.963545 58.946973 5.560326 -15436.232 -7940.0025 -7330.9707 -15734.604 -16065.342 -6574.62320
3 4 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.685891 6.468005 43.760356 5.108043 58.844222 5.815790 58.756854 7.411400 -14783.503 -11329.2430 -10504.0300 -15380.802 -16037.026 -9471.93290
4 5 0 1 Name: block_nr, dtype: int64 0 1 Name: layer_nr, dtype: int64 43.448846 8.078300 43.544557 6.719667 58.615520 7.663062 58.503225 9.257112 -13883.643 -14732.9170 -13720.8680 -14884.628 -15981.269 -12426.32000
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
155 156 21 22 Name: block_nr, dtype: int64 21 2 Name: layer_nr, dtype: int64 -7.870124 27.096695 -9.500046 26.499157 -14.851506 40.620019 -12.913627 41.330457 -78154.596 -14997.0900 78541.0080 12820.440 10462.645 78889.71200
156 157 22 23 Name: block_nr, dtype: int64 22 2 Name: layer_nr, dtype: int64 -9.727495 -26.422087 -11.344054 -25.789289 -17.000947 -39.790591 -15.078956 -40.542950 -71466.124 14505.0560 -71836.3880 12543.403 13136.504 -71730.29900
157 158 22 23 Name: block_nr, dtype: int64 22 2 Name: layer_nr, dtype: int64 -7.870124 -27.096695 -9.500046 -26.499157 -14.851506 -40.620019 -12.913627 -41.330457 -78154.596 14997.0900 -78541.0080 12820.440 10462.645 -78889.71200
158 159 23 24 Name: block_nr, dtype: int64 23 2 Name: layer_nr, dtype: int64 9.727495 -26.422087 11.344054 -25.789289 17.000947 -39.790591 15.078956 -40.542950 71466.124 14505.0560 71836.3880 12543.403 13136.504 71730.29900
159 160 23 24 Name: block_nr, dtype: int64 23 2 Name: layer_nr, dtype: int64 7.870124 -27.096695 9.500046 -26.499157 14.851506 -40.620019 12.913627 -41.330457 78154.596 14997.0900 78541.0080 12820.440 10462.645 78889.71200

160 rows × 17 columns



Total running time of the script: (0 minutes 0.268 seconds)

Gallery generated by Sphinx-Gallery