PyRoll Getting Started

This Notebook explains the basic usage of PyRoll. It is meant as a first getting started walktrough the basic functionalities.

Initialization and Configuration

Import the core library and a bunch of plugins. We assing pr as a shortcut to the PyRolL library to save typing efforts.

import pyroll.basic as pr

Import additional libraries and make some basic configuration.

import logging
import sys

logging.basicConfig(stream=sys.stdout, format='[%(levelname)s] %(name)s: %(message)s')
logging.getLogger("pyroll").setLevel(logging.INFO)

Definition of Initial Workpiece (Profile)

With the following class constructor on defines the state of the workpiece that is fed into the first unit of the rolling sequence. It holds geometrical values as well as material data.

The example case is a square-shaped profile that can originate for example from a continuous casting plant or from another rolling line.

in_profile = pr.Profile.square(
    side=45e-3,
    corner_radius=3e-3,
    temperature=1100 + 273.15,
    strain=0,
    material="C45",
    density=7.5e3,
    specific_heat_capacity=690,
)

The profile is automatically plotted and its properties are shown.

in_profile
2024-04-19T06:30:54.039198 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
SquareProfile
classifiers{'square', 'diamond'}
corner_radius0.003
cross_section
Polygon
area0.0020172289364149133
height0.061154328932550704
perimeter0.17484198694172845
width0.061154328932550704
density7500.0
diagonal0.06363961030678927
material'C45'
side0.045
specific_heat_capacity690
strain0
t0
temperature1373.15

Simulating a First Roll Pass

First we want to simulate a single roll pass. For that we have to define the shape of the groove, the properties of the roll and of the pass itself.

The groove can be defined by creating a groove object. Here, the DiamondGroove class is used to create a groove of diamond type. We need its usable width, the tip depth (which is the tepth measured at the intersection of the flanks) and two radii, the first between roll face and flanks, the second at the tip. We inspect the grooves contour line and its properties.

groove1 = pr.DiamondGroove(
    usable_width=76.55e-3,
    tip_depth=22.1e-3,
    r1=12e-3,
    r2=8e-3,
)
groove1
2024-04-19T06:30:54.196051 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
DiamondGroove
alpha10.5236363668157296
alpha20.5236363668157296
classifiers{'diamond', 'generic_elongation'}
contour_line
LineString
height0.020862195195594648
length0.12428942750252188
width0.11360126410252692
depth0.020862195195594648
flank_angle0.5236363668157296
ground_width0.004287509401684611
r10.012
r20.008
tip_angleNone
tip_depth0.0221
usable_width0.07655

Now we define the roll, where the groove is applied in. FOr now we need only one addtional property, the nominal radius. The nominal radius is the radius of the roll without groove. Again, we can directly inspect the properties of the created object.

roll1 = pr.Roll(
    groove=groove1,
    nominal_radius=328e-3,
)
roll1
Roll
groove
2024-04-19T06:30:54.302841 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
DiamondGroove
alpha10.5236363668157296
alpha20.5236363668157296
classifiers{'diamond', 'generic_elongation'}
contour_line
LineString
height0.020862195195594648
length0.12428942750252188
width0.11360126410252692
depth0.020862195195594648
flank_angle0.5236363668157296
ground_width0.004287509401684611
r10.012
r20.008
tip_angleNone
tip_depth0.0221
usable_width0.07655
nominal_radius0.328

The roll can now be used to define the pass. The upper and lower working rolls of the pass are equal, so we need only one. We add the height of the roll gap and the rolling velocity as additonal properties. Also, we give a label to the pass for human identification (probably the internal name of the groove or pass in your organisation).

Again, we can directly inspect the properties. We see the geometry of the roll pass within the high point (narrowest point), for now without information about material flow, since we simulated nothing unitl here.

pass1 = pr.RollPass(
    label="Diamond I",
    roll=roll1,
    gap=3e-3,
    velocity=1,
)
pass1
2024-04-19T06:30:54.697837 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass 'Diamond I'
disk_elements[]
gap0.003
in_profileNone
label'Diamond I'
out_profileNone
roll
RollPass.Roll
groove
2024-04-19T06:30:54.413578 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
DiamondGroove
alpha10.5236363668157296
alpha20.5236363668157296
classifiers{'diamond', 'generic_elongation'}
contour_line
LineString
height0.020862195195594648
length0.12428942750252188
width0.11360126410252692
depth0.020862195195594648
flank_angle0.5236363668157296
ground_width0.004287509401684611
r10.012
r20.008
tip_angleNone
tip_depth0.0221
usable_width0.07655
nominal_radius0.328
velocity1

To actually simulate the roll pass, we use the solve method and give the input profile as argument. The state of the output profile is returned and we can directly inspect its properties.

pass1_out = pass1.solve(in_profile)
pass1_out
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Diamond I'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Diamond I''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Diamond I'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.009 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Diamond I' after 6 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.063 s.
2024-04-19T06:30:54.867071 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
Profile
classifiers{'diamond', 'generic_elongation'}
cross_section
Polygon
area0.0018470652317200606
height0.0447243903911893
perimeter0.1684260697843319
width0.06560167360406856
cross_section_error-0.0360789946906479
cross_section_filling_ratio0.9639210053093521
density7500.0
filling_error-0.143021899359
filling_ratio0.856978100641
length0.0
material'C45'
specific_heat_capacity690
strain0.19349552465258638
t0.07056039637464354
temperature1373.2479283757593

When we now inspect the roll pass object again, we see lots of additional information calculated by the simulation. Note also, that the plot now includes the input and ouput profiles.

pass1
2024-04-19T06:30:55.501003 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass 'Diamond I'
abs_draught-0.008297025563206266
back_tension0
contact_area0.006017544120045988
deformation_heat_efficiency0.95
deformation_resistance114186889.3060211
disk_element_count0
disk_elements[]
displaced_cross_section
MultiPolygon
area0.00032276382739222846
height0.061154328932550704
perimeter0.1955694335652799
width0.03890114896397893
draught0.8118125462066977
duration0.07056039637464354
elongation1.0921265268668339
elongation_efficiency0.5272081015697767
entry_angle-0.2221144454231247
entry_point-0.07056039637464354
front_tension0
gap0.003
height0.0447243903911893
in_profile
2024-04-19T06:30:54.987971 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass.InProfile
classifiers{'vertical', 'square', 'diamond', 'rotated'}
cross_section
Polygon
area0.0020172289364149133
height0.061154328932550704
perimeter0.17484198694172845
width0.061154328932550704
density7500.0
equivalent_height0.04408915363889982
equivalent_rectangle
Polygon
area0.0026962426039910444
height0.04408915363889982
perimeter0.21048696514290105
width0.061154328932550704
equivalent_width0.061154328932550704
flow_stress80925543.43597992
freiberg_flow_stress_coefficientsFreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1)
height0.061154328932550704
lendl_section
Polygon
area0.0017151187334025954
height0.061154328932550704
perimeter0.15692698106999506
width0.03890114896397893
length0
material'C45'
specific_heat_capacity690
strain0
t0
temperature1373.15
width0.061154328932550704
inverse_forming_efficiency1.2871314892268648
iteration_precision0.001
label'Diamond I'
lendl_width0.03890114896397893
length0.07056039637464354
log_draught-0.20848581989669276
log_elongation0.08812673770481022
log_spread0.07020055622558032
max_iteration_count100
orientation0
out_profile
2024-04-19T06:30:55.095754 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass.OutProfile
classifiers{'diamond', 'generic_elongation'}
cross_section
Polygon
area0.0018470652317200606
height0.0447243903911893
perimeter0.1684260697843319
width0.06560167360406856
cross_section_error-0.0360789946906479
cross_section_filling_ratio0.9639210053093521
density7500.0
equivalent_height0.035792128075693555
equivalent_rectangle
Polygon
area0.002348023503616667
height0.035792128075693555
perimeter0.20278760335952423
width0.06560167360406856
equivalent_width0.06560167360406856
filling_error-0.143021899359
filling_ratio0.856978100641
flow_stress92604868.62961258
freiberg_flow_stress_coefficientsFreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1)
lendl_section
Polygon
area0.0013923549060103674
height0.0447243903911893
perimeter0.13759629786652613
width0.03890114896397893
length0.0
material'C45'
specific_heat_capacity690
strain0.19349552465258638
t0.07056039637464354
temperature1373.2479283757593
width0.06560167360406856
power367083.63727724086
reappearing_cross_section
MultiPolygon
area0.0001526001226973766
height0.02473846134281035
perimeter0.14769862316078058
width0.06560167360406856
rel_draught-0.1881874537933023
roll
RollPass.Roll
contact_area0.003008772060022994
contact_heat_transfer_coefficient6000.0
contact_length0.07056039637464354
contour_pointsarray([[-5.68006321e-02, 0.00000000e+00], [-4.14906321e-02, 0.00000000e+00], [-4.11906125e-02, 3.75107461e-06], [-4.08905930e-02, 1.50113425e-05], [-4.05905735e-02, 3.38020023e-05], [-4.02905539e-02, 6.01586074e-05], [-3.99905344e-02, 9.41314051e-05], [-3.96905149e-02, 1.35785821e-04], [-3.93904953e-02, 1.85203103e-04], [-3.90904758e-02, 2.42481133e-04], [-3.87904563e-02, 3.07735434e-04], [-3.84904367e-02, 3.81100396e-04], [-3.81904172e-02, 4.62730744e-04], [-3.78903977e-02, 5.52803299e-04], [-3.75903781e-02, 6.51519075e-04], [-3.72903586e-02, 7.59105780e-04], [-3.69903391e-02, 8.75820795e-04], [-3.66903195e-02, 1.00195473e-03], [-3.63903000e-02, 1.13783572e-03], [-3.60902805e-02, 1.28383451e-03], [-3.57902609e-02, 1.44037079e-03], [-3.54902414e-02, 1.60792071e-03], [-4.00026044e-03, 1.97902481e-02], [-3.80024741e-03, 1.99019480e-02], [-3.60023439e-03, 2.00063055e-02], [-3.40022137e-03, 2.01036381e-02], [-3.20020835e-03, 2.01942254e-02], [-3.00019533e-03, 2.02783147e-02], [-2.80018231e-03, 2.03561247e-02], [-2.60016928e-03, 2.04278491e-02], [-2.40015626e-03, 2.04936597e-02], [-2.20014324e-03, 2.05537080e-02], [-2.00013022e-03, 2.06081283e-02], [-1.80011720e-03, 2.06570382e-02], [-1.60010417e-03, 2.07005411e-02], [-1.40009115e-03, 2.07387265e-02], [-1.20007813e-03, 2.07716713e-02], [-1.00006511e-03, 2.07994409e-02], [-8.00052087e-04, 2.08220895e-02], [-6.00039066e-04, 2.08396605e-02], [-4.00026044e-04, 2.08521876e-02], [-2.00013022e-04, 2.08596945e-02], [ 0.00000000e+00, 2.08621952e-02], [ 2.00013022e-04, 2.08596945e-02], [ 4.00026044e-04, 2.08521876e-02], [ 6.00039066e-04, 2.08396605e-02], [ 8.00052087e-04, 2.08220895e-02], [ 1.00006511e-03, 2.07994409e-02], [ 1.20007813e-03, 2.07716713e-02], [ 1.40009115e-03, 2.07387265e-02], [ 1.60010417e-03, 2.07005411e-02], [ 1.80011720e-03, 2.06570382e-02], [ 2.00013022e-03, 2.06081283e-02], [ 2.20014324e-03, 2.05537080e-02], [ 2.40015626e-03, 2.04936597e-02], [ 2.60016928e-03, 2.04278491e-02], [ 2.80018231e-03, 2.03561247e-02], [ 3.00019533e-03, 2.02783147e-02], [ 3.20020835e-03, 2.01942254e-02], [ 3.40022137e-03, 2.01036381e-02], [ 3.60023439e-03, 2.00063055e-02], [ 3.80024741e-03, 1.99019480e-02], [ 4.00026044e-03, 1.97902481e-02], [ 3.54902414e-02, 1.60792071e-03], [ 3.57902609e-02, 1.44037079e-03], [ 3.60902805e-02, 1.28383451e-03], [ 3.63903000e-02, 1.13783572e-03], [ 3.66903195e-02, 1.00195473e-03], [ 3.69903391e-02, 8.75820795e-04], [ 3.72903586e-02, 7.59105780e-04], [ 3.75903781e-02, 6.51519075e-04], [ 3.78903977e-02, 5.52803299e-04], [ 3.81904172e-02, 4.62730744e-04], [ 3.84904367e-02, 3.81100396e-04], [ 3.87904563e-02, 3.07735434e-04], [ 3.90904758e-02, 2.42481133e-04], [ 3.93904953e-02, 1.85203103e-04], [ 3.96905149e-02, 1.35785821e-04], [ 3.99905344e-02, 9.41314051e-05], [ 4.02905539e-02, 6.01586074e-05], [ 4.05905735e-02, 3.38020023e-05], [ 4.08905930e-02, 1.50113425e-05], [ 4.11906125e-02, 3.75107461e-06], [ 4.14906321e-02, 0.00000000e+00], [ 5.68006321e-02, 0.00000000e+00]])
groove
2024-04-19T06:30:55.202524 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
DiamondGroove
alpha10.5236363668157296
alpha20.5236363668157296
classifiers{'diamond', 'generic_elongation'}
contour_line
LineString
height0.020862195195594648
length0.12428942750252188
width0.11360126410252692
depth0.020862195195594648
flank_angle0.5236363668157296
ground_width0.004287509401684611
r10.012
r20.008
tip_angleNone
tip_depth0.0221
usable_width0.07655
max_radius0.328
min_radius0.3071378048044054
neutral_angle-0.08848788138523542
nominal_radius0.328
roll_power183541.81863862043
roll_torque9543.913548302875
rotational_frequency3.060755690269962
surface_velocity1.0039278664085476
temperature293.15
working_radius0.32030304866385906
roll_force343562.32216489466
roll_torque_loss_function0.6313372329443294
rotationTrue
spread1.0727233010180357
strain0.19349552465258638
strain_rate2.7422681078095614
target_cross_section_area0.0019161997939107886
target_filling_ratio1.0
target_width0.07655
temperature_change0.09792837575923619
temperature_change_by_contact-3.9580947067488963
temperature_change_by_deformation4.0560230825081325
usable_cross_section
Polygon
area0.0019161997939107886
height0.0447243903911893
perimeter0.18207551252845486
width0.07655
usable_width0.07655
velocity1
volume0.00013433192769727247
wusatowski_exponent0.40040229722506016
wusatowski_friction_coefficient1
wusatowski_material_coefficient1
wusatowski_temperature_coefficient1
wusatowski_velocity_coefficient0.9868101140877441
zouhar_contact_c11
zouhar_contact_c20.3
zouhar_contact_c31
zouhar_contact_in_width0.0

