# Constitutive relation error for FFT-based methods

Sébastien Brisard, L Chamoin

► To cite this version:

Sébastien Brisard, L Chamoin. Constitutive relation error for FFT-based methods. VII European Congress on Computational Methods in Applied Sciences and Engineering (ECCOMAS Congress 2016), Jun 2016, Crete Island, Greece. hal-01330790v2

HAL Id: hal-01330790

https://enpc.hal.science/hal-01330790v2

Submitted on 6 Jul 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Constitutive relation error for FFT-based methods

**S. Brisard**¹, L. Chamoin²,³

¹Université Paris-Est, Laboratoire Navier, ENPC, IFSTTAR, CNRS, UMR 8205

²LMT, ENS Cachan, CNRS, Université Paris-Saclay

³INRIA Rocquencourt, MATHERIALS research team

June 9th 2016

<figure><img src="image_2.png" /></figure>

UNIVERSITÉ
— PARIS-EST

<figure><img src="image_3.png" /></figure>

École des Ponts
ParisTech

<figure><img src="image_4.png" /></figure>

IFSTTAR

cnrs

dépasser les frontières
# Contents

* A non-specialist's presentation of constitutive relation error

* CRE & Uniform Grid, Periodic Lippmann – Schwinger solvers

* A local reconstruction of the displacement

* The nitty-gritty details

## Example 1

## Example 2
# Contents

* A non-specialist's presentation of constitutive relation error

* CRE & Uniform Grid, Periodic Lippmann – Schwinger solvers

* A local reconstruction of the displacement

* The nitty-gritty details

* Example 1

* Example 2
Elastic equilibrium of a structure

$$ \mathrm{div} \sigma + \mathbf{b} = \mathbf{0} \qquad (\Omega) $$

$$ \sigma \cdot n = \bar{T} \qquad (\partial \Omega_T) $$

$\sigma$ statically admissible with $\mathbf{b}$ and $\bar{T}$

$$ \mathbf{u} = \bar{\mathbf{u}} \qquad (\partial \Omega_u) $$

$\mathbf{u}$ kinematically admissible with $\bar{\mathbf{u}}$

$$ \sigma = \mathbf{C} : \epsilon \qquad (\Omega) $$

(local) constitutive relation

Strain energy and complementary strain energy as norms

$$ U(\epsilon) = \frac{1}{2} \int_{\Omega} \epsilon : \mathbf{C} : \epsilon \, dV $$

$$ U^*(\sigma) = \frac{1}{2} \int_{\Omega} \sigma : \mathbf{S} : \sigma \, dV $$
# The Prager - Synge theorem

<figure><img src="image_5.png" /></figure>

**Consequence** ... even if $\tilde{\sigma} \neq C: \tilde{\epsilon}$ (of course)

<figure><img src="image_6.png" /></figure>
Construction of kinematically admissible displacement

Trivial with **displacement-based** FEM!

Construction of statically admissible stress: the EET method

* Equilibrating Element Tractions

* **Post-processing** of the FEM nodal displacements

* Succession of **local** linear problems

* **Step 1.** construction of tractions: node-wise

* **Step 2.** construction of stresses: element-wise

Ladevèze & Pelle (2005), *Mastering Calculations in Linear and Nonlinear Mechanics*, Springer

Evaluation of constitutive relation error

Simple integration of standard FE fields, upper bound on “true” error
A non-specialist's presentation of constitutive relation error

CRE & Uniform Grid, Periodic Lippmann – Schwinger solvers

A local reconstruction of the displacement

The nitty-gritty details

Example 1

Example 2
# Application to UGPLS solvers

$$ (C-C_0)^{-1}:\tau+\Gamma_0[\tau]=E $$

**The unknown is the stress polarization (or the strain)**

* Strain is **not necessarily** compatible

* Kinematically admissible displacement?

* Statically admissible stress?

**Construction of kinematically admissible displacement**

The main topic of this talk

**Construction of statically admissible stress**

* Arguably the most difficult part

* Don't want to reinvent the wheel: use the EET method!
# Reconstruction of displacements: literature review

## Most UGPLS solvers produce compatible strain fields!

* **But** approximation is **non-local** in space (trig. polynomials)

* Susceptible to Gibbs phenomenon

Moulinec & Suquet (1998), *Comp. Meth. Appl. Mech. Eng.* **157**(1-2), 69-94

Willot & Pellegrini (2008), *Continuum Models & Discrete Systems XI*, 443-450

Zeman et al. (2010), *J. Comp. Phys.* **229**(21), 8065-8071

