Lines Matching +full:- +full:e
1 (example-petsc-elasticity)=
3 # Solid mechanics mini-app
6 It solves the steady-state static momentum balance equations using unstructured high-order finite/s…
7 As for the {ref}`example-petsc-navier-stokes` case, the solid mechanics elasticity example has been…
9 …ini-app, we consider three formulations used in solid mechanics applications: linear elasticity, N…
11 The stress-strain relationship (constitutive law) for each of the material models is provided.
12 Due to the nonlinearity of material models in Neo-Hookean hyperelasticity, the Newton linearization…
15 Linear elasticity and small-strain hyperelasticity can both by obtained from the finite-strain hype…
16 …ain regime, while $\bm S$ and $\bm E$ are their finite-strain generalizations (second Piola-Kircho…
20 {\overbrace{\bm S(\bm E)}^{\text{Finite Strain Hyperelastic}}}
22 {\overbrace{\bm S = \mathsf C \bm E}^{\text{St. Venant-Kirchoff}}} \\
23 …@V{\text{geometric}}V{\begin{smallmatrix}\bm E \to \bm \epsilon \\ \bm S \to \bm \sigma \end{small…
24 …@V{\begin{smallmatrix}\bm E \to \bm \epsilon \\ \bm S \to \bm \sigma \end{smallmatrix}}V{\text{geo…
29 $$ (hyperelastic-cd)
32 (running-elasticity)=
34 ## Running the mini-app
37 :start-after: <!-- solids-inclusion -->
40 (problem-linear-elasticity)=
44 The strong form of the static balance of linear momentum at small strain for the three-dimensional …
48 $$ (lin-elas)
51 We multiply {eq}`lin-elas` by a test function $\bm v$ and integrate the divergence term by parts to…
55 - \int_{\partial \Omega}{\bm{v} \cdot \left(\bm{\sigma} \cdot \hat{\bm{n}}\right)} \, dS
56 - \int_{\Omega}{\bm{v} \cdot \bm{g}} \, dV
58 $$ (lin-elas-weak)
66 In the model taken into consideration in the present mini-app, the state variables are constituted …
71 $$ (small-strain)
73 This constitutive model $\bm \sigma(\bm \epsilon)$ is a linear tensor-valued function of a tensor-v…
79 $$ (elastic-invariance)
82 …ined by $\bm \epsilon$ while satisfying the invariance property {eq}`elastic-invariance` are known…
87 $$ (strain-energy-grad)
90 …ry function $\Phi(\bm \epsilon)$; it can only depend on *invariants*, scalar-valued functions $\ga…
105 The constitutive law (stress-strain relationship) is therefore given by its gradient,
114 \begin{aligned} \lambda &= \frac{E \nu}{(1 + \nu)(1 - 2 \nu)} \\ \mu &= \frac{E}{2(1 + \nu)} \end{a…
117 The constitutive law (stress-strain relationship) can also be written as
121 $$ (linear-stress-strain)
135 $$ (linear-elasticity-tensor)
139 (problem-hyper-small-strain)=
143 The strong and weak forms given above, in {eq}`lin-elas` and {eq}`lin-elas-weak`, are valid for Neo…
147 …ratorname{trace} \bm{\epsilon}) (\log(1 + \operatorname{trace} \bm\epsilon) - 1) + \mu \bm{\epsilo…
154 $$ (eq-neo-hookean-small-strain)
156 where $\bm{\epsilon}$ is defined as in {eq}`small-strain`.
160 …ty in the constitutive law, we require a Newton linearization of {eq}`eq-neo-hookean-small-strain`.
222 (problem-hyperelasticity-finite-strain)=
226 In the *total Lagrangian* approach for the Neo-Hookean hyperelasticity problem, the discrete equati…
229 As explained in the {ref}`common-notation` section, we denote by capital letters the reference fram…
231 The strong form of the static balance of linear-momentum at *finite strain* (total Lagrangian) is g…
234 - \nabla_X \cdot \bm{P} - \rho_0 \bm{g} = \bm{0}
238 $\bm{P}$ and $\bm{g}$ are the *first Piola-Kirchhoff stress* tensor and the prescribed forcing func…
248 where $\bm S$ is the *second Piola-Kirchhoff stress* tensor, a symmetric tensor defined entirely in…
253 …begin by defining two symmetric tensors in the initial configuration, the right Cauchy-Green tensor
259 and the Green-Lagrange strain tensor
262 \bm E = \frac 1 2 (\bm C - \bm I_3) = \frac 1 2 \Big( \nabla_X \bm u + (\nabla_X \bm u)^T + (\nabla…
263 $$ (eq-green-lagrange-strain)
265 the latter of which converges to the linear strain tensor $\bm \epsilon$ in the small-deformation l…
266 …s, express $\bm S$ as a function of $\bm E$, similar to the linear case, shown in equation {eq}`l…
269 We will assume without loss of generality that $\bm E$ is diagonal and take its set of eigenvalues …
270 …alternate choices, such as $\operatorname{trace}(\bm E), \operatorname{trace}(\bm E^2), \lvert \bm…
271 …n in the literature for invariants to be taken from $\bm C = \bm I_3 + 2 \bm E$ instead of $\bm E$.
273 For example, if we take the compressible Neo-Hookean model,
277 \Phi(\bm E) &= \frac{\lambda}{2}(\log J)^2 - \mu \log J + \frac \mu 2 (\operatorname{trace} \bm C -…
278 &= \frac{\lambda}{2}(\log J)^2 - \mu \log J + \mu \operatorname{trace} \bm E,
280 $$ (neo-hookean-energy)
282 where $J = \lvert \bm F \rvert = \sqrt{\lvert \bm C \rvert}$ is the determinant of deformation (i.e…
284 To evaluate {eq}`strain-energy-grad`, we make use of
287 …ial \bm E} = \frac{\partial \sqrt{\lvert \bm C \rvert}}{\partial \bm E} = \lvert \bm C \rvert^{-1/…
290 where the factor of $\frac 1 2$ has been absorbed due to $\bm C = \bm I_3 + 2 \bm E.$
291 Carrying through the differentiation {eq}`strain-energy-grad` for the model {eq}`neo-hookean-energy…
294 \bm S = \lambda \log J \bm C^{-1} + \mu (\bm I_3 - \bm C^{-1}).
295 $$ (neo-hookean-stress)
298 An equivalent form of {eq}`neo-hookean-stress` is
301 \bm S = \lambda \log J \bm C^{-1} + 2 \mu \bm C^{-1} \bm E,
302 $$ (neo-hookean-stress-stable)
304 which is more numerically stable for small $\bm E$, and thus preferred for computation.
305 …ote that the product $\bm C^{-1} \bm E$ is also symmetric, and that $\bm E$ should be computed usi…
308 To sketch this idea, suppose we have the $2\times 2$ non-symmetric matrix $\bm{F} = \left( \begin{s…
312 \log J = \mathtt{log1p}(u_{0,0} + u_{1,1} + u_{0,0} u_{1,1} - u_{0,1} u_{1,0}),
316 …f $u_{i,j} \sim 10^{-8}$, then naive computation of $\bm I_3 - \bm C^{-1}$ and $\log J$ will have …
320 :::{dropdown} Mooney-Rivlin model
321 …-Hookean model depends on just two scalar invariants, $\mathbb I_1 = \trace \bm C = 3 + 2\trace \b…
322 A coupled Mooney-Rivlin strain energy density (cf. Neo-Hookean {eq}`neo-hookean-energy`) is {cite}`…
325 … \frac{\lambda}{2}(\log J)^2 - (\mu_1 + 2\mu_2) \log J + \frac{\mu_1}{2}(\mathbb{I_1} - 3) + \frac…
326 $$ (mooney-rivlin-energy_coupled)
328 We differentiate $\Phi$ as in the Neo-Hookean case {eq}`neo-hookean-stress` to yield the second Pio…
332 \bm S &= \lambda \log J \bm{C}^{-1} - (\mu_1 + 2\mu_2) \bm{C}^{-1} + \mu_1\bm I_3 + \mu_2(\mathbb{…
333 &= (\lambda \log J - \mu_1 - 2\mu_2) \bm C^{-1} + (\mu_1 + \mu_2 \mathbb I_1) \bm I_3 - \mu_2 \bm C,
335 $$ (mooney-rivlin-stress_coupled)
341 …E} &= 2 \bm I_3, & \frac{\partial \mathbb{I_2}}{\partial \bm E} &= 2 \mathbb I_1 \bm I_3 - 2 \bm C…
345 This is a common model for vulcanized rubber, with a shear modulus (defined for the small-strain li…
348 :::{dropdown} Mooney-Rivlin strain energy comparison
351 ```{altair-plot}
352 :hide-code:
360 nh = pd.read_csv(source_path("examples/solids/tests-output/NH-strain.csv"))
361 nh["model"] = "Neo-Hookean"
362 nh["parameters"] = "E=2.8, nu=0.4"
364 mr = pd.read_csv(source_path("examples/solids/tests-output/MR-strain.csv"))
365 mr["model"] = "Mooney-Rivlin; Neo-Hookean equivalent"
368 mr1 = pd.read_csv(source_path("examples/solids/tests-output/MR-strain1.csv"))
369 mr1["model"] = "Mooney-Rivlin"
391 …-hookean-stress` around $\bm E = 0$, for which $\bm C = \bm I_3 + 2 \bm E \to \bm I_3$ and $J \to …
394 \bm S = \lambda (\trace \bm E) \bm I_3 + 2 \mu \bm E,
395 $$ (eq-st-venant-kirchoff)
397 which is the St. Venant-Kirchoff model (constitutive linearization without geometric linearization;…
399 This model can be used for geometrically nonlinear mechanics (e.g., snap-through of thin structures…
401 …E \to \bm \epsilon$ and $\bm C \to \bm I_3$, while retaining the nonlinear dependence on $J \to 1 …
406 …t function $\bm v$ and integrate by parts to obtain the weak form for finite-strain hyperelasticit…
411 - \int_{\Omega_0}{\bm{v} \cdot \rho_0 \bm{g}} \, dV
412 - \int_{\partial \Omega_0}{\bm{v} \cdot (\bm{P} \cdot \hat{\bm{N}})} \, dS
414 $$ (hyperelastic-weak-form-initial)
417 …nlinearities in defining $\bm S(\bm E)$, as well as geometric nonlinearities through $\bm P = \bm …
418 …{eq}`hyperelastic-weak-form-initial` produces a finite-dimensional system of nonlinear algebraic e…
423 To derive a Newton linearization of {eq}`hyperelastic-weak-form-initial`, we begin by expressing th…
426 … F\, \bm S + \bm F \underbrace{\frac{\partial \bm S}{\partial \bm E} \!:\! \diff \bm E}_{\diff \bm…
427 $$ (eq-diff-P)
432 \diff \bm E = \frac{\partial \bm E}{\partial \bm F} \!:\! \diff \bm F = \frac 1 2 \Big( \diff \bm F…
436 …al \bm E}$ is known as the incremental elasticity tensor, and is analogous to the linear elasticit…
437 We now evaluate $\diff \bm S$ for the Neo-Hookean model {eq}`neo-hookean-stress`,
440 \diff\bm S = \frac{\partial \bm S}{\partial \bm E} \!:\! \diff \bm E
441 = \lambda (\bm C^{-1} \!:\! \diff\bm E) \bm C^{-1}
442 + 2 (\mu - \lambda \log J) \bm C^{-1} \diff\bm E \, \bm C^{-1},
443 $$ (eq-neo-hookean-incremental-stress)
448 \diff \bm C^{-1} = \frac{\partial \bm C^{-1}}{\partial \bm E} \!:\! \diff\bm E = -2 \bm C^{-1} \dif…
452 …-strain limit, $\bm C \to \bm I_3$ and $\log J \to 0$, thereby reducing {eq}`eq-neo-hookean-increm…
455 :::{dropdown} Newton linearization of Mooney-Rivlin
456 Similar to {eq}`eq-neo-hookean-incremental-stress`, we differentiate {eq}`mooney-rivlin-stress_coup…
460 \diff\bm S &= \lambda (\bm C^{-1} \tcolon \diff\bm E) \bm C^{-1} \\
461 &\quad + 2(\mu_1 + 2\mu_2 - \lambda \log J) \bm C^{-1} \diff\bm E \bm C^{-1} \\
462 &\quad + 2 \mu_2 \Big[ \trace (\diff\bm E) \bm I_3 - \diff\bm E\Big] .
464 $$ (mooney-rivlin-dS-coupled)
466 Note that this agrees with {eq}`eq-neo-hookean-incremental-stress` if $\mu_1 = \mu, \mu_2 = 0$.
467 Moving from Neo-Hookean to Mooney-Rivlin modifies the second term and adds the third.
471 …t the expense of symmetry) if we substitute {eq}`eq-neo-hookean-incremental-stress` into {eq}`eq-d…
476 …+ \lambda (\bm C^{-1} : \diff \bm E) \bm F^{-T} + 2(\mu - \lambda \log J) \bm F^{-T} \diff\bm E \,…
478 … \lambda (\bm F^{-T} : \diff \bm F) \bm F^{-T} + (\mu - \lambda \log J) \bm F^{-T} (\bm F^T \diff …
480 …\lambda (\bm F^{-T} : \diff \bm F) \bm F^{-T} + (\mu - \lambda \log J) \Big( \diff \bm F\, \bm C^{…
482 $$ (eq-diff-P-dF)
484 where we have exploited $\bm F \bm C^{-1} = \bm F^{-T}$ and
487 …-1} \!:\! \diff \bm E = \bm C_{IJ}^{-1} \diff \bm E_{IJ} &= \frac 1 2 \bm F_{Ik}^{-1} \bm F_{Jk}^{…
490 …-neo-hookean-incremental-stress` because {eq}`eq-diff-P-dF` is more expensive, requiring access to…
494 It is sometimes useful to express {eq}`eq-neo-hookean-incremental-stress` in index notation,
499 …&= \lambda (\bm C^{-1}_{KL} \diff\bm E_{KL}) \bm C^{-1}_{IJ} + 2 (\mu - \lambda \log J) \bm C^{-1}…
500 …&= \underbrace{\Big( \lambda \bm C^{-1}_{IJ} \bm C^{-1}_{KL} + 2 (\mu - \lambda \log J) \bm C^{-1}…
502 $$ (eq-neo-hookean-incremental-stress-index)
508 1. recover $\bm C^{-1}$ and $\log J$ (either stored at quadrature points or recomputed),
509 …matrix products as in {eq}`eq-neo-hookean-incremental-stress` or the second line of {eq}`eq-neo-ho…
510 3. conclude by {eq}`eq-diff-P`, where $\bm S$ is either stored or recomputed from its definition ex…
513 Note that the Newton linearization of {eq}`hyperelastic-weak-form-initial` may be written as a weak…
519 where $\diff \bm P$ is defined by {eq}`eq-diff-P` and {eq}`eq-neo-hookean-incremental-stress`, and …
523 …-order elements where flops tend to be in surplus relative to memory bandwidth, recomputation is l…
524 …ance while storing little or nothing while an expensive model such as Arruda-Boyce {cite}`arruda19…
525 …try $\mathsf C_{IJKL} = \mathsf C_{KLIJ}$ evident in {eq}`eq-neo-hookean-incremental-stress-index`…
527 …of overhead for direct storage of $\{ \bm S, \bm C^{-1}, \log J \}$, which is sufficient for the N…