Simulating a Pass Sequence

Simulating each pass distinctly is a bit cumbersome. But we can combine several passes in a pass sequence. Lets define first a second pass, this time with a square-type groove. The roll and pass are defined as above.

groove2 = pr.SquareGroove(
    usable_width=52.7e-3,
    tip_depth=25.95e-3,
    r1=8e-3,
    r2=6e-3
)
groove2
2024-04-19T06:30:55.628265 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
SquareGroove
alpha10.7777501289619068
alpha20.7777501289619068
classifiers{'square', 'diamond', 'generic_elongation'}
contour_line
LineString
height0.02352887675368554
length0.09844743716085605
width0.08033584817370697
depth0.02352887675368554
flank_angle0.7777501289619068
ground_width0.004916886130280233
r10.008
r20.006
tip_angleNone
tip_depth0.02595
usable_width0.0527
roll2 = pr.Roll(
    groove=groove2,
    nominal_radius=328e-3,
)
roll2
Roll
groove
2024-04-19T06:30:55.749578 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
SquareGroove
alpha10.7777501289619068
alpha20.7777501289619068
classifiers{'square', 'diamond', 'generic_elongation'}
contour_line
LineString
height0.02352887675368554
length0.09844743716085605
width0.08033584817370697
depth0.02352887675368554
flank_angle0.7777501289619068
ground_width0.004916886130280233
r10.008
r20.006
tip_angleNone
tip_depth0.02595
usable_width0.0527
nominal_radius0.328
pass2 = pr.RollPass(
    label="Square II",
    roll=roll2,
    gap=3e-3,
    velocity=1,
)
pass2
2024-04-19T06:30:56.249947 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass 'Square II'
disk_elements[]
gap0.003
in_profileNone
label'Square II'
out_profileNone
roll
RollPass.Roll
groove
2024-04-19T06:30:55.870559 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
SquareGroove
alpha10.7777501289619068
alpha20.7777501289619068
classifiers{'square', 'diamond', 'generic_elongation'}
contour_line
LineString
height0.02352887675368554
length0.09844743716085605
width0.08033584817370697
depth0.02352887675368554
flank_angle0.7777501289619068
ground_width0.004916886130280233
r10.008
r20.006
tip_angleNone
tip_depth0.02595
usable_width0.0527
nominal_radius0.328
velocity1

We can now use both passes to create a pass sequence.

sequence = pr.PassSequence([
    pass1,
    pass2
])

When we inspect the sequence, we will notice that the first pass is already filled with solution data, since we reused the object from above.

