# Load Case Combination for Principal Stress#

This example shows how to get a principal stress loadcase combination using DPF And highlight min/max values in the plot.

First, import the DPF-Core module as `dpf_core` and import the included examples file and `DpfPlotter`

```from ansys.dpf import core as dpf
from ansys.dpf.core import examples
from ansys.dpf.core.plotter import DpfPlotter
```

Next, open an example and print out the `model` object. The :class:`Model <ansys.dpf.core.model.Model> class helps to organize access methods for the result by keeping track of the operators and data sources used by the result file.

Printing the model displays:

• Analysis type

• Available results

• Size of the mesh

• Number of results

```model = dpf.Model(examples.msup_transient)
print(model)
```

Out:

```DPF Model
------------------------------
Transient analysis
Unit system: MKS: m, kg, N, s, V, A, degC
Physics Type: Mecanic
Available results:
-  displacement: Nodal Displacement
-  velocity: Nodal Velocity
-  acceleration: Nodal Acceleration
-  reaction_force: Nodal Force
-  stress: ElementalNodal Stress
-  elemental_volume: Elemental Volume
-  stiffness_matrix_energy: Elemental Energy-stiffness matrix
-  artificial_hourglass_energy: Elemental Hourglass Energy
-  thermal_dissipation_energy: Elemental thermal dissipation energy
-  kinetic_energy: Elemental Kinetic Energy
-  co_energy: Elemental co-energy
-  incremental_energy: Elemental incremental energy
-  elastic_strain: ElementalNodal Strain
------------------------------
DPF  Meshed Region:
393 nodes
40 elements
Unit: m
With solid (3D) elements
------------------------------
DPF  Time/Freq Support:
Number of sets: 20
Cumulative     Time (s)       LoadStep       Substep
1              0.010000       1              1
2              0.020000       1              2
3              0.030000       1              3
4              0.040000       1              4
5              0.050000       1              5
6              0.060000       1              6
7              0.070000       1              7
8              0.080000       1              8
9              0.090000       1              9
10             0.100000       1              10
11             0.110000       1              11
12             0.120000       1              12
13             0.130000       1              13
14             0.140000       1              14
15             0.150000       1              15
16             0.160000       1              16
17             0.170000       1              17
18             0.180000       1              18
19             0.190000       1              19
20             0.200000       1              20
```

Get the stress tensor and connect time scoping. Make sure to define `"Nodal"` as the requested location, as the labels are supported only for Nodal results.

```stress_tensor = model.results.stress()
time_scope = dpf.Scoping()
time_scope.ids = [1, 2]
stress_tensor.inputs.time_scoping.connect(time_scope)
stress_tensor.inputs.requested_location.connect("Nodal")
```

This code performs solution combination on two load cases. =>LC1 - LC2 You can access individual loadcases as the fields of a fields_container for stress_tensor

LC1: stress_tensor.outputs.fields_container.get_data()[0] LC2: stress_tensor.outputs.fields_container.get_data()[1]

Scale LC2 to -1

```field_lc2 = stress_tensor.outputs.fields_container.get_data()[1]
stress_tensor_lc2_sc = dpf.operators.math.scale(field=field_lc2, ponderation=-1.0)
```

```field_lc1 = stress_tensor.outputs.fields_container.get_data()[0]
fieldA=field_lc1, fieldB=stress_tensor_lc2_sc
)
```

Principal Stresses are the Eigenvalues of the stress tensor. Use `principal_invariants` to get S1, S2 and S3

```p_inv = dpf.operators.invariant.principal_invariants()
p_inv.inputs.field.connect(stress_tensor_combi)
```

Print S1 - Maximum Principal stress

```print(p_inv.outputs.field_eig_1().data)
```

Out:

```[ 9.89969387e+05  9.86979842e+05  6.46045019e+05  6.48932208e+05
1.56976611e+04  2.38335566e+03  2.41021560e+03  1.55569949e+04
6.46045018e+05  9.86979841e+05  2.41021536e+03  2.38335517e+03
1.40298687e+06  1.40006022e+06  1.51284404e+04  2.32609985e+03
1.40006022e+06  2.32609969e+03  1.88584658e+06  1.88308883e+06
1.40245029e+04  2.28989834e+03  1.88308883e+06  2.28989838e+03
2.43323154e+06  2.43097276e+06  1.13710605e+04  1.92191439e+03
2.43097276e+06  1.92191428e+03  3.03740836e+06  3.03544790e+06
8.36913086e+03  5.11051169e+03  3.03544790e+06  5.11051165e+03
3.68414662e+06  3.68923438e+06 -4.49507141e+03 -3.86970389e+03
3.68923438e+06 -3.86970407e+03  4.37493535e+06  4.36801081e+06
4.62750323e+04  6.45366758e+04  4.36801080e+06  6.45366739e+04
5.00024912e+06  5.15363818e+06 -1.72558410e+05 -1.68506344e+05
5.15363818e+06 -1.68506347e+05  5.34040385e+06  6.25295625e+06
9.15169741e+05  5.86694135e+05  6.25295625e+06  5.86694135e+05
8.19942478e+06  5.11230070e+06 -3.42443463e+06 -1.72869110e+06
5.11230070e+06 -1.72869110e+06  3.07108105e+03  4.85742708e+02
2.08121801e+03  4.51329102e+03  1.15257484e+04  1.08729694e+04
1.48084273e+02  6.58067584e+01  2.08121700e+03  4.85743242e+02
1.48084276e+02  1.08729663e+04  3.99734802e+02  2.84198603e+02
3.98308935e+04  3.99596263e+04  2.84199027e+02  3.99596267e+04
8.05592976e+00  7.63702585e+01  7.02630967e+04  7.11528217e+04
7.63704604e+01  7.11528219e+04  4.08416639e+00  8.37761486e+01
8.97598110e+04  9.14268559e+04  8.37761220e+01  9.14268560e+04
5.48381675e+00  1.42362400e+02  8.58241342e+04  8.84204337e+04
1.42362254e+02  8.84204335e+04  1.36280987e+01  1.13419159e+03
4.68127641e+04  5.12948274e+04  1.13419050e+03  5.12948265e+04
3.78823067e+04  3.90599658e+04  1.20048086e+04  5.25881723e+03
3.90599642e+04  5.25881571e+03  1.77336944e+05  1.75477888e+05
1.36475040e+04  2.76759779e+03  1.75477887e+05  2.76759705e+03
3.79160579e+05  3.76590414e+05  1.48577178e+04  2.47204930e+03
3.76590413e+05  2.47204876e+03  9.87954234e+05  8.16487441e+05
6.46963602e+05  8.19450620e+05  8.32083289e+03  2.37183132e+03
8.24629107e+03  1.56273280e+04  4.22633967e+03  2.09163879e+04
1.69460011e+04  3.38679027e+03  6.46963601e+05  8.16487441e+05
9.87954234e+05  8.24629092e+03  2.37183096e+03  8.32083271e+03
1.69460004e+04  2.09163879e+04  1.40100768e+06  1.19350278e+06
1.19647800e+06  8.06338005e+03  2.33617878e+03  1.54130508e+04
5.06746339e+03  2.48394848e+04  1.19350278e+06  1.40100768e+06
2.33617846e+03  8.06337997e+03  2.48394841e+04  1.88395758e+06
1.64156177e+06  1.64441663e+06  7.53335722e+03  2.29511028e+03
1.45764717e+04  5.88761468e+03  2.85398928e+04  1.64156177e+06
1.88395758e+06  2.29511022e+03  7.53335719e+03  2.85398937e+04
2.43161333e+06  2.15701918e+06  2.15953899e+06  6.20773016e+03
2.02784724e+03  1.26977817e+04  6.67395032e+03  3.18340564e+04
2.15701918e+06  2.43161333e+06  2.02784721e+03  6.20773009e+03
3.18340564e+04  3.03594055e+06  2.73320351e+06  2.73531989e+06
5.60676164e+03  2.72710830e+03  9.87009570e+03  7.46575696e+03
3.45048447e+04  2.73320351e+06  3.03594055e+06  2.72710810e+03
5.60676149e+03  3.45048427e+04  3.68631143e+06  3.36231959e+06
3.36077747e+06 -4.64521947e+03 -4.02685627e+00  1.93702972e+03
8.47413202e+03  3.63891780e+04  3.36231959e+06  3.68631143e+06
-4.02705347e+00 -4.64521954e+03  3.63891782e+04  4.37097945e+06
4.02861843e+06  4.02954094e+06  5.48856888e+04  2.66267135e+04
1.70544403e+04  9.30881824e+03  3.76058067e+04  4.02861843e+06
4.37097945e+06  2.66267128e+04  5.48856879e+04  3.76058038e+04
5.07685002e+06  4.75984186e+06  4.68757240e+06 -1.70825434e+05
-5.92324427e+04 -6.58878990e+04  3.01483062e+04  2.40997043e+04
4.75984186e+06  5.07685002e+06 -5.92324444e+04 -1.70825436e+05
2.40996713e+04  5.79541432e+06  5.70261123e+06  5.17030113e+06
7.41483955e+05  1.80559706e+05  3.68553935e+05  1.21181294e+04
5.77464735e+04  5.70261123e+06  5.79541432e+06  1.80559705e+05
7.41483955e+05  5.77464732e+04  6.76007838e+06  6.55138588e+06
5.60950676e+06 -1.27232574e+06 -2.58721655e+06 -6.39421513e+05
4.13265031e+05  4.45501864e+05  5.60950676e+06  6.55138588e+06
-6.39421513e+05 -2.58721655e+06  4.45501864e+05  1.61943216e+03
3.10965572e+02  2.25636060e+03  3.79218604e+03  1.10854389e+04
4.53912469e+03  9.07955770e+01  4.93947446e+03  3.68349703e+02
1.18342832e+03  3.42938262e+01  4.05442820e+01  2.25636052e+03
3.10965881e+02  1.61943240e+03  9.07956839e+01  4.53912372e+03
1.10854373e+04  3.42939134e+01  1.18342850e+03  2.65656153e+02
3.16995504e+02  1.73540793e+03  3.98371654e+04  2.53482084e+04
2.56765725e+04  4.87884515e+02  1.64634854e+03  3.16995859e+02
2.65656367e+02  2.53482069e+04  3.98371655e+04  1.64634882e+03
1.20868138e+01  1.53332553e+02  8.34477875e+00  7.06858860e+04
5.55323220e+04  5.50465228e+04  4.32272090e+02  1.40242459e+03
1.53332839e+02  1.20867966e+01  5.55323222e+04  7.06858860e+04
1.40242520e+03  6.52978300e+00  6.11437148e+01  5.82177773e+00
9.05926824e+04  8.12697662e+04  8.00112056e+04  2.33592980e+02
4.52921390e+02  6.11437305e+01  6.52982809e+00  8.12697663e+04
9.05926824e+04  4.52922199e+02  1.01781946e+01  1.06177194e+02
4.46460174e+00  8.70987991e+04  8.98867421e+04  8.77916532e+04
1.04133938e+02  1.18550598e+03  1.06177120e+02  1.01781534e+01
8.98867421e+04  8.70987990e+04  1.18550523e+03  8.92616048e+01
3.61429147e+02  7.74169288e+00  4.88073415e+04  6.96187475e+04
6.63166348e+04  5.69214730e+02  3.42490749e+03  3.61428542e+02
8.92614996e+01  6.96187470e+04  4.88073411e+04  3.42490700e+03
3.71947352e+04  7.66384058e+03  1.66212838e+02  7.00641342e+03
1.58464803e+04  1.09997182e+04  1.14790002e+03  6.21377392e+03
7.66383803e+03  3.71947343e+04  1.58464779e+04  7.00641255e+03
6.21377387e+03  1.75780678e+05  1.06374478e+05  1.07603370e+05
7.35047360e+03  3.11936342e+03  1.28261563e+04  1.82375472e+03
9.46675704e+03  1.06374477e+05  1.75780677e+05  3.11936250e+03
7.35047326e+03  9.46675639e+03  3.77331700e+05  2.75920917e+05
2.78248027e+05  7.90102104e+03  2.50682872e+03  1.42526109e+04
2.57757172e+03  1.30834902e+04  2.75920916e+05  3.77331700e+05
2.50682813e+03  7.90102076e+03  1.30834897e+04  5.11273760e+05
5.14046095e+05  2.39727952e+03  1.52073563e+04  5.11273759e+05
2.39727916e+03]
```

Get the meshed region

```mesh_set = model.metadata.meshed_region
```

Plot the results on the mesh. `label_text_size` and `label_point_size` control font size of the label.

```plot = DpfPlotter()