Monchiet & Bonnet (2012), *Int. J. Num. Meth. Eng.* **89**(11), 1419-1436

Kabel et al. (2014), *Comp. Mech.* **54**(6), 1497-1514

Vondřejc et al. (2014), *Comp. & Math. Appl.* **68**(3), 156-173

Willot (2015), *Comptes Rendus Mécanique* **343**(3), 232-245

## Approximation that is **local** in space is sometimes preferable

* EET method to reconstruct statically admissible stress

* Limit analysis: plastic admissibility checked at the nodes only

Makrodimopoulos & Martin (2007), *Int. J. Num. Anal. Meth. Geomechanics* **31**(6), 835-865
A non-specialist's presentation of constitutive relation error

CRE & Uniform Grid, Periodic Lippmann – Schwinger solvers

A local reconstruction of the displacement

The nitty-gritty details

Example 1

Example 2
<figure><img src="image_7.png" /></figure>

# Navier From stress-polarization to displacement

## Approximation that is local in space

* Q1 approximation

* Post-processing of estimate of stress-polarization (or strain)

## True displacement from true stress polarization

$(\mathbf{C}-\mathbf{C}_0)^{-1}:\boldsymbol{\tau}+\Gamma_0[\boldsymbol{\tau}]=\mathbf{E}$

<figure><img src="image_8.png" /></figure>

$\nabla \cdot (\mathbf{C}_0 : \nabla^s \mathbf{u} + \boldsymbol{\tau}) = \mathbf{0}$

## Approx. displacement from approx. stress polarization

$(\mathbf{C}^N-\mathbf{C}_0)^{-1}:\boldsymbol{\tau}^N+\Gamma_0^N[\boldsymbol{\tau}^N]=\mathbf{E}$

<figure><img src="image_9.png" /></figure>

$\nabla \cdot (\mathbf{C}_0 : \nabla^s \mathbf{u}^N + \boldsymbol{\tau}^N) = \mathbf{0}$

$\mathbf{N}=(N_1, ..., N_d):$ grid-size
## Our two-step approach

$$1. \quad (\mathbf{C}^N - \mathbf{C}_0)^{-1} : \tau^N + \Gamma_0^N[\tau^N] = \mathbf{E} \quad (\text{UGPLS solver})$$

$$2. \quad \nabla \cdot (\mathbf{C}_0 : \nabla^s \mathbf{u}^N + \tau^N) = \mathbf{0} \quad (\text{FEM solver})$$

## An alternative one-step approach: why not use FEM only?

$$\nabla \cdot [\mathbf{C} : (\mathbf{E} + \nabla^s \mathbf{u})] = \mathbf{0}$$

## The two-step approach is more efficient

* Homogeneous reference material

* Periodic boundary conditions

**FFT for both steps!**
A non-specialist's presentation of constitutive relation error

CRE & Uniform Grid, Periodic Lippmann – Schwinger solvers

A local reconstruction of the displacement

**The nitty-gritty details**

**Example 1**

**Example 2**
# Q1 approximation of displacement

<figure><img src="image_10.png" /></figure>

$L = (L_1, ..., L_d)$: size of unit-cell

$N = (N_1, ..., N_d)$: grid-size

<figure><img src="image_11.png" /></figure>
<figure><img src="image_12.png" /></figure>

# Navier Fourier series, discrete Fourier transform

Displacement is periodic! Can be expanded in Fourier series

$$ \mathbf{u}(\mathbf{x}) = \frac{1}{N_1 \cdots N_d} \sum_{\mathbf{k} \in \mathbb{Z}^d} \left[ \prod_{j=1}^{d} \mathrm{sinc}^2 \left( \frac{\pi k_j}{N_j} \right) \exp \left( \frac{2i \pi k_j x_j}{L_j} \right) \right] \hat{\mathbf{u}}_{\mathbf{k}}^{\mathbf{N}} $$

Discrete Fourier transform of nodal displacements

$$ \hat{\mathbf{u}}_{\mathbf{k}}^{\mathbf{N}} = \sum_{n_1=0}^{N_1-1} \cdots \sum_{n_d=0}^{N_d-1} \exp \left[ -2i\pi \left( \frac{k_1 n_1}{N_1} + \cdots + \frac{k_d n_d}{N_d} \right) \right] \mathbf{u}_{\mathbf{n}}^{\mathbf{N}} $$

Infinite sum defined by a finite (periodic) series of unknowns (in Fourier space).
Can be computed in Fourier space