sequence
PassSequence
in_profileNone
label''
out_profileNone
units[RollPass(abs_draught=-0.008297025563206266, back_tension=0, contact_area=0.006017544120045988, deformation_heat_efficiency=0.95, deformation_resistance=114186889.3060211, disk_element_count=0, disk_elements=[], displaced_cross_section=MultiPolygon(area=0.00032276382739222846, height=0.061154328932550704, perimeter=0.1955694335652799, width=0.03890114896397893), draught=0.8118125462066977, duration=0.07056039637464354, elongation=1.0921265268668339, elongation_efficiency=0.5272081015697767, entry_angle=-0.2221144454231247, entry_point=-0.07056039637464354, front_tension=0, gap=0.003, height=0.0447243903911893, in_profile=InProfile(classifiers={'vertical', 'square', 'diamond', 'rotated'}, cross_section=Polygon(area=0.0020172289364149133, height=0.061154328932550704, perimeter=0.17484198694172845, width=0.061154328932550704), density=7500.0, equivalent_height=0.04408915363889982, equivalent_rectangle=Polygon(area=0.0026962426039910444, height=0.04408915363889982, perimeter=0.21048696514290105, width=0.061154328932550704), equivalent_width=0.061154328932550704, flow_stress=80925543.43597992, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), height=0.061154328932550704, lendl_section=Polygon(area=0.0017151187334025954, height=0.061154328932550704, perimeter=0.15692698106999506, width=0.03890114896397893), length=0, material='C45', specific_heat_capacity=690, strain=0, t=0, temperature=1373.15, width=0.061154328932550704), inverse_forming_efficiency=1.2871314892268648, iteration_precision=0.001, label='Diamond I', lendl_width=0.03890114896397893, length=0.07056039637464354, log_draught=-0.20848581989669276, log_elongation=0.08812673770481022, log_spread=0.07020055622558032, max_iteration_count=100, orientation=0, out_profile=OutProfile(classifiers={'diamond', 'generic_elongation'}, cross_section=Polygon(area=0.0018470652317200606, height=0.0447243903911893, perimeter=0.1684260697843319, width=0.06560167360406856), cross_section_error=-0.0360789946906479, cross_section_filling_ratio=0.9639210053093521, density=7500.0, equivalent_height=0.035792128075693555, equivalent_rectangle=Polygon(area=0.002348023503616667, height=0.035792128075693555, perimeter=0.20278760335952423, width=0.06560167360406856), equivalent_width=0.06560167360406856, filling_error=-0.143021899359, filling_ratio=0.856978100641, flow_stress=92604868.62961258, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), lendl_section=Polygon(area=0.0013923549060103674, height=0.0447243903911893, perimeter=0.13759629786652613, width=0.03890114896397893), length=0.0, material='C45', specific_heat_capacity=690, strain=0.19349552465258638, t=0.07056039637464354, temperature=1373.2479283757593, width=0.06560167360406856), power=367083.63727724086, reappearing_cross_section=MultiPolygon(area=0.0001526001226973766, height=0.02473846134281035, perimeter=0.14769862316078058, width=0.06560167360406856), rel_draught=-0.1881874537933023, roll=Roll(contact_area=0.003008772060022994, contact_heat_transfer_coefficient=6000.0, contact_length=0.07056039637464354, contour_points=array([[-5.68006321e-02, 0.00000000e+00], [-4.14906321e-02, 0.00000000e+00], [-4.11906125e-02, 3.75107461e-06], [-4.08905930e-02, 1.50113425e-05], [-4.05905735e-02, 3.38020023e-05], [-4.02905539e-02, 6.01586074e-05], [-3.99905344e-02, 9.41314051e-05], [-3.96905149e-02, 1.35785821e-04], [-3.93904953e-02, 1.85203103e-04], [-3.90904758e-02, 2.42481133e-04], [-3.87904563e-02, 3.07735434e-04], [-3.84904367e-02, 3.81100396e-04], [-3.81904172e-02, 4.62730744e-04], [-3.78903977e-02, 5.52803299e-04], [-3.75903781e-02, 6.51519075e-04], [-3.72903586e-02, 7.59105780e-04], [-3.69903391e-02, 8.75820795e-04], [-3.66903195e-02, 1.00195473e-03], [-3.63903000e-02, 1.13783572e-03], [-3.60902805e-02, 1.28383451e-03], [-3.57902609e-02, 1.44037079e-03], [-3.54902414e-02, 1.60792071e-03], [-4.00026044e-03, 1.97902481e-02], [-3.80024741e-03, 1.99019480e-02], [-3.60023439e-03, 2.00063055e-02], [-3.40022137e-03, 2.01036381e-02], [-3.20020835e-03, 2.01942254e-02], [-3.00019533e-03, 2.02783147e-02], [-2.80018231e-03, 2.03561247e-02], [-2.60016928e-03, 2.04278491e-02], [-2.40015626e-03, 2.04936597e-02], [-2.20014324e-03, 2.05537080e-02], [-2.00013022e-03, 2.06081283e-02], [-1.80011720e-03, 2.06570382e-02], [-1.60010417e-03, 2.07005411e-02], [-1.40009115e-03, 2.07387265e-02], [-1.20007813e-03, 2.07716713e-02], [-1.00006511e-03, 2.07994409e-02], [-8.00052087e-04, 2.08220895e-02], [-6.00039066e-04, 2.08396605e-02], [-4.00026044e-04, 2.08521876e-02], [-2.00013022e-04, 2.08596945e-02], [ 0.00000000e+00, 2.08621952e-02], [ 2.00013022e-04, 2.08596945e-02], [ 4.00026044e-04, 2.08521876e-02], [ 6.00039066e-04, 2.08396605e-02], [ 8.00052087e-04, 2.08220895e-02], [ 1.00006511e-03, 2.07994409e-02], [ 1.20007813e-03, 2.07716713e-02], [ 1.40009115e-03, 2.07387265e-02], [ 1.60010417e-03, 2.07005411e-02], [ 1.80011720e-03, 2.06570382e-02], [ 2.00013022e-03, 2.06081283e-02], [ 2.20014324e-03, 2.05537080e-02], [ 2.40015626e-03, 2.04936597e-02], [ 2.60016928e-03, 2.04278491e-02], [ 2.80018231e-03, 2.03561247e-02], [ 3.00019533e-03, 2.02783147e-02], [ 3.20020835e-03, 2.01942254e-02], [ 3.40022137e-03, 2.01036381e-02], [ 3.60023439e-03, 2.00063055e-02], [ 3.80024741e-03, 1.99019480e-02], [ 4.00026044e-03, 1.97902481e-02], [ 3.54902414e-02, 1.60792071e-03], [ 3.57902609e-02, 1.44037079e-03], [ 3.60902805e-02, 1.28383451e-03], [ 3.63903000e-02, 1.13783572e-03], [ 3.66903195e-02, 1.00195473e-03], [ 3.69903391e-02, 8.75820795e-04], [ 3.72903586e-02, 7.59105780e-04], [ 3.75903781e-02, 6.51519075e-04], [ 3.78903977e-02, 5.52803299e-04], [ 3.81904172e-02, 4.62730744e-04], [ 3.84904367e-02, 3.81100396e-04], [ 3.87904563e-02, 3.07735434e-04], [ 3.90904758e-02, 2.42481133e-04], [ 3.93904953e-02, 1.85203103e-04], [ 3.96905149e-02, 1.35785821e-04], [ 3.99905344e-02, 9.41314051e-05], [ 4.02905539e-02, 6.01586074e-05], [ 4.05905735e-02, 3.38020023e-05], [ 4.08905930e-02, 1.50113425e-05], [ 4.11906125e-02, 3.75107461e-06], [ 4.14906321e-02, 0.00000000e+00], [ 5.68006321e-02, 0.00000000e+00]]), groove=DiamondGroove(alpha1=0.5236363668157296, alpha2=0.5236363668157296, classifiers={'diamond', 'generic_elongation'}, contour_line=LineString(height=0.020862195195594648, length=0.12428942750252188, width=0.11360126410252692), depth=0.020862195195594648, flank_angle=0.5236363668157296, ground_width=0.004287509401684611, r1=0.012, r2=0.008, tip_angle=None, tip_depth=0.0221, usable_width=0.07655), max_radius=0.328, min_radius=0.3071378048044054, neutral_angle=-0.08848788138523542, nominal_radius=0.328, roll_power=183541.81863862043, roll_torque=9543.913548302875, rotational_frequency=3.060755690269962, surface_velocity=1.0039278664085476, temperature=293.15, working_radius=0.32030304866385906), roll_force=343562.32216489466, roll_torque_loss_function=0.6313372329443294, rotation=True, spread=1.0727233010180357, strain=0.19349552465258638, strain_rate=2.7422681078095614, target_cross_section_area=0.0019161997939107886, target_filling_ratio=1.0, target_width=0.07655, temperature_change=0.09792837575923619, temperature_change_by_contact=-3.9580947067488963, temperature_change_by_deformation=4.0560230825081325, usable_cross_section=Polygon(area=0.0019161997939107886, height=0.0447243903911893, perimeter=0.18207551252845486, width=0.07655), usable_width=0.07655, velocity=1, volume=0.00013433192769727247, wusatowski_exponent=0.40040229722506016, wusatowski_friction_coefficient=1, wusatowski_material_coefficient=1, wusatowski_temperature_coefficient=1, wusatowski_velocity_coefficient=0.9868101140877441, zouhar_contact_c1=1, zouhar_contact_c2=0.3, zouhar_contact_c3=1, zouhar_contact_in_width=0.0), RollPass(disk_elements=[], gap=0.003, in_profile=None, label='Square II', orientation=0, out_profile=None, roll=Roll(contour_points=array([[-4.01679241e-02, 0.00000000e+00], [-2.96279241e-02, 0.00000000e+00], [-2.93472528e-02, 4.92503864e-06], [-2.90665815e-02, 1.97183915e-05], [-2.87859103e-02, 4.44351087e-05], [-2.85052390e-02, 7.91680863e-05], [-2.82245677e-02, 1.24049839e-04], [-2.79438965e-02, 1.79255089e-04], [-2.76632252e-02, 2.45004304e-04], [-2.73825539e-02, 3.21568336e-04], [-2.71018827e-02, 4.09274431e-04], [-2.68212114e-02, 5.08513914e-04], [-2.65405401e-02, 6.19752025e-04], [-2.62598688e-02, 7.43540544e-04], [-2.59791976e-02, 8.80534094e-04], [-2.56985263e-02, 1.03151143e-03], [-2.54178550e-02, 1.19740355e-03], [-2.51371838e-02, 1.37933151e-03], [-2.48565125e-02, 1.57865814e-03], [-2.45758412e-02, 1.79706048e-03], [-2.42951699e-02, 2.03663407e-03], [-2.40144987e-02, 2.30004780e-03], [-4.21006906e-03, 2.18038409e-02], [-3.99956561e-03, 2.20014012e-02], [-3.78906215e-03, 2.21810814e-02], [-3.57855870e-03, 2.23448832e-02], [-3.36805525e-03, 2.24943781e-02], [-3.15755180e-03, 2.26308241e-02], [-2.94704834e-03, 2.27552432e-02], [-2.73654489e-03, 2.28684762e-02], [-2.52604144e-03, 2.29712213e-02], [-2.31553798e-03, 2.30640627e-02], [-2.10503453e-03, 2.31474913e-02], [-1.89453108e-03, 2.32219209e-02], [-1.68402762e-03, 2.32877005e-02], [-1.47352417e-03, 2.33451235e-02], [-1.26302072e-03, 2.33944354e-02], [-1.05251727e-03, 2.34358394e-02], [-8.42013812e-04, 2.34695007e-02], [-6.31510359e-04, 2.34955504e-02], [-4.21006906e-04, 2.35140880e-02], [-2.10503453e-04, 2.35251830e-02], [ 0.00000000e+00, 2.35288768e-02], [ 2.10503453e-04, 2.35251830e-02], [ 4.21006906e-04, 2.35140880e-02], [ 6.31510359e-04, 2.34955504e-02], [ 8.42013812e-04, 2.34695007e-02], [ 1.05251727e-03, 2.34358394e-02], [ 1.26302072e-03, 2.33944354e-02], [ 1.47352417e-03, 2.33451235e-02], [ 1.68402762e-03, 2.32877005e-02], [ 1.89453108e-03, 2.32219209e-02], [ 2.10503453e-03, 2.31474913e-02], [ 2.31553798e-03, 2.30640627e-02], [ 2.52604144e-03, 2.29712213e-02], [ 2.73654489e-03, 2.28684762e-02], [ 2.94704834e-03, 2.27552432e-02], [ 3.15755180e-03, 2.26308241e-02], [ 3.36805525e-03, 2.24943781e-02], [ 3.57855870e-03, 2.23448832e-02], [ 3.78906215e-03, 2.21810814e-02], [ 3.99956561e-03, 2.20014012e-02], [ 4.21006906e-03, 2.18038409e-02], [ 2.40144987e-02, 2.30004780e-03], [ 2.42951699e-02, 2.03663407e-03], [ 2.45758412e-02, 1.79706048e-03], [ 2.48565125e-02, 1.57865814e-03], [ 2.51371838e-02, 1.37933151e-03], [ 2.54178550e-02, 1.19740355e-03], [ 2.56985263e-02, 1.03151143e-03], [ 2.59791976e-02, 8.80534094e-04], [ 2.62598688e-02, 7.43540544e-04], [ 2.65405401e-02, 6.19752025e-04], [ 2.68212114e-02, 5.08513914e-04], [ 2.71018827e-02, 4.09274431e-04], [ 2.73825539e-02, 3.21568336e-04], [ 2.76632252e-02, 2.45004304e-04], [ 2.79438965e-02, 1.79255089e-04], [ 2.82245677e-02, 1.24049839e-04], [ 2.85052390e-02, 7.91680863e-05], [ 2.87859103e-02, 4.44351087e-05], [ 2.90665815e-02, 1.97183915e-05], [ 2.93472528e-02, 4.92503864e-06], [ 2.96279241e-02, 0.00000000e+00], [ 4.01679241e-02, 0.00000000e+00]]), groove=SquareGroove(alpha1=0.7777501289619068, alpha2=0.7777501289619068, classifiers={'square', 'diamond', 'generic_elongation'}, contour_line=LineString(height=0.02352887675368554, length=0.09844743716085605, width=0.08033584817370697), depth=0.02352887675368554, flank_angle=0.7777501289619068, ground_width=0.004916886130280233, r1=0.008, r2=0.006, tip_angle=None, tip_depth=0.02595, usable_width=0.0527), nominal_radius=0.328), velocity=1)]

We can simulate the pass sequence in the same way as the roll pass.

sequence.solve(in_profile)
[INFO] pyroll.core.PassSequence: Started solving of PassSequence.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Diamond I'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Diamond I''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Diamond I'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.003 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Diamond I' after 5 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.042 s.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Square II'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Square II''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Square II'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.003 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Square II' after 6 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.048 s.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Diamond I'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Diamond I''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Diamond I'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.004 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Diamond I' after 5 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.043 s.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Square II'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Square II''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Square II'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.004 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Square II' after 4 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.035 s.
[INFO] pyroll.core.PassSequence: Finished solving of PassSequence after 2 iterations.
[INFO] pyroll.core.PassSequence: Solution took 0.182 s.
2024-04-19T06:30:56.584118 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
Profile
classifiers{'square', 'diamond', 'generic_elongation'}
cross_section
Polygon
area0.0015066133017951875
height0.050057753507371086
perimeter0.14836106149239386
width0.05133503214495572
density7500.0
length0.0
material'C45'
specific_heat_capacity690
strain0.4959992128749343
t0.1389144119735775
temperature1376.3798098531684

… and inspect the results accordingly.

