Skip to content

Commit 7d41ac6

Browse files
committed
Add multimaterial file and some corrections in the others.
1 parent 80dccb1 commit 7d41ac6

File tree

4 files changed

+152
-4
lines changed

4 files changed

+152
-4
lines changed

_tutorials/structural_mechanics/Linear_Dynamics.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ permalink: /tutorials/Linear_Dynamics/
55

66
| Written by | for Version | Revised by | Revision date | Revised version |
77
| --- | --- | --- | --- | --- |
8-
| [@rsanfer](https://github.com/rsanfer) | 7.0.0 | [@rsanfer](https://github.com/rsanfer) | Jan 28, 2020 | 7.0.1 |
8+
| [@rsanfer](https://github.com/rsanfer) | 7.0.1 | [@rsanfer](https://github.com/rsanfer) | Jan 28, 2020 | 7.0.1 |
99

1010
###### **At one glance**
1111

_tutorials/structural_mechanics/Linear_Elasticity.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ permalink: /tutorials/Linear_Elasticity/
55

66
| Written by | for Version | Revised by | Revision date | Revised version |
77
| --- | --- | --- | --- | --- |
8-
| [@rsanfer](https://github.com/rsanfer) | 7.0.0 | [@rsanfer](https://github.com/rsanfer) | Jan 27, 2020 | 7.0.1 |
9-
8+
| [@rsanfer](https://github.com/rsanfer) | 7.0.1 | [@rsanfer](https://github.com/rsanfer) | Jan 27, 2020 | 7.0.1 |
109

1110
###### **At one glance**
1211

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
---
2+
title: Non-linear Elasticity with Multiple Material Definition
3+
permalink: /tutorials/Multiple_Material/
4+
---
5+
6+
| Written by | for Version | Revised by | Revision date | Revised version |
7+
| --- | --- | --- | --- | --- |
8+
| [@rsanfer](https://github.com/rsanfer) | 7.0.1 | [@rsanfer](https://github.com/rsanfer) | Jan 30, 2020 | 7.0.1 |
9+
10+
###### **At one glance**
11+
12+
###### Solver: ```ELASTICITY```
13+
###### Uses: ```SU2_CFD```
14+
###### Complexity: <span style="color: orange;">**Intermediate**</span>
15+
###### Prerequisites: [**Nonlinear Elasticity**](../Nonlinear_Elasticity/)
16+
17+
18+
### Goals
19+
20+
Once completed the tutorial on [Nonlinear Elasticity](../Nonlinear_Elasticity/), we can move on to more advanced features. This document will guide you through the setup of a non-linear problem with multiple material definitions.
21+
22+
In this tutorial, we use the same problem definition as for the nonlinear elasticity tutorial: a vertical, slender cantilever, clamped in its base, and subject to a horizontal, follower load $$P$$ on its left boundary. However, in this section, we will discretize the cantilever into four regions, R0, R1, R2 and R3,
23+
24+
![ProblemSetup](../structural_mechanics/images/multimat1.png)
25+
26+
### Resources
27+
28+
You can find the resources for this tutorial in the same [structural_mechanics/cantilever](https://github.com/rsanfer/Tutorials/blob/master/structural_mechanics/cantilever) folder in the [Tutorials repository](https://github.com/rsanfer/Tutorials). You can reuse the mesh file [mesh_cantilever.su2](https://github.com/su2code/Tutorials/blob/master/structural_mechanics/cantilever/mesh_cantilever.su2)
29+
from the Non-linear Elasticity tutorial, but you will need a new config file, [config_nonlinear_multimaterial.cfg](https://github.com/su2code/Tutorials/blob/master/structural_mechanics/cantilever/config_nonlinear_multimaterial.cfg), and an element properties file, [element_properties.dat](https://github.com/su2code/Tutorials/blob/master/structural_mechanics/cantilever/element_properties.dat)
30+
31+
### Background
32+
33+
SU2 has been designed using a finite-deformation framework$$^1$$ to account for geometrical and material non-linearities. We can write the non-linear structural problem via the residual equation
34+
35+
$$\mathscr{S}(\mathbf{u}) = \mathbf{T}(\mathbf{u}) - \mathbf{F}_b - \mathbf{F}_{\Gamma}(\mathbf{u})$$
36+
37+
which has been obtained from the weak formulation of the structural problem defined using the principle of virtual work and discretized using FEM.
38+
39+
In a Finite Element framework, it is normally possible to define different properties for each element. In this tutorial, we will exemplify the ability of SU2 to deal with this kind of problems.
40+
41+
42+
#### Configuration File Options
43+
44+
The first thing required to deal with multiple materials, is to add the command
45+
46+
```
47+
FEA_FILENAME = element_properties.dat
48+
```
49+
50+
that defines the name of the element-based input file for material definition. This file has the format
51+
52+
```
53+
INDEX MPROP
54+
0 0
55+
1 0
56+
...
57+
249 0
58+
250 1
59+
...
60+
499 1
61+
500 2
62+
...
63+
749 2
64+
750 3
65+
...
66+
999 3
67+
```
68+
69+
where the fields, that must be separated by tabs, are:
70+
- `INDEX` corresponds to the element ID number from the mesh file.
71+
- `MPROP` sets the material properties. In this case, the Young's modulus and the Poisson ratio are:
72+
- `0`: $$E$$ = 80 GPa, $$\nu$$ = 0.4
73+
- `1`: $$E$$ = 10 MPa, $$\nu$$ = 0.35
74+
- `2`: $$E$$ = 50 GPa, $$\nu$$ = 0.4
75+
- `3`: $$E$$ = 0.5 MPa, $$\nu$$ = 0.35
76+
77+
The regions R0, R1, R2 and R3 are assigned the `MPROP` `0`, `1`, `2` and `3` respectively, using the config options
78+
79+
```
80+
ELASTICITY_MODULUS = (8.0E10, 1.0E7, 5.0E10, 5.0E5)
81+
POISSON_RATIO = (0.4, 0.35, 0.4, 0.35)
82+
```
83+
84+
Finally, given the flexibility of the regions R1 and R3, an incremental approach with 10 increments is adopted.
85+
86+
### Running SU2
87+
88+
Follow the links provided to download the [config](https://github.com/rsanfer/Tutorials/blob/master/structural_mechanics/cantilever/config_nonlinear_multimaterial.cfg), [mesh](https://github.com/rsanfer/Tutorials/blob/master/structural_mechanics/cantilever/mesh_cantilever.su2) and [element_properties](https://github.com/su2code/Tutorials/blob/master/structural_mechanics/cantilever/element_properties.dat) files. Execute the code with the standard command
89+
90+
```
91+
SU2_CFD config_nonlinear_multimaterial.cfg
92+
```
93+
94+
which will show the following convergence history:
95+
96+
```
97+
+-----------------------------------------------------------------------------+
98+
| Inner_Iter| Load[%]| rms[U]| rms[R]| rms[E]| VonMises|
99+
+-----------------------------------------------------------------------------+
100+
| 0| 100.00%| -1.331677| -0.001635| -2.028421| 1.0799e+06|
101+
| 1| 100.00%| -1.913135| 6.972674| 3.447084| 1.0925e+06|
102+
103+
Incremental load: increment 1
104+
+-----------------------------------------------------------------------------+
105+
| Inner_Iter| Load[%]| rms[U]| rms[R]| rms[E]| VonMises|
106+
+-----------------------------------------------------------------------------+
107+
| 0| 10.00%| -2.331677| -1.001635| -4.028421| 1.0799e+05|
108+
| 1| 10.00%| -3.953012| 5.031711| -0.519843| 1.0811e+05|
109+
| 2| 10.00%| -5.865271| 2.061363| -6.461089| 1.0801e+05|
110+
| 3| 10.00%| -4.917638| -1.802157| -9.113119| 1.0815e+05|
111+
| 4| 10.00%| -7.297420| 0.015521| -10.552833| 1.0815e+05|
112+
| 5| 10.00%| -8.662326| -5.220135| -16.527473| 1.0815e+05|
113+
| 6| 10.00%| -10.815817| -6.023510| -20.970444| 1.0815e+05|
114+
115+
...
116+
117+
Incremental load: increment 10
118+
+-----------------------------------------------------------------------------+
119+
| Inner_Iter| Load[%]| rms[U]| rms[R]| rms[E]| VonMises|
120+
+-----------------------------------------------------------------------------+
121+
| 0| 100.00%| -2.283509| -0.993242| -3.982743| 1.0465e+06|
122+
| 1| 100.00%| -3.756525| 5.121588| -0.339856| 1.0346e+06|
123+
| 2| 100.00%| -3.896361| 2.241346| -6.029630| 1.0345e+06|
124+
| 3| 100.00%| -3.627203| 1.451203| -6.004211| 1.0324e+06|
125+
| 4| 100.00%| -4.983506| 2.651319| -5.278535| 1.0327e+06|
126+
| 5| 100.00%| -3.331444| 0.181474| -5.953341| 1.0275e+06|
127+
| 6| 100.00%| -4.756347| 3.176148| -4.231894| 1.0285e+06|
128+
| 7| 100.00%| -5.265075| -1.650930| -9.520310| 1.0285e+06|
129+
| 8| 100.00%| -6.374912| -0.472377| -11.419412| 1.0285e+06|
130+
| 9| 100.00%| -7.163173| -2.954409| -13.740312| 1.0285e+06|
131+
| 10| 100.00%| -7.779284| -4.698500| -14.967597| 1.0285e+06|
132+
| 11| 100.00%| -8.401311| -5.725573| -16.209560| 1.0285e+06|
133+
| 12| 100.00%| -9.025030| -5.856932| -17.456694| 1.0285e+06|
134+
| 13| 100.00%| -9.649048| -5.830228| -18.704672| 1.0285e+06|
135+
| 14| 100.00%| -10.273113| -5.868586| -19.952520| 1.0285e+06|
136+
| 15| 100.00%| -10.897181| -5.857269| -21.195730| 1.0285e+06|
137+
| 16| 100.00%| -11.521238| -5.879621| -22.365896| 1.0285e+06|
138+
| 17| 100.00%| -12.145524| -5.909298| -23.057966| 1.0285e+06|
139+
| 18| 100.00%| -12.769967| -5.910878| -23.152629| 1.0285e+06|
140+
| 19| 100.00%| -13.393813| -5.839072| -23.069515| 1.0285e+06|
141+
```
142+
143+
The code is stopped as soon as the values of ```rms[U]```, ```rms[R]``` and ```rms[E]``` are below the convergence criteria set in the config file, although for some increments it reaches the maximum number of iterations (20). This is due to the ill conditioning of the matrix of the problem because of the large differences in stiffness between regions.
144+
145+
The displacement field obtained in _nonlinear_multimaterial.vtk_ is shown below:
146+
147+
![Nonlinear Multimaterial Results](../structural_mechanics/images/multimat2.png)
148+
149+
where it can be observed how the flexible regions undergo large deformations, while the regions R0 and R2 remain virtually unaltered due to their high stiffness. The highlighted elements correspond to the interfaces between R1, R2, R3 and R4.

_tutorials/structural_mechanics/Nonlinear_Elasticity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ permalink: /tutorials/Nonlinear_Elasticity/
55

66
| Written by | for Version | Revised by | Revision date | Revised version |
77
| --- | --- | --- | --- | --- |
8-
| [@rsanfer](https://github.com/rsanfer) | 7.0.0 | [@rsanfer](https://github.com/rsanfer) | Jan 28, 2020 | 7.0.1 |
8+
| [@rsanfer](https://github.com/rsanfer) | 7.0.1 | [@rsanfer](https://github.com/rsanfer) | Jan 29, 2020 | 7.0.1 |
99

1010
###### **At one glance**
1111

0 commit comments

Comments
 (0)