$$ \Pi = \frac{L_1 \cdots L_d}{N_1^2 \cdots N_d^2} \sum_{k_1=0}^{N_1-1} \sum_{k_d=0}^{N_d-1} \left( \frac{1}{2} \overline{\hat{u}_k^N} \cdot \hat{K}_k^N \cdot \hat{u}_k^N + \overline{\hat{u}_k^N} \cdot \hat{\tau}_k^N \cdot \overline{\hat{B}_k^N} \right) $$

$\hat{K}_k^N$: modal stiffness matrix ($d \times d$)

$\hat{B}_k^N$: modal strain-displacement vector ($d \times 1$)

Closed-form expressions!

Optimization of total potential energy

$$ \hat{K}_k^N \cdot \hat{u}_k^N = - \hat{\tau}_k^N \cdot \overline{\hat{B}_k^N} $$

$N_1 \times \cdots \times N_d$ small ($d \times d$) linear systems rather than one single large linear system with $N_1 \times \cdots \times N_d \times d$ unknowns!
# Summary of the method

1. Compute DFT of cell-wise constant stress polarization

2. Compute DFT of nodal displacement: for each discrete freq.

a. Assemble modal stiffness matrix

b. Assemble modal strain-displacement vector

c. Solve resulting $d×d$ linear system

3. Compute inverse DFT of nodal displacement

SB (2016), Int. J. Num. Meth. Eng., early view (10.1002/nme.5263)
A non-specialist's presentation of constitutive relation error

CRE & Uniform Grid, Periodic Lippmann – Schwinger solvers

A local reconstruction of the displacement

The nitty-gritty details

**Example 1**

**Example 2**
Example borrowed from Schneider et al. (2015)

<figure><img src="image_13.png" /></figure>

$$r_1=0.2L$$

$$r_2=0.4L$$

$$\kappa_1=100\kappa_2$$

$$\kappa_3=1.25191\kappa_2$$

$$\nu_1=\nu_2=\nu_3=0.25$$

$$\mathbf{E}=\frac{E_v}{3}(\mathbf{e}_1\otimes\mathbf{e}_1+\mathbf{e}_2\otimes\mathbf{e}_2+\mathbf{e}_3\otimes\mathbf{e}_3)$$

Schneider et al. (2015), Int. J. Num. Meth. Eng. 105(9), 1419–1436
# Error on reconstructed displacement

## Truncated discrete Green operator (Moulinec & Suquet, 1998)

<figure><img src="image_14.png" /></figure>
# Error on reconstructed displacement

Finite difference discrete Green operator (Willot, 2015)

<figure><img src="image_15.png" /></figure>
* A non-specialist's presentation of constitutive relation error

* CRE & Uniform Grid, Periodic Lippmann – Schwinger solvers

* A local reconstruction of the displacement

* The nitty-gritty details

## Example 1

## Example 2
Reconstructed displacement is a Galerkin solution

$$ \int_{\Omega} [(\mathbf{C}_0 : \nabla^s \mathbf{u}^N + \boldsymbol{\tau}^N) : \nabla^s \mathbf{v}] dV = 0 \quad \text{for all } \mathbf{v} \in \mathcal{Q}_1, \text{ periodic} $$

* “Strong extension condition” does not lead to overdetermination

* Equilibrated Element Traction method applies

* Reconstructing statically admissible stress fields becomes standard!

* Constitutive relation error can be evaluated

Ladevèze & Pelle (2005), *Mastering Calculations in Linear and Nonlinear Mechanics*, Springer
A simple, 2D example

<figure><img src="image_16.png" /></figure>

$$ \mu_i = 100 \mu_m $$

$$ \nu_m = 0.3 $$

$$ \nu_i = 0.2 $$

$$ \mathbf{E} = E_{12}(\mathbf{e}_1 \otimes \mathbf{e}_2 + \mathbf{e}_2 \otimes \mathbf{e}_1) $$
Work in progress (with L. Chamoin)

<figure><img src="image_17.png" /></figure>
# Conclusion and perspectives

## An “agnostic” method to reconstruct displacements...

* Works with **any** UGPLS solver

* Very low cost (9 FFT in 3D)

* Reconstruction is **local** in space

* Accuracy comparable to other existing approaches

## ... Which paves the way to reconstruction of stresses

* Standard post-processing of the reconstructed displacement

* Rigorous bound on energy error

## Perspectives

* Extension to local quantities of interest

* Systematic selection of reference material
Thank you for your
attention !

http://sbrisard.github.io/

<figure><img src="image_18.png" /></figure>

ASSOCIATION
FRANÇAISE
DE MÉCANIQUE

Financial support of AFM/CNFM is gratefully acknowledged by SB.