sequence
PassSequence
duration0.1389144119735775
elongation1.3389161863972048
in_profile
2024-04-19T06:30:56.711675 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
PassSequence.InProfile
classifiers{'square', 'diamond'}
cross_section
Polygon
area0.0020172289364149133
height0.061154328932550704
perimeter0.17484198694172845
width0.061154328932550704
density7500.0
material'C45'
specific_heat_capacity690
strain0
t0
temperature1373.15
iteration_precision0.001
label''
log_elongation0.2918604705730934
max_iteration_count100
out_profile
2024-04-19T06:30:56.818965 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
PassSequence.OutProfile
classifiers{'square', 'diamond', 'generic_elongation'}
cross_section
Polygon
area0.0015066133017951875
height0.050057753507371086
perimeter0.14836106149239386
width0.05133503214495572
density7500.0
length0.0
material'C45'
specific_heat_capacity690
strain0.4959992128749343
t0.1389144119735775
temperature1376.3798098531684
power799425.1283745661
units[RollPass(abs_draught=-0.008297025563206266, back_tension=0, contact_area=0.006017544120045988, deformation_heat_efficiency=0.95, deformation_resistance=114184844.83414835, disk_element_count=0, disk_elements=[], displaced_cross_section=MultiPolygon(area=0.00032276382739222846, height=0.061154328932550704, perimeter=0.1955694335652799, width=0.03890114896397893), draught=0.8118125462066977, duration=0.07056039637464354, elongation=1.0921265268668339, elongation_efficiency=0.5272081015697767, entry_angle=-0.2221144454231247, entry_point=-0.07056039637464354, front_tension=0, gap=0.003, height=0.0447243903911893, in_profile=InProfile(classifiers={'vertical', 'square', 'diamond', 'rotated'}, cross_section=Polygon(area=0.0020172289364149133, height=0.061154328932550704, perimeter=0.17484198694172845, width=0.061154328932550704), density=7500.0, equivalent_height=0.04408915363889982, equivalent_rectangle=Polygon(area=0.0026962426039910444, height=0.04408915363889982, perimeter=0.21048696514290105, width=0.061154328932550704), equivalent_width=0.061154328932550704, flow_stress=80925543.43597992, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), height=0.061154328932550704, lendl_section=Polygon(area=0.0017151187334025954, height=0.061154328932550704, perimeter=0.15692698106999506, width=0.03890114896397893), length=0, material='C45', specific_heat_capacity=690, strain=0, t=0, temperature=1373.15, width=0.061154328932550704), inverse_forming_efficiency=1.2871314892268648, iteration_precision=0.001, label='Diamond I', lendl_width=0.03890114896397893, length=0.07056039637464354, log_draught=-0.20848581989669276, log_elongation=0.08812673770481022, log_spread=0.07020055622558032, max_iteration_count=100, orientation=0, out_profile=OutProfile(classifiers={'diamond', 'generic_elongation'}, cross_section=Polygon(area=0.0018470652317200606, height=0.0447243903911893, perimeter=0.1684260697843319, width=0.06560167360406856), cross_section_error=-0.0360789946906479, cross_section_filling_ratio=0.9639210053093521, density=7500.0, equivalent_height=0.035792128075693555, equivalent_rectangle=Polygon(area=0.002348023503616667, height=0.035792128075693555, perimeter=0.20278760335952423, width=0.06560167360406856), equivalent_width=0.06560167360406856, filling_error=-0.143021899359, filling_ratio=0.856978100641, flow_stress=92605866.9587439, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), lendl_section=Polygon(area=0.0013923549060103674, height=0.0447243903911893, perimeter=0.13759629786652613, width=0.03890114896397893), length=0.0, material='C45', specific_heat_capacity=690, strain=0.19349552465258638, t=0.07056039637464354, temperature=1373.2478626568889, width=0.06560167360406856), power=367077.06478738744, reappearing_cross_section=MultiPolygon(area=0.0001526001226973766, height=0.02473846134281035, perimeter=0.14769862316078058, width=0.06560167360406856), rel_draught=-0.1881874537933023, roll=Roll(contact_area=0.003008772060022994, contact_heat_transfer_coefficient=6000.0, contact_length=0.07056039637464354, contour_points=array([[-5.68006321e-02, 0.00000000e+00], [-4.14906321e-02, 0.00000000e+00], [-4.11906125e-02, 3.75107461e-06], [-4.08905930e-02, 1.50113425e-05], [-4.05905735e-02, 3.38020023e-05], [-4.02905539e-02, 6.01586074e-05], [-3.99905344e-02, 9.41314051e-05], [-3.96905149e-02, 1.35785821e-04], [-3.93904953e-02, 1.85203103e-04], [-3.90904758e-02, 2.42481133e-04], [-3.87904563e-02, 3.07735434e-04], [-3.84904367e-02, 3.81100396e-04], [-3.81904172e-02, 4.62730744e-04], [-3.78903977e-02, 5.52803299e-04], [-3.75903781e-02, 6.51519075e-04], [-3.72903586e-02, 7.59105780e-04], [-3.69903391e-02, 8.75820795e-04], [-3.66903195e-02, 1.00195473e-03], [-3.63903000e-02, 1.13783572e-03], [-3.60902805e-02, 1.28383451e-03], [-3.57902609e-02, 1.44037079e-03], [-3.54902414e-02, 1.60792071e-03], [-4.00026044e-03, 1.97902481e-02], [-3.80024741e-03, 1.99019480e-02], [-3.60023439e-03, 2.00063055e-02], [-3.40022137e-03, 2.01036381e-02], [-3.20020835e-03, 2.01942254e-02], [-3.00019533e-03, 2.02783147e-02], [-2.80018231e-03, 2.03561247e-02], [-2.60016928e-03, 2.04278491e-02], [-2.40015626e-03, 2.04936597e-02], [-2.20014324e-03, 2.05537080e-02], [-2.00013022e-03, 2.06081283e-02], [-1.80011720e-03, 2.06570382e-02], [-1.60010417e-03, 2.07005411e-02], [-1.40009115e-03, 2.07387265e-02], [-1.20007813e-03, 2.07716713e-02], [-1.00006511e-03, 2.07994409e-02], [-8.00052087e-04, 2.08220895e-02], [-6.00039066e-04, 2.08396605e-02], [-4.00026044e-04, 2.08521876e-02], [-2.00013022e-04, 2.08596945e-02], [ 0.00000000e+00, 2.08621952e-02], [ 2.00013022e-04, 2.08596945e-02], [ 4.00026044e-04, 2.08521876e-02], [ 6.00039066e-04, 2.08396605e-02], [ 8.00052087e-04, 2.08220895e-02], [ 1.00006511e-03, 2.07994409e-02], [ 1.20007813e-03, 2.07716713e-02], [ 1.40009115e-03, 2.07387265e-02], [ 1.60010417e-03, 2.07005411e-02], [ 1.80011720e-03, 2.06570382e-02], [ 2.00013022e-03, 2.06081283e-02], [ 2.20014324e-03, 2.05537080e-02], [ 2.40015626e-03, 2.04936597e-02], [ 2.60016928e-03, 2.04278491e-02], [ 2.80018231e-03, 2.03561247e-02], [ 3.00019533e-03, 2.02783147e-02], [ 3.20020835e-03, 2.01942254e-02], [ 3.40022137e-03, 2.01036381e-02], [ 3.60023439e-03, 2.00063055e-02], [ 3.80024741e-03, 1.99019480e-02], [ 4.00026044e-03, 1.97902481e-02], [ 3.54902414e-02, 1.60792071e-03], [ 3.57902609e-02, 1.44037079e-03], [ 3.60902805e-02, 1.28383451e-03], [ 3.63903000e-02, 1.13783572e-03], [ 3.66903195e-02, 1.00195473e-03], [ 3.69903391e-02, 8.75820795e-04], [ 3.72903586e-02, 7.59105780e-04], [ 3.75903781e-02, 6.51519075e-04], [ 3.78903977e-02, 5.52803299e-04], [ 3.81904172e-02, 4.62730744e-04], [ 3.84904367e-02, 3.81100396e-04], [ 3.87904563e-02, 3.07735434e-04], [ 3.90904758e-02, 2.42481133e-04], [ 3.93904953e-02, 1.85203103e-04], [ 3.96905149e-02, 1.35785821e-04], [ 3.99905344e-02, 9.41314051e-05], [ 4.02905539e-02, 6.01586074e-05], [ 4.05905735e-02, 3.38020023e-05], [ 4.08905930e-02, 1.50113425e-05], [ 4.11906125e-02, 3.75107461e-06], [ 4.14906321e-02, 0.00000000e+00], [ 5.68006321e-02, 0.00000000e+00]]), groove=DiamondGroove(alpha1=0.5236363668157296, alpha2=0.5236363668157296, classifiers={'diamond', 'generic_elongation'}, contour_line=LineString(height=0.020862195195594648, length=0.12428942750252188, width=0.11360126410252692), depth=0.020862195195594648, flank_angle=0.5236363668157296, ground_width=0.004287509401684611, r1=0.012, r2=0.008, tip_angle=None, tip_depth=0.0221, usable_width=0.07655), max_radius=0.328, min_radius=0.3071378048044054, neutral_angle=-0.08848788138523542, nominal_radius=0.328, roll_power=183538.53239369372, roll_torque=9543.742668240164, rotational_frequency=3.060755690269962, surface_velocity=1.0039278664085476, temperature=293.15, working_radius=0.32030304866385906), roll_force=343556.1708150464, roll_torque_loss_function=0.6313372329443294, rotation=True, spread=1.0727233010180357, strain=0.19349552465258638, strain_rate=2.7422681078095614, target_cross_section_area=0.0019161997939107886, target_filling_ratio=1.0, target_width=0.07655, temperature_change=0.09786265688877371, temperature_change_by_contact=-3.9580878041024947, temperature_change_by_deformation=4.055950460991268, usable_cross_section=Polygon(area=0.0019161997939107886, height=0.0447243903911893, perimeter=0.18207551252845486, width=0.07655), usable_width=0.07655, velocity=1, volume=0.00013433192769727247, wusatowski_exponent=0.40040229722506016, wusatowski_friction_coefficient=1, wusatowski_material_coefficient=1, wusatowski_temperature_coefficient=1, wusatowski_velocity_coefficient=0.9868101140877441, zouhar_contact_c1=1, zouhar_contact_c2=0.3, zouhar_contact_c3=1, zouhar_contact_in_width=0.0), RollPass(abs_draught=-0.011744216506831176, back_tension=0, contact_area=0.004950223105496217, deformation_heat_efficiency=0.95, deformation_resistance=125402777.9593291, disk_element_count=0, disk_elements=[], displaced_cross_section=MultiPolygon(area=0.00042201829248566223, height=0.06560167360406856, perimeter=0.22098420234368976, width=0.03593413764470279), draught=0.7580237803992556, duration=0.06835401559893399, elongation=1.2259716740315594, elongation_efficiency=0.8067231586565428, entry_angle=-0.21600502011964234, entry_point=-0.06835401559893399, front_tension=0, gap=0.003, height=0.050057753507371086, in_profile=InProfile(classifiers={'vertical', 'diamond', 'generic_elongation', 'rotated'}, cross_section=Polygon(area=0.001847065231720061, height=0.06560167360406856, perimeter=0.1684260697843319, width=0.0447243903911893), cross_section_error=-0.0360789946906479, cross_section_filling_ratio=0.9639210053093521, density=7500.0, equivalent_height=0.04853458958160799, equivalent_rectangle=Polygon(area=0.0021706799319239846, height=0.04853458958160799, perimeter=0.18651795994559456, width=0.0447243903911893), equivalent_width=0.0447243903911893, filling_error=-0.143021899359, filling_ratio=0.856978100641, flow_stress=99988958.48904896, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), height=0.06560167360406856, lendl_section=Polygon(area=0.0017440486225546593, height=0.06560167360406856, perimeter=0.16410918845670697, width=0.03593413764470279), length=0.0, material='C45', specific_heat_capacity=690, strain=0.19349552465258638, t=0.07056039637464354, temperature=1373.2478626568889, width=0.0447243903911893), inverse_forming_efficiency=1.3106015489921357, iteration_precision=0.001, label='Square II', lendl_width=0.03593413764470279, length=0.06835401559893399, log_draught=-0.27704052127348916, log_elongation=0.20373373286828342, log_spread=0.13785440778681535, max_iteration_count=100, orientation=0, out_profile=OutProfile(classifiers={'square', 'diamond', 'generic_elongation'}, cross_section=Polygon(area=0.0015066133017951875, height=0.050057753507371086, perimeter=0.14836106149239386, width=0.05133503214495572), cross_section_error=-0.004275947072762465, cross_section_filling_ratio=0.9957240529272375, density=7500.0, equivalent_height=0.03679037307477681, equivalent_rectangle=Polygon(area=0.0018886349844185809, height=0.03679037307477681, perimeter=0.17625081043946506, width=0.05133503214495572), equivalent_width=0.05133503214495572, filling_error=-0.025900718312035664, filling_ratio=0.9740992816879643, flow_stress=93527611.37967633, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), lendl_section=Polygon(area=0.0013220303300689974, height=0.050057753507371086, perimeter=0.13492042233024093, width=0.03593413764470279), length=0.0, material='C45', specific_heat_capacity=690, strain=0.4959992128749343, t=0.1389144119735775, temperature=1376.3798098531684, width=0.05133503214495572), power=432348.0635871786, reappearing_cross_section=MultiPolygon(area=8.156636256078806e-05, height=0.019511352110814523, perimeter=0.09580292893303596, width=0.05133503214495572), rel_draught=-0.24197621960074442, roll=Roll(contact_area=0.0024751115527481085, contact_heat_transfer_coefficient=6000.0, contact_length=0.06835401559893399, contour_points=array([[-4.01679241e-02, 0.00000000e+00], [-2.96279241e-02, 0.00000000e+00], [-2.93472528e-02, 4.92503864e-06], [-2.90665815e-02, 1.97183915e-05], [-2.87859103e-02, 4.44351087e-05], [-2.85052390e-02, 7.91680863e-05], [-2.82245677e-02, 1.24049839e-04], [-2.79438965e-02, 1.79255089e-04], [-2.76632252e-02, 2.45004304e-04], [-2.73825539e-02, 3.21568336e-04], [-2.71018827e-02, 4.09274431e-04], [-2.68212114e-02, 5.08513914e-04], [-2.65405401e-02, 6.19752025e-04], [-2.62598688e-02, 7.43540544e-04], [-2.59791976e-02, 8.80534094e-04], [-2.56985263e-02, 1.03151143e-03], [-2.54178550e-02, 1.19740355e-03], [-2.51371838e-02, 1.37933151e-03], [-2.48565125e-02, 1.57865814e-03], [-2.45758412e-02, 1.79706048e-03], [-2.42951699e-02, 2.03663407e-03], [-2.40144987e-02, 2.30004780e-03], [-4.21006906e-03, 2.18038409e-02], [-3.99956561e-03, 2.20014012e-02], [-3.78906215e-03, 2.21810814e-02], [-3.57855870e-03, 2.23448832e-02], [-3.36805525e-03, 2.24943781e-02], [-3.15755180e-03, 2.26308241e-02], [-2.94704834e-03, 2.27552432e-02], [-2.73654489e-03, 2.28684762e-02], [-2.52604144e-03, 2.29712213e-02], [-2.31553798e-03, 2.30640627e-02], [-2.10503453e-03, 2.31474913e-02], [-1.89453108e-03, 2.32219209e-02], [-1.68402762e-03, 2.32877005e-02], [-1.47352417e-03, 2.33451235e-02], [-1.26302072e-03, 2.33944354e-02], [-1.05251727e-03, 2.34358394e-02], [-8.42013812e-04, 2.34695007e-02], [-6.31510359e-04, 2.34955504e-02], [-4.21006906e-04, 2.35140880e-02], [-2.10503453e-04, 2.35251830e-02], [ 0.00000000e+00, 2.35288768e-02], [ 2.10503453e-04, 2.35251830e-02], [ 4.21006906e-04, 2.35140880e-02], [ 6.31510359e-04, 2.34955504e-02], [ 8.42013812e-04, 2.34695007e-02], [ 1.05251727e-03, 2.34358394e-02], [ 1.26302072e-03, 2.33944354e-02], [ 1.47352417e-03, 2.33451235e-02], [ 1.68402762e-03, 2.32877005e-02], [ 1.89453108e-03, 2.32219209e-02], [ 2.10503453e-03, 2.31474913e-02], [ 2.31553798e-03, 2.30640627e-02], [ 2.52604144e-03, 2.29712213e-02], [ 2.73654489e-03, 2.28684762e-02], [ 2.94704834e-03, 2.27552432e-02], [ 3.15755180e-03, 2.26308241e-02], [ 3.36805525e-03, 2.24943781e-02], [ 3.57855870e-03, 2.23448832e-02], [ 3.78906215e-03, 2.21810814e-02], [ 3.99956561e-03, 2.20014012e-02], [ 4.21006906e-03, 2.18038409e-02], [ 2.40144987e-02, 2.30004780e-03], [ 2.42951699e-02, 2.03663407e-03], [ 2.45758412e-02, 1.79706048e-03], [ 2.48565125e-02, 1.57865814e-03], [ 2.51371838e-02, 1.37933151e-03], [ 2.54178550e-02, 1.19740355e-03], [ 2.56985263e-02, 1.03151143e-03], [ 2.59791976e-02, 8.80534094e-04], [ 2.62598688e-02, 7.43540544e-04], [ 2.65405401e-02, 6.19752025e-04], [ 2.68212114e-02, 5.08513914e-04], [ 2.71018827e-02, 4.09274431e-04], [ 2.73825539e-02, 3.21568336e-04], [ 2.76632252e-02, 2.45004304e-04], [ 2.79438965e-02, 1.79255089e-04], [ 2.82245677e-02, 1.24049839e-04], [ 2.85052390e-02, 7.91680863e-05], [ 2.87859103e-02, 4.44351087e-05], [ 2.90665815e-02, 1.97183915e-05], [ 2.93472528e-02, 4.92503864e-06], [ 2.96279241e-02, 0.00000000e+00], [ 4.01679241e-02, 0.00000000e+00]]), groove=SquareGroove(alpha1=0.7777501289619068, alpha2=0.7777501289619068, classifiers={'square', 'diamond', 'generic_elongation'}, contour_line=LineString(height=0.02352887675368554, length=0.09844743716085605, width=0.08033584817370697), depth=0.02352887675368554, flank_angle=0.7777501289619068, ground_width=0.004916886130280233, r1=0.008, r2=0.006, tip_angle=None, tip_depth=0.02595, usable_width=0.0527), max_radius=0.328, min_radius=0.3044711232463145, neutral_angle=-0.08152457585776207, nominal_radius=0.328, roll_power=216174.0317935893, roll_torque=11247.413973323984, rotational_frequency=3.0589401092246282, surface_velocity=1.0033323558256781, temperature=293.15, working_radius=0.3189206845252471), roll_force=310385.8644738413, roll_torque_loss_function=0.6387774455422222, rotation=True, spread=1.147808426139414, strain=0.3025036882223479, strain_rate=4.425543774886367, target_cross_section_area=0.001513083165326813, target_filling_ratio=1.0, target_width=0.0527, temperature_change=3.131947196279585, temperature_change_by_contact=-3.8319296546815655, temperature_change_by_deformation=6.96387685096115, usable_cross_section=Polygon(area=0.001513083165326813, height=0.050057753507371086, perimeter=0.15003905934753262, width=0.0527), usable_width=0.0527, velocity=1, volume=0.00011074015464206036, wusatowski_exponent=0.5257255955465194, wusatowski_friction_coefficient=1, wusatowski_material_coefficient=1, wusatowski_temperature_coefficient=1, wusatowski_velocity_coefficient=0.992237400557715, zouhar_contact_c1=1, zouhar_contact_c2=0.28, zouhar_contact_c3=1, zouhar_contact_in_width=0.009321567951667805)]

