Modelling and simulating crack propagation in 3D-printed structures
Congrès des Jeunes Chercheurs en Mécanique
IMSIA, ENSTA Paris, CNRS, EDF, Institut Polytechnique de Paris 91120 Palaiseau, France
August 28, 2024
Global objective
Modelling and simulating crack propagation in 3D-printed structures
We consider
and we want to determine
To solve this problem, we want to employ numerical methods.
The state of a domain \(\Omega\) is described by:
The state fields are governed by an energy minization problem, \[ (\boldsymbol{u}, \alpha) = \arg\min_{\substack{\boldsymbol{u}^* \in \mathcal{U} \\ \alpha^* \in \mathcal{A}}} \ \underset{\text{elastic}}{\mathcal{E} (\boldsymbol{u}^*, \alpha^*)} + \underset{\text{dissipation}}{\mathcal{D} (\alpha^*)} - \underset{\text{external work}}{\mathcal{W}_{\mathrm{ext}} (\boldsymbol{u}^*)} \]
With some constraints:
Control by Maximum Strain Increment (Chen & Schreyer, 1990)
The idea is to limit the maximum strain variation in the domain using the equation \[ \max_{\boldsymbol{x}\in \Omega} \left( \frac{\boldsymbol{\varepsilon}(\boldsymbol{u}_{n-1})}{\| \boldsymbol{\varepsilon}(\boldsymbol{u}_{n-1}) \|} : {\color{\red}\Delta \boldsymbol{\varepsilon}(\boldsymbol{u})} \right) - \Delta \tau= 0, \]
where \(\Delta \tau\) is the step size.
We applied a path-following method based on control by maximum strain increment.
It proved to be:
Yet, we observed some divergence of the resolution in some specific cases.
F. Loiseau, V. Lazarus
flavien.loiseau@ensta-paris.fr
Query
Search on Scopus using the following query in April, 2024.
("load control" OR "path following" OR "path-following" OR "arc length" OR "arc-length" OR "continuation")
AND ("phase-field")
AND ("fracture")
Results
Notes
The state of a domain \(\Omega\) is described by:
The state of the domain verifies \[ (\boldsymbol{u}, \alpha) = \arg\min_{\substack{\boldsymbol{u}^* \in \mathcal{U} \\ \alpha^* \in \mathcal{A}}} \mathcal{E}_{\mathrm{tot}} = \arg\min_{\substack{\boldsymbol{u}^* \in \mathcal{U} \\ \alpha^* \in \mathcal{A}}} \mathcal{E} (\boldsymbol{u}^*, \alpha^*) + \mathcal{D} (\alpha^*) - \mathcal{W}_{\mathrm{ext}} (\boldsymbol{u}^*) \]
where the energy functionals are,
\[ \begin{split} \mathcal{E} (\boldsymbol{u}, \alpha) &= \int_{\Omega} \frac{1}{2} a(\alpha) \boldsymbol{\varepsilon}(\boldsymbol{u}) : \mathbf{E}: \boldsymbol{\varepsilon}(\boldsymbol{u}) \,\mathrm{d}x, \\ \mathcal{D} (\alpha) &= \int_{\Omega} \frac{G_c}{c_w} \left( \frac{w(\alpha)}{\ell} + \ell \nabla \alpha \cdot \nabla \alpha \right) \,\mathrm{d}x, \\ \mathcal{W} (\boldsymbol{u}) &= \int_{\partial \Omega} \lambda \boldsymbol{t}_{\mathrm{ctrl}}\cdot \boldsymbol{u}^* \,\mathrm{d}x. \end{split} \]
The minimization problem can be solved by splitting the problem into two subproblems:
We need to introduce the solving of the control equation.
\[ \begin{split} \forall \boldsymbol{v}\in \mathcal{U}_0, \quad & \int_{\Omega} a(\alpha) \boldsymbol{\varepsilon}(\bar{\boldsymbol{u}}) : \mathbf{E}: \boldsymbol{\varepsilon}(\boldsymbol{v}) \,\mathrm{d}x + \int_{\partial \Omega} \boldsymbol{t}_{\mathrm{ctrl}}\cdot \boldsymbol{v}\,\mathrm{d}x = 0, \end{split} \]
Solve the control equation for each \(\boldsymbol{x}\in \Omega\) with \[ \frac{\boldsymbol{\varepsilon}(\boldsymbol{u}_{n-1})}{\| \boldsymbol{\varepsilon}(\boldsymbol{u}_{n-1}) \|} : \overbrace{({\color{\red}\lambda(\boldsymbol{x})} \boldsymbol{\varepsilon}(\boldsymbol{u}_{n-1}) - \boldsymbol{\varepsilon}(\boldsymbol{u}_{n-1}))}^{\Delta \boldsymbol{\varepsilon}(\boldsymbol{u})} - \Delta \tau= 0 \iff \lambda(\boldsymbol{x}) = \frac{\Delta \tau- a_0}{a_1}, \] where \(a_0 = \frac{\boldsymbol{\varepsilon}_{n-1} (\boldsymbol{x})}{\| \boldsymbol{\varepsilon}_{n-1}(\boldsymbol{x}) \|} : \boldsymbol{\varepsilon}_{n-1}(\boldsymbol{x})\), and \(a_1 = \frac{\boldsymbol{\varepsilon}_{n-1} (\boldsymbol{x})}{\| \boldsymbol{\varepsilon}_{n-1}(\boldsymbol{x}) \|} : \boldsymbol{\varepsilon}(\bar{\boldsymbol{u}})\).
Select the load factor using the nested interval algorithm (Lorentz & Badel, 2004).
Calculate the displacement field \(\boldsymbol{u}(\boldsymbol{x}) = \lambda \bar{\boldsymbol{u}}(\boldsymbol{x})\).