We can pick a single roll pass from the sequence by using an index, which give us the same object as referenced by pass2. Note the zero-based indexing in Python.

sequence[1]
2024-04-19T06:30:57.462969 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass 'Square II'
abs_draught-0.011744216506831176
back_tension0
contact_area0.004950223105496217
deformation_heat_efficiency0.95
deformation_resistance125402777.9593291
disk_element_count0
disk_elements[]
displaced_cross_section
MultiPolygon
area0.00042201829248566223
height0.06560167360406856
perimeter0.22098420234368976
width0.03593413764470279
draught0.7580237803992556
duration0.06835401559893399
elongation1.2259716740315594
elongation_efficiency0.8067231586565428
entry_angle-0.21600502011964234
entry_point-0.06835401559893399
front_tension0
gap0.003
height0.050057753507371086
in_profile
2024-04-19T06:30:56.944687 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass.InProfile
classifiers{'vertical', 'diamond', 'generic_elongation', 'rotated'}
cross_section
Polygon
area0.001847065231720061
height0.06560167360406856
perimeter0.1684260697843319
width0.0447243903911893
cross_section_error-0.0360789946906479
cross_section_filling_ratio0.9639210053093521
density7500.0
equivalent_height0.04853458958160799
equivalent_rectangle
Polygon
area0.0021706799319239846
height0.04853458958160799
perimeter0.18651795994559456
width0.0447243903911893
equivalent_width0.0447243903911893
filling_error-0.143021899359
filling_ratio0.856978100641
flow_stress99988958.48904896
freiberg_flow_stress_coefficientsFreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1)
height0.06560167360406856
lendl_section
Polygon
area0.0017440486225546593
height0.06560167360406856
perimeter0.16410918845670697
width0.03593413764470279
length0.0
material'C45'
specific_heat_capacity690
strain0.19349552465258638
t0.07056039637464354
temperature1373.2478626568889
width0.0447243903911893
inverse_forming_efficiency1.3106015489921357
iteration_precision0.001
label'Square II'
lendl_width0.03593413764470279
length0.06835401559893399
log_draught-0.27704052127348916
log_elongation0.20373373286828342
log_spread0.13785440778681535
max_iteration_count100
orientation0
out_profile
2024-04-19T06:30:57.051901 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass.OutProfile
classifiers{'square', 'diamond', 'generic_elongation'}
cross_section
Polygon
area0.0015066133017951875
height0.050057753507371086
perimeter0.14836106149239386
width0.05133503214495572
cross_section_error-0.004275947072762465
cross_section_filling_ratio0.9957240529272375
density7500.0
equivalent_height0.03679037307477681
equivalent_rectangle
Polygon
area0.0018886349844185809
height0.03679037307477681
perimeter0.17625081043946506
width0.05133503214495572
equivalent_width0.05133503214495572
filling_error-0.025900718312035664
filling_ratio0.9740992816879643
flow_stress93527611.37967633
freiberg_flow_stress_coefficientsFreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1)
lendl_section
Polygon
area0.0013220303300689974
height0.050057753507371086
perimeter0.13492042233024093
width0.03593413764470279
length0.0
material'C45'
specific_heat_capacity690
strain0.4959992128749343
t0.1389144119735775
temperature1376.3798098531684
width0.05133503214495572
power432348.0635871786
reappearing_cross_section
MultiPolygon
area8.156636256078806e-05
height0.019511352110814523
perimeter0.09580292893303596
width0.05133503214495572
rel_draught-0.24197621960074442
roll
RollPass.Roll
contact_area0.0024751115527481085
contact_heat_transfer_coefficient6000.0
contact_length0.06835401559893399
contour_pointsarray([[-4.01679241e-02, 0.00000000e+00], [-2.96279241e-02, 0.00000000e+00], [-2.93472528e-02, 4.92503864e-06], [-2.90665815e-02, 1.97183915e-05], [-2.87859103e-02, 4.44351087e-05], [-2.85052390e-02, 7.91680863e-05], [-2.82245677e-02, 1.24049839e-04], [-2.79438965e-02, 1.79255089e-04], [-2.76632252e-02, 2.45004304e-04], [-2.73825539e-02, 3.21568336e-04], [-2.71018827e-02, 4.09274431e-04], [-2.68212114e-02, 5.08513914e-04], [-2.65405401e-02, 6.19752025e-04], [-2.62598688e-02, 7.43540544e-04], [-2.59791976e-02, 8.80534094e-04], [-2.56985263e-02, 1.03151143e-03], [-2.54178550e-02, 1.19740355e-03], [-2.51371838e-02, 1.37933151e-03], [-2.48565125e-02, 1.57865814e-03], [-2.45758412e-02, 1.79706048e-03], [-2.42951699e-02, 2.03663407e-03], [-2.40144987e-02, 2.30004780e-03], [-4.21006906e-03, 2.18038409e-02], [-3.99956561e-03, 2.20014012e-02], [-3.78906215e-03, 2.21810814e-02], [-3.57855870e-03, 2.23448832e-02], [-3.36805525e-03, 2.24943781e-02], [-3.15755180e-03, 2.26308241e-02], [-2.94704834e-03, 2.27552432e-02], [-2.73654489e-03, 2.28684762e-02], [-2.52604144e-03, 2.29712213e-02], [-2.31553798e-03, 2.30640627e-02], [-2.10503453e-03, 2.31474913e-02], [-1.89453108e-03, 2.32219209e-02], [-1.68402762e-03, 2.32877005e-02], [-1.47352417e-03, 2.33451235e-02], [-1.26302072e-03, 2.33944354e-02], [-1.05251727e-03, 2.34358394e-02], [-8.42013812e-04, 2.34695007e-02], [-6.31510359e-04, 2.34955504e-02], [-4.21006906e-04, 2.35140880e-02], [-2.10503453e-04, 2.35251830e-02], [ 0.00000000e+00, 2.35288768e-02], [ 2.10503453e-04, 2.35251830e-02], [ 4.21006906e-04, 2.35140880e-02], [ 6.31510359e-04, 2.34955504e-02], [ 8.42013812e-04, 2.34695007e-02], [ 1.05251727e-03, 2.34358394e-02], [ 1.26302072e-03, 2.33944354e-02], [ 1.47352417e-03, 2.33451235e-02], [ 1.68402762e-03, 2.32877005e-02], [ 1.89453108e-03, 2.32219209e-02], [ 2.10503453e-03, 2.31474913e-02], [ 2.31553798e-03, 2.30640627e-02], [ 2.52604144e-03, 2.29712213e-02], [ 2.73654489e-03, 2.28684762e-02], [ 2.94704834e-03, 2.27552432e-02], [ 3.15755180e-03, 2.26308241e-02], [ 3.36805525e-03, 2.24943781e-02], [ 3.57855870e-03, 2.23448832e-02], [ 3.78906215e-03, 2.21810814e-02], [ 3.99956561e-03, 2.20014012e-02], [ 4.21006906e-03, 2.18038409e-02], [ 2.40144987e-02, 2.30004780e-03], [ 2.42951699e-02, 2.03663407e-03], [ 2.45758412e-02, 1.79706048e-03], [ 2.48565125e-02, 1.57865814e-03], [ 2.51371838e-02, 1.37933151e-03], [ 2.54178550e-02, 1.19740355e-03], [ 2.56985263e-02, 1.03151143e-03], [ 2.59791976e-02, 8.80534094e-04], [ 2.62598688e-02, 7.43540544e-04], [ 2.65405401e-02, 6.19752025e-04], [ 2.68212114e-02, 5.08513914e-04], [ 2.71018827e-02, 4.09274431e-04], [ 2.73825539e-02, 3.21568336e-04], [ 2.76632252e-02, 2.45004304e-04], [ 2.79438965e-02, 1.79255089e-04], [ 2.82245677e-02, 1.24049839e-04], [ 2.85052390e-02, 7.91680863e-05], [ 2.87859103e-02, 4.44351087e-05], [ 2.90665815e-02, 1.97183915e-05], [ 2.93472528e-02, 4.92503864e-06], [ 2.96279241e-02, 0.00000000e+00], [ 4.01679241e-02, 0.00000000e+00]])
groove
2024-04-19T06:30:57.153211 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
SquareGroove
alpha10.7777501289619068
alpha20.7777501289619068
classifiers{'square', 'diamond', 'generic_elongation'}
contour_line
LineString
height0.02352887675368554
length0.09844743716085605
width0.08033584817370697
depth0.02352887675368554
flank_angle0.7777501289619068
ground_width0.004916886130280233
r10.008
r20.006
tip_angleNone
tip_depth0.02595
usable_width0.0527
max_radius0.328
min_radius0.3044711232463145
neutral_angle-0.08152457585776207
nominal_radius0.328
roll_power216174.0317935893
roll_torque11247.413973323984
rotational_frequency3.0589401092246282
surface_velocity1.0033323558256781
temperature293.15
working_radius0.3189206845252471
roll_force310385.8644738413
roll_torque_loss_function0.6387774455422222
rotationTrue
spread1.147808426139414
strain0.3025036882223479
strain_rate4.425543774886367
target_cross_section_area0.001513083165326813
target_filling_ratio1.0
target_width0.0527
temperature_change3.131947196279585
temperature_change_by_contact-3.8319296546815655
temperature_change_by_deformation6.96387685096115
usable_cross_section
Polygon
area0.001513083165326813
height0.050057753507371086
perimeter0.15003905934753262
width0.0527
usable_width0.0527
velocity1
volume0.00011074015464206036
wusatowski_exponent0.5257255955465194
wusatowski_friction_coefficient1
wusatowski_material_coefficient1
wusatowski_temperature_coefficient1
wusatowski_velocity_coefficient0.992237400557715
zouhar_contact_c11
zouhar_contact_c20.28
zouhar_contact_c31
zouhar_contact_in_width0.009321567951667805

Also, we can index by label, which is especially useful in larger pass sequences.

sequence["Square II"]
2024-04-19T06:30:58.116857 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass 'Square II'
abs_draught-0.011744216506831176
back_tension0
contact_area0.004950223105496217
deformation_heat_efficiency0.95
deformation_resistance125402777.9593291
disk_element_count0
disk_elements[]
displaced_cross_section
MultiPolygon
area0.00042201829248566223
height0.06560167360406856
perimeter0.22098420234368976
width0.03593413764470279
draught0.7580237803992556
duration0.06835401559893399
elongation1.2259716740315594
elongation_efficiency0.8067231586565428
entry_angle-0.21600502011964234
entry_point-0.06835401559893399
front_tension0
gap0.003
height0.050057753507371086
in_profile
2024-04-19T06:30:57.598246 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass.InProfile
classifiers{'vertical', 'diamond', 'generic_elongation', 'rotated'}
cross_section
Polygon
area0.001847065231720061
height0.06560167360406856
perimeter0.1684260697843319
width0.0447243903911893
cross_section_error-0.0360789946906479
cross_section_filling_ratio0.9639210053093521
density7500.0
equivalent_height0.04853458958160799
equivalent_rectangle
Polygon
area0.0021706799319239846
height0.04853458958160799
perimeter0.18651795994559456
width0.0447243903911893
equivalent_width0.0447243903911893
filling_error-0.143021899359
filling_ratio0.856978100641
flow_stress99988958.48904896
freiberg_flow_stress_coefficientsFreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1)
height0.06560167360406856
lendl_section
Polygon
area0.0017440486225546593
height0.06560167360406856
perimeter0.16410918845670697
width0.03593413764470279
length0.0
material'C45'
specific_heat_capacity690
strain0.19349552465258638
t0.07056039637464354
temperature1373.2478626568889
width0.0447243903911893
inverse_forming_efficiency1.3106015489921357
iteration_precision0.001
label'Square II'
lendl_width0.03593413764470279
length0.06835401559893399
log_draught-0.27704052127348916
log_elongation0.20373373286828342
log_spread0.13785440778681535
max_iteration_count100
orientation0
out_profile
2024-04-19T06:30:57.703614 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
RollPass.OutProfile
classifiers{'square', 'diamond', 'generic_elongation'}
cross_section
Polygon
area0.0015066133017951875
height0.050057753507371086
perimeter0.14836106149239386
width0.05133503214495572
cross_section_error-0.004275947072762465
cross_section_filling_ratio0.9957240529272375
density7500.0
equivalent_height0.03679037307477681
equivalent_rectangle
Polygon
area0.0018886349844185809
height0.03679037307477681
perimeter0.17625081043946506
width0.05133503214495572
equivalent_width0.05133503214495572
filling_error-0.025900718312035664
filling_ratio0.9740992816879643
flow_stress93527611.37967633
freiberg_flow_stress_coefficientsFreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1)
lendl_section
Polygon
area0.0013220303300689974
height0.050057753507371086
perimeter0.13492042233024093
width0.03593413764470279
length0.0
material'C45'
specific_heat_capacity690
strain0.4959992128749343
t0.1389144119735775
temperature1376.3798098531684
width0.05133503214495572
power432348.0635871786
reappearing_cross_section
MultiPolygon
area8.156636256078806e-05
height0.019511352110814523
perimeter0.09580292893303596
width0.05133503214495572
rel_draught-0.24197621960074442
roll
RollPass.Roll
contact_area0.0024751115527481085
contact_heat_transfer_coefficient6000.0
contact_length0.06835401559893399
contour_pointsarray([[-4.01679241e-02, 0.00000000e+00], [-2.96279241e-02, 0.00000000e+00], [-2.93472528e-02, 4.92503864e-06], [-2.90665815e-02, 1.97183915e-05], [-2.87859103e-02, 4.44351087e-05], [-2.85052390e-02, 7.91680863e-05], [-2.82245677e-02, 1.24049839e-04], [-2.79438965e-02, 1.79255089e-04], [-2.76632252e-02, 2.45004304e-04], [-2.73825539e-02, 3.21568336e-04], [-2.71018827e-02, 4.09274431e-04], [-2.68212114e-02, 5.08513914e-04], [-2.65405401e-02, 6.19752025e-04], [-2.62598688e-02, 7.43540544e-04], [-2.59791976e-02, 8.80534094e-04], [-2.56985263e-02, 1.03151143e-03], [-2.54178550e-02, 1.19740355e-03], [-2.51371838e-02, 1.37933151e-03], [-2.48565125e-02, 1.57865814e-03], [-2.45758412e-02, 1.79706048e-03], [-2.42951699e-02, 2.03663407e-03], [-2.40144987e-02, 2.30004780e-03], [-4.21006906e-03, 2.18038409e-02], [-3.99956561e-03, 2.20014012e-02], [-3.78906215e-03, 2.21810814e-02], [-3.57855870e-03, 2.23448832e-02], [-3.36805525e-03, 2.24943781e-02], [-3.15755180e-03, 2.26308241e-02], [-2.94704834e-03, 2.27552432e-02], [-2.73654489e-03, 2.28684762e-02], [-2.52604144e-03, 2.29712213e-02], [-2.31553798e-03, 2.30640627e-02], [-2.10503453e-03, 2.31474913e-02], [-1.89453108e-03, 2.32219209e-02], [-1.68402762e-03, 2.32877005e-02], [-1.47352417e-03, 2.33451235e-02], [-1.26302072e-03, 2.33944354e-02], [-1.05251727e-03, 2.34358394e-02], [-8.42013812e-04, 2.34695007e-02], [-6.31510359e-04, 2.34955504e-02], [-4.21006906e-04, 2.35140880e-02], [-2.10503453e-04, 2.35251830e-02], [ 0.00000000e+00, 2.35288768e-02], [ 2.10503453e-04, 2.35251830e-02], [ 4.21006906e-04, 2.35140880e-02], [ 6.31510359e-04, 2.34955504e-02], [ 8.42013812e-04, 2.34695007e-02], [ 1.05251727e-03, 2.34358394e-02], [ 1.26302072e-03, 2.33944354e-02], [ 1.47352417e-03, 2.33451235e-02], [ 1.68402762e-03, 2.32877005e-02], [ 1.89453108e-03, 2.32219209e-02], [ 2.10503453e-03, 2.31474913e-02], [ 2.31553798e-03, 2.30640627e-02], [ 2.52604144e-03, 2.29712213e-02], [ 2.73654489e-03, 2.28684762e-02], [ 2.94704834e-03, 2.27552432e-02], [ 3.15755180e-03, 2.26308241e-02], [ 3.36805525e-03, 2.24943781e-02], [ 3.57855870e-03, 2.23448832e-02], [ 3.78906215e-03, 2.21810814e-02], [ 3.99956561e-03, 2.20014012e-02], [ 4.21006906e-03, 2.18038409e-02], [ 2.40144987e-02, 2.30004780e-03], [ 2.42951699e-02, 2.03663407e-03], [ 2.45758412e-02, 1.79706048e-03], [ 2.48565125e-02, 1.57865814e-03], [ 2.51371838e-02, 1.37933151e-03], [ 2.54178550e-02, 1.19740355e-03], [ 2.56985263e-02, 1.03151143e-03], [ 2.59791976e-02, 8.80534094e-04], [ 2.62598688e-02, 7.43540544e-04], [ 2.65405401e-02, 6.19752025e-04], [ 2.68212114e-02, 5.08513914e-04], [ 2.71018827e-02, 4.09274431e-04], [ 2.73825539e-02, 3.21568336e-04], [ 2.76632252e-02, 2.45004304e-04], [ 2.79438965e-02, 1.79255089e-04], [ 2.82245677e-02, 1.24049839e-04], [ 2.85052390e-02, 7.91680863e-05], [ 2.87859103e-02, 4.44351087e-05], [ 2.90665815e-02, 1.97183915e-05], [ 2.93472528e-02, 4.92503864e-06], [ 2.96279241e-02, 0.00000000e+00], [ 4.01679241e-02, 0.00000000e+00]])
groove
2024-04-19T06:30:57.807983 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
SquareGroove
alpha10.7777501289619068
alpha20.7777501289619068
classifiers{'square', 'diamond', 'generic_elongation'}
contour_line
LineString
height0.02352887675368554
length0.09844743716085605
width0.08033584817370697
depth0.02352887675368554
flank_angle0.7777501289619068
ground_width0.004916886130280233
r10.008
r20.006
tip_angleNone
tip_depth0.02595
usable_width0.0527
max_radius0.328
min_radius0.3044711232463145
neutral_angle-0.08152457585776207
nominal_radius0.328
roll_power216174.0317935893
roll_torque11247.413973323984
rotational_frequency3.0589401092246282
surface_velocity1.0033323558256781
temperature293.15
working_radius0.3189206845252471
roll_force310385.8644738413
roll_torque_loss_function0.6387774455422222
rotationTrue
spread1.147808426139414
strain0.3025036882223479
strain_rate4.425543774886367
target_cross_section_area0.001513083165326813
target_filling_ratio1.0
target_width0.0527
temperature_change3.131947196279585
temperature_change_by_contact-3.8319296546815655
temperature_change_by_deformation6.96387685096115
usable_cross_section
Polygon
area0.001513083165326813
height0.050057753507371086
perimeter0.15003905934753262
width0.0527
usable_width0.0527
velocity1
volume0.00011074015464206036
wusatowski_exponent0.5257255955465194
wusatowski_friction_coefficient1
wusatowski_material_coefficient1
wusatowski_temperature_coefficient1
wusatowski_velocity_coefficient0.992237400557715
zouhar_contact_c11
zouhar_contact_c20.28
zouhar_contact_c31
zouhar_contact_in_width0.009321567951667805

Adding Interstand-Space

In reality, two passes are not aligned directly to each other, there is always some space between where the workpiece cools down and the microstructure evolves. We can model this by adding a transport.

We assume here a continuous rolling line with a space of 400mm between the passes.

transport = pr.Transport(
    label="I->II",
    length=400e-3,
)
transport
Transport 'I->II'
disk_elements[]
in_profileNone
label'I->II'
length0.4
out_profileNone

Lets create now a second sequence with a transport between the roll passes. We copy the passes using deepcopy to keep the solution information of the previous simulation.

from copy import deepcopy

sequence2 = pr.PassSequence([
    deepcopy(pass1),
    transport,
    deepcopy(pass2)
])
sequence2
PassSequence
in_profileNone
label''
out_profileNone
units[RollPass(abs_draught=-0.008297025563206266, back_tension=0, contact_area=0.006017544120045988, deformation_heat_efficiency=0.95, deformation_resistance=114184844.83414835, disk_element_count=0, disk_elements=[], displaced_cross_section=MultiPolygon(area=0.00032276382739222846, height=0.061154328932550704, perimeter=0.1955694335652799, width=0.03890114896397893), draught=0.8118125462066977, duration=0.07056039637464354, elongation=1.0921265268668339, elongation_efficiency=0.5272081015697767, entry_angle=-0.2221144454231247, entry_point=-0.07056039637464354, front_tension=0, gap=0.003, height=0.0447243903911893, in_profile=InProfile(classifiers={'vertical', 'square', 'diamond', 'rotated'}, cross_section=Polygon(area=0.0020172289364149133, height=0.061154328932550704, perimeter=0.17484198694172845, width=0.061154328932550704), density=7500.0, equivalent_height=0.04408915363889982, equivalent_rectangle=Polygon(area=0.0026962426039910444, height=0.04408915363889982, perimeter=0.21048696514290105, width=0.061154328932550704), equivalent_width=0.061154328932550704, flow_stress=80925543.43597992, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), height=0.061154328932550704, lendl_section=Polygon(area=0.0017151187334025954, height=0.061154328932550704, perimeter=0.15692698106999506, width=0.03890114896397893), length=0, material='C45', specific_heat_capacity=690, strain=0, t=0, temperature=1373.15, width=0.061154328932550704), inverse_forming_efficiency=1.2871314892268648, iteration_precision=0.001, label='Diamond I', lendl_width=0.03890114896397893, length=0.07056039637464354, log_draught=-0.20848581989669276, log_elongation=0.08812673770481022, log_spread=0.07020055622558032, max_iteration_count=100, orientation=0, out_profile=OutProfile(classifiers={'diamond', 'generic_elongation'}, cross_section=Polygon(area=0.0018470652317200606, height=0.0447243903911893, perimeter=0.1684260697843319, width=0.06560167360406856), cross_section_error=-0.0360789946906479, cross_section_filling_ratio=0.9639210053093521, density=7500.0, equivalent_height=0.035792128075693555, equivalent_rectangle=Polygon(area=0.002348023503616667, height=0.035792128075693555, perimeter=0.20278760335952423, width=0.06560167360406856), equivalent_width=0.06560167360406856, filling_error=-0.143021899359, filling_ratio=0.856978100641, flow_stress=92605866.9587439, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), lendl_section=Polygon(area=0.0013923549060103674, height=0.0447243903911893, perimeter=0.13759629786652613, width=0.03890114896397893), length=0.0, material='C45', specific_heat_capacity=690, strain=0.19349552465258638, t=0.07056039637464354, temperature=1373.2478626568889, width=0.06560167360406856), power=367077.06478738744, reappearing_cross_section=MultiPolygon(area=0.0001526001226973766, height=0.02473846134281035, perimeter=0.14769862316078058, width=0.06560167360406856), rel_draught=-0.1881874537933023, roll=Roll(contact_area=0.003008772060022994, contact_heat_transfer_coefficient=6000.0, contact_length=0.07056039637464354, contour_points=array([[-5.68006321e-02, 0.00000000e+00], [-4.14906321e-02, 0.00000000e+00], [-4.11906125e-02, 3.75107461e-06], [-4.08905930e-02, 1.50113425e-05], [-4.05905735e-02, 3.38020023e-05], [-4.02905539e-02, 6.01586074e-05], [-3.99905344e-02, 9.41314051e-05], [-3.96905149e-02, 1.35785821e-04], [-3.93904953e-02, 1.85203103e-04], [-3.90904758e-02, 2.42481133e-04], [-3.87904563e-02, 3.07735434e-04], [-3.84904367e-02, 3.81100396e-04], [-3.81904172e-02, 4.62730744e-04], [-3.78903977e-02, 5.52803299e-04], [-3.75903781e-02, 6.51519075e-04], [-3.72903586e-02, 7.59105780e-04], [-3.69903391e-02, 8.75820795e-04], [-3.66903195e-02, 1.00195473e-03], [-3.63903000e-02, 1.13783572e-03], [-3.60902805e-02, 1.28383451e-03], [-3.57902609e-02, 1.44037079e-03], [-3.54902414e-02, 1.60792071e-03], [-4.00026044e-03, 1.97902481e-02], [-3.80024741e-03, 1.99019480e-02], [-3.60023439e-03, 2.00063055e-02], [-3.40022137e-03, 2.01036381e-02], [-3.20020835e-03, 2.01942254e-02], [-3.00019533e-03, 2.02783147e-02], [-2.80018231e-03, 2.03561247e-02], [-2.60016928e-03, 2.04278491e-02], [-2.40015626e-03, 2.04936597e-02], [-2.20014324e-03, 2.05537080e-02], [-2.00013022e-03, 2.06081283e-02], [-1.80011720e-03, 2.06570382e-02], [-1.60010417e-03, 2.07005411e-02], [-1.40009115e-03, 2.07387265e-02], [-1.20007813e-03, 2.07716713e-02], [-1.00006511e-03, 2.07994409e-02], [-8.00052087e-04, 2.08220895e-02], [-6.00039066e-04, 2.08396605e-02], [-4.00026044e-04, 2.08521876e-02], [-2.00013022e-04, 2.08596945e-02], [ 0.00000000e+00, 2.08621952e-02], [ 2.00013022e-04, 2.08596945e-02], [ 4.00026044e-04, 2.08521876e-02], [ 6.00039066e-04, 2.08396605e-02], [ 8.00052087e-04, 2.08220895e-02], [ 1.00006511e-03, 2.07994409e-02], [ 1.20007813e-03, 2.07716713e-02], [ 1.40009115e-03, 2.07387265e-02], [ 1.60010417e-03, 2.07005411e-02], [ 1.80011720e-03, 2.06570382e-02], [ 2.00013022e-03, 2.06081283e-02], [ 2.20014324e-03, 2.05537080e-02], [ 2.40015626e-03, 2.04936597e-02], [ 2.60016928e-03, 2.04278491e-02], [ 2.80018231e-03, 2.03561247e-02], [ 3.00019533e-03, 2.02783147e-02], [ 3.20020835e-03, 2.01942254e-02], [ 3.40022137e-03, 2.01036381e-02], [ 3.60023439e-03, 2.00063055e-02], [ 3.80024741e-03, 1.99019480e-02], [ 4.00026044e-03, 1.97902481e-02], [ 3.54902414e-02, 1.60792071e-03], [ 3.57902609e-02, 1.44037079e-03], [ 3.60902805e-02, 1.28383451e-03], [ 3.63903000e-02, 1.13783572e-03], [ 3.66903195e-02, 1.00195473e-03], [ 3.69903391e-02, 8.75820795e-04], [ 3.72903586e-02, 7.59105780e-04], [ 3.75903781e-02, 6.51519075e-04], [ 3.78903977e-02, 5.52803299e-04], [ 3.81904172e-02, 4.62730744e-04], [ 3.84904367e-02, 3.81100396e-04], [ 3.87904563e-02, 3.07735434e-04], [ 3.90904758e-02, 2.42481133e-04], [ 3.93904953e-02, 1.85203103e-04], [ 3.96905149e-02, 1.35785821e-04], [ 3.99905344e-02, 9.41314051e-05], [ 4.02905539e-02, 6.01586074e-05], [ 4.05905735e-02, 3.38020023e-05], [ 4.08905930e-02, 1.50113425e-05], [ 4.11906125e-02, 3.75107461e-06], [ 4.14906321e-02, 0.00000000e+00], [ 5.68006321e-02, 0.00000000e+00]]), groove=DiamondGroove(alpha1=0.5236363668157296, alpha2=0.5236363668157296, classifiers={'diamond', 'generic_elongation'}, contour_line=LineString(height=0.020862195195594648, length=0.12428942750252188, width=0.11360126410252692), depth=0.020862195195594648, flank_angle=0.5236363668157296, ground_width=0.004287509401684611, r1=0.012, r2=0.008, tip_angle=None, tip_depth=0.0221, usable_width=0.07655), max_radius=0.328, min_radius=0.3071378048044054, neutral_angle=-0.08848788138523542, nominal_radius=0.328, roll_power=183538.53239369372, roll_torque=9543.742668240164, rotational_frequency=3.060755690269962, surface_velocity=1.0039278664085476, temperature=293.15, working_radius=0.32030304866385906), roll_force=343556.1708150464, roll_torque_loss_function=0.6313372329443294, rotation=True, spread=1.0727233010180357, strain=0.19349552465258638, strain_rate=2.7422681078095614, target_cross_section_area=0.0019161997939107886, target_filling_ratio=1.0, target_width=0.07655, temperature_change=0.09786265688877371, temperature_change_by_contact=-3.9580878041024947, temperature_change_by_deformation=4.055950460991268, usable_cross_section=Polygon(area=0.0019161997939107886, height=0.0447243903911893, perimeter=0.18207551252845486, width=0.07655), usable_width=0.07655, velocity=1, volume=0.00013433192769727247, wusatowski_exponent=0.40040229722506016, wusatowski_friction_coefficient=1, wusatowski_material_coefficient=1, wusatowski_temperature_coefficient=1, wusatowski_velocity_coefficient=0.9868101140877441, zouhar_contact_c1=1, zouhar_contact_c2=0.3, zouhar_contact_c3=1, zouhar_contact_in_width=0.0), Transport(disk_elements=[], in_profile=None, label='I->II', length=0.4, out_profile=None), RollPass(abs_draught=-0.011744216506831176, back_tension=0, contact_area=0.004950223105496217, deformation_heat_efficiency=0.95, deformation_resistance=125402777.9593291, disk_element_count=0, disk_elements=[], displaced_cross_section=MultiPolygon(area=0.00042201829248566223, height=0.06560167360406856, perimeter=0.22098420234368976, width=0.03593413764470279), draught=0.7580237803992556, duration=0.06835401559893399, elongation=1.2259716740315594, elongation_efficiency=0.8067231586565428, entry_angle=-0.21600502011964234, entry_point=-0.06835401559893399, front_tension=0, gap=0.003, height=0.050057753507371086, in_profile=InProfile(classifiers={'vertical', 'diamond', 'generic_elongation', 'rotated'}, cross_section=Polygon(area=0.001847065231720061, height=0.06560167360406856, perimeter=0.1684260697843319, width=0.0447243903911893), cross_section_error=-0.0360789946906479, cross_section_filling_ratio=0.9639210053093521, density=7500.0, equivalent_height=0.04853458958160799, equivalent_rectangle=Polygon(area=0.0021706799319239846, height=0.04853458958160799, perimeter=0.18651795994559456, width=0.0447243903911893), equivalent_width=0.0447243903911893, filling_error=-0.143021899359, filling_ratio=0.856978100641, flow_stress=99988958.48904896, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), height=0.06560167360406856, lendl_section=Polygon(area=0.0017440486225546593, height=0.06560167360406856, perimeter=0.16410918845670697, width=0.03593413764470279), length=0.0, material='C45', specific_heat_capacity=690, strain=0.19349552465258638, t=0.07056039637464354, temperature=1373.2478626568889, width=0.0447243903911893), inverse_forming_efficiency=1.3106015489921357, iteration_precision=0.001, label='Square II', lendl_width=0.03593413764470279, length=0.06835401559893399, log_draught=-0.27704052127348916, log_elongation=0.20373373286828342, log_spread=0.13785440778681535, max_iteration_count=100, orientation=0, out_profile=OutProfile(classifiers={'square', 'diamond', 'generic_elongation'}, cross_section=Polygon(area=0.0015066133017951875, height=0.050057753507371086, perimeter=0.14836106149239386, width=0.05133503214495572), cross_section_error=-0.004275947072762465, cross_section_filling_ratio=0.9957240529272375, density=7500.0, equivalent_height=0.03679037307477681, equivalent_rectangle=Polygon(area=0.0018886349844185809, height=0.03679037307477681, perimeter=0.17625081043946506, width=0.05133503214495572), equivalent_width=0.05133503214495572, filling_error=-0.025900718312035664, filling_ratio=0.9740992816879643, flow_stress=93527611.37967633, freiberg_flow_stress_coefficients=FreibergFlowStressCoefficients(a=3268490000.0, m1=-0.00267855, m2=0.34446, m3=0, m4=0.000551814, m5=-0.00132042, m6=0, m7=0.0166334, m8=0.000149907, m9=0, baseStrain=0.1, baseStrainRate=0.1), lendl_section=Polygon(area=0.0013220303300689974, height=0.050057753507371086, perimeter=0.13492042233024093, width=0.03593413764470279), length=0.0, material='C45', specific_heat_capacity=690, strain=0.4959992128749343, t=0.1389144119735775, temperature=1376.3798098531684, width=0.05133503214495572), power=432348.0635871786, reappearing_cross_section=MultiPolygon(area=8.156636256078806e-05, height=0.019511352110814523, perimeter=0.09580292893303596, width=0.05133503214495572), rel_draught=-0.24197621960074442, roll=Roll(contact_area=0.0024751115527481085, contact_heat_transfer_coefficient=6000.0, contact_length=0.06835401559893399, contour_points=array([[-4.01679241e-02, 0.00000000e+00], [-2.96279241e-02, 0.00000000e+00], [-2.93472528e-02, 4.92503864e-06], [-2.90665815e-02, 1.97183915e-05], [-2.87859103e-02, 4.44351087e-05], [-2.85052390e-02, 7.91680863e-05], [-2.82245677e-02, 1.24049839e-04], [-2.79438965e-02, 1.79255089e-04], [-2.76632252e-02, 2.45004304e-04], [-2.73825539e-02, 3.21568336e-04], [-2.71018827e-02, 4.09274431e-04], [-2.68212114e-02, 5.08513914e-04], [-2.65405401e-02, 6.19752025e-04], [-2.62598688e-02, 7.43540544e-04], [-2.59791976e-02, 8.80534094e-04], [-2.56985263e-02, 1.03151143e-03], [-2.54178550e-02, 1.19740355e-03], [-2.51371838e-02, 1.37933151e-03], [-2.48565125e-02, 1.57865814e-03], [-2.45758412e-02, 1.79706048e-03], [-2.42951699e-02, 2.03663407e-03], [-2.40144987e-02, 2.30004780e-03], [-4.21006906e-03, 2.18038409e-02], [-3.99956561e-03, 2.20014012e-02], [-3.78906215e-03, 2.21810814e-02], [-3.57855870e-03, 2.23448832e-02], [-3.36805525e-03, 2.24943781e-02], [-3.15755180e-03, 2.26308241e-02], [-2.94704834e-03, 2.27552432e-02], [-2.73654489e-03, 2.28684762e-02], [-2.52604144e-03, 2.29712213e-02], [-2.31553798e-03, 2.30640627e-02], [-2.10503453e-03, 2.31474913e-02], [-1.89453108e-03, 2.32219209e-02], [-1.68402762e-03, 2.32877005e-02], [-1.47352417e-03, 2.33451235e-02], [-1.26302072e-03, 2.33944354e-02], [-1.05251727e-03, 2.34358394e-02], [-8.42013812e-04, 2.34695007e-02], [-6.31510359e-04, 2.34955504e-02], [-4.21006906e-04, 2.35140880e-02], [-2.10503453e-04, 2.35251830e-02], [ 0.00000000e+00, 2.35288768e-02], [ 2.10503453e-04, 2.35251830e-02], [ 4.21006906e-04, 2.35140880e-02], [ 6.31510359e-04, 2.34955504e-02], [ 8.42013812e-04, 2.34695007e-02], [ 1.05251727e-03, 2.34358394e-02], [ 1.26302072e-03, 2.33944354e-02], [ 1.47352417e-03, 2.33451235e-02], [ 1.68402762e-03, 2.32877005e-02], [ 1.89453108e-03, 2.32219209e-02], [ 2.10503453e-03, 2.31474913e-02], [ 2.31553798e-03, 2.30640627e-02], [ 2.52604144e-03, 2.29712213e-02], [ 2.73654489e-03, 2.28684762e-02], [ 2.94704834e-03, 2.27552432e-02], [ 3.15755180e-03, 2.26308241e-02], [ 3.36805525e-03, 2.24943781e-02], [ 3.57855870e-03, 2.23448832e-02], [ 3.78906215e-03, 2.21810814e-02], [ 3.99956561e-03, 2.20014012e-02], [ 4.21006906e-03, 2.18038409e-02], [ 2.40144987e-02, 2.30004780e-03], [ 2.42951699e-02, 2.03663407e-03], [ 2.45758412e-02, 1.79706048e-03], [ 2.48565125e-02, 1.57865814e-03], [ 2.51371838e-02, 1.37933151e-03], [ 2.54178550e-02, 1.19740355e-03], [ 2.56985263e-02, 1.03151143e-03], [ 2.59791976e-02, 8.80534094e-04], [ 2.62598688e-02, 7.43540544e-04], [ 2.65405401e-02, 6.19752025e-04], [ 2.68212114e-02, 5.08513914e-04], [ 2.71018827e-02, 4.09274431e-04], [ 2.73825539e-02, 3.21568336e-04], [ 2.76632252e-02, 2.45004304e-04], [ 2.79438965e-02, 1.79255089e-04], [ 2.82245677e-02, 1.24049839e-04], [ 2.85052390e-02, 7.91680863e-05], [ 2.87859103e-02, 4.44351087e-05], [ 2.90665815e-02, 1.97183915e-05], [ 2.93472528e-02, 4.92503864e-06], [ 2.96279241e-02, 0.00000000e+00], [ 4.01679241e-02, 0.00000000e+00]]), groove=SquareGroove(alpha1=0.7777501289619068, alpha2=0.7777501289619068, classifiers={'square', 'diamond', 'generic_elongation'}, contour_line=LineString(height=0.02352887675368554, length=0.09844743716085605, width=0.08033584817370697), depth=0.02352887675368554, flank_angle=0.7777501289619068, ground_width=0.004916886130280233, r1=0.008, r2=0.006, tip_angle=None, tip_depth=0.02595, usable_width=0.0527), max_radius=0.328, min_radius=0.3044711232463145, neutral_angle=-0.08152457585776207, nominal_radius=0.328, roll_power=216174.0317935893, roll_torque=11247.413973323984, rotational_frequency=3.0589401092246282, surface_velocity=1.0033323558256781, temperature=293.15, working_radius=0.3189206845252471), roll_force=310385.8644738413, roll_torque_loss_function=0.6387774455422222, rotation=True, spread=1.147808426139414, strain=0.3025036882223479, strain_rate=4.425543774886367, target_cross_section_area=0.001513083165326813, target_filling_ratio=1.0, target_width=0.0527, temperature_change=3.131947196279585, temperature_change_by_contact=-3.8319296546815655, temperature_change_by_deformation=6.96387685096115, usable_cross_section=Polygon(area=0.001513083165326813, height=0.050057753507371086, perimeter=0.15003905934753262, width=0.0527), usable_width=0.0527, velocity=1, volume=0.00011074015464206036, wusatowski_exponent=0.5257255955465194, wusatowski_friction_coefficient=1, wusatowski_material_coefficient=1, wusatowski_temperature_coefficient=1, wusatowski_velocity_coefficient=0.992237400557715, zouhar_contact_c1=1, zouhar_contact_c2=0.28, zouhar_contact_c3=1, zouhar_contact_in_width=0.009321567951667805)]
sequence2.solve(in_profile)
[INFO] pyroll.core.PassSequence: Started solving of PassSequence.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Diamond I'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Diamond I''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Diamond I'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.004 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Diamond I' after 5 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.043 s.
[INFO] pyroll.core.Transport: Started solving of Transport 'I->II'.
[INFO] pyroll.core.Transport: Finished solving of Transport 'I->II' after 2 iterations.
[INFO] pyroll.core.Transport: Solution took 0.004 s.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Square II'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Square II''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Square II'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.003 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Square II' after 4 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.034 s.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Diamond I'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Diamond I''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Diamond I'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.003 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Diamond I' after 5 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.041 s.
[INFO] pyroll.core.Transport: Started solving of Transport 'I->II'.
[INFO] pyroll.core.Transport: Finished solving of Transport 'I->II' after 1 iterations.
[INFO] pyroll.core.Transport: Solution took 0.003 s.
[INFO] pyroll.core.RollPass: Started solving of RollPass 'Square II'.
[INFO] pyroll.core.Rotator: Started solving of Rotator 'Auto-Rotator for RollPass 'Square II''.
[INFO] pyroll.core.Rotator: Finished solving of Rotator 'Auto-Rotator for RollPass 'Square II'' after 2 iterations.
[INFO] pyroll.core.Rotator: Solution took 0.003 s.
[INFO] pyroll.core.RollPass: Finished solving of RollPass 'Square II' after 4 iterations.
[INFO] pyroll.core.RollPass: Solution took 0.034 s.
[INFO] pyroll.core.PassSequence: Finished solving of PassSequence after 2 iterations.
[INFO] pyroll.core.PassSequence: Solution took 0.174 s.
2024-04-19T06:30:58.462965 image/svg+xml Matplotlib v3.8.2, https://matplotlib.org/
Profile
classifiers{'square', 'diamond', 'generic_elongation'}
cross_section
Polygon
area0.0015066133017951875
height0.050057753507371086
perimeter0.14836106149239386
width0.05133503214495572
density7500.0
length0.0
material'C45'
specific_heat_capacity690
strain0.3025036882223479
t0.5389144119735775
temperature1375.0897809466287

We cann now check, that the profile has cooled down in the transport by comparing the ouput profiles of both sequences.

sequence.out_profile.temperature > sequence2.out_profile.temperature
True

We can iterate over all roll passes in the sequence with the .roll_passes property.

[u.label for u in sequence2.roll_passes]
['Diamond I', 'Square II']

And respectively over all transports.

[u.label for u in sequence2.transports]
['I->II']