(Difference between revisions)
 Revision as of 09:30, 5 May 2008 (view source) (→Inner load vector)← Older edit Revision as of 09:41, 5 May 2008 (view source) (→Inner load vector)Newer edit → Line 85: Line 85: $||\boldsymbol{t}_T^{trial}||=\sqrt{t^{trial}_{T_i}m_{ij}t^{trial}_{T_j}}$ with $m_{ij}=\frac{\boldsymbol{\tau}^2_i\cdot\boldsymbol{\tau}^2_j}{|\boldsymbol{\tau}^2_i||\boldsymbol{\tau}^2_j|}$ $||\boldsymbol{t}_T^{trial}||=\sqrt{t^{trial}_{T_i}m_{ij}t^{trial}_{T_j}}$ with $m_{ij}=\frac{\boldsymbol{\tau}^2_i\cdot\boldsymbol{\tau}^2_j}{|\boldsymbol{\tau}^2_i||\boldsymbol{\tau}^2_j|}$ === Inner load vector === === Inner load vector === − $\boldsymbol{r}^{int}=\underbrace{\int_{\Gamma^1}\delta g t_N\boldsymbol{n}^2dA}_{\boldsymbol{r}^{int}_{normal}}+\int_{\Gamma}\delta\boldsymbol{\teta}\boldsymbol{t}_tdA$ + $\boldsymbol{r}^{int}=\underbrace{\int_{\Gamma^1}\delta g t_N\boldsymbol{n}^2dA}_{\boldsymbol{r}^{int}_{normal}}+\underbrace{\int_{\Gamma}\delta\boldsymbol{\zeta}\boldsymbol{t}_tdA}_{\boldsymbol{r}^{int}_{friction}}$ + ::$=\sum_q^{NQ^1}\left\{\left[\boldsymbol{N}^1\;\;-\boldsymbol{N}^2\right]^Tt_N\left(\xi^q_1\right)\gamma^q\boldsymbol{n}^2|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|\right\} + +\sum_q^{NQ^1}\left\{\left[\boldsymbol{N}^1\;\;-\boldsymbol{N}^2\right]^T\left[\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\;\;\frac{\boldsymbol{\tau}_2^2}{|\boldsymbol{\tau}_2^2|}\right]\boldsymbol{t}_T\left(\xi_1^q\right)\gamma^q\boldsymbol{n}^2|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|\right\}$ === LeftHandSide-contribution === === LeftHandSide-contribution ===

## General description of the condition

This conditions represents the main part of the algorithm to solve contact problems. The algorithm is based on a surface to surface augmented lagrange/updated penalty formulation using a master and a slave contact surface. It is formulated to solve frictional contact problems in structural mechanics, the algorithm is formulated in a finite deformation context.

This condition and the underlying algorithm for contact problems has not been tested by means of a broader range of benchmark examples so far. It seem tio work quite fine for a number of different examples, but I do not give a guarantee that it is free of errors in its formulation or its implementation.

## Theoretical background of the used formulation

### Formulation without friction

Two bodies Ωi staying in contact over a contact surface $\Gamma^c_i$
Slave Γ1 and master Γ2 contact surface, and gap $g=\nu\cdot\left(\boldsymbol{y}_2-\boldsymbol{y}_1\right)$ between the surfaces
Three dimensional view on the contact surfaces and the gap between the two surfaces

The contact of two (or more) bodies in three dimension is a constrained continuum mechanical problem. The surface $\partial\Omega =\Gamma$ of the contacting continua Ω1 and Ω2 are constructed by the Neumann boundary Γσ, the Dirichlet boundary Γu and the contact boundary Γc. For the treated area Ω the following assumptions hold:

• $\Omega = \Omega_1 \cup \Omega_2$ and $\Omega_1 \cap \Omega_2=0$,
• having the boundaries $\partial\Omega=\Gamma^{\sigma}_i\cup\Gamma^{u}_i\cup\Gamma^{c}_i$ and $\Gamma^{\sigma}_i\cap \Gamma^{u}_i=0$, $\Gamma^{\sigma}_i\cap \Gamma^{c}_i=0$, $\Gamma^{u}_i\cap \Gamma^{c}_i=0$

The problem is constrained by the prescription of a penetration of the two bodies, e.g. of the penetration of the master surface Γ2 by the slave surface Γ1. This constrained is expressed by the gap function defined as the scalar projection of the distance vector between the point on the slave surface $\mathbf{x}\in \Gamma^1$ and its closest point projection onto the slave surface $\mathbf{y}(\mathbf{x})=\mbox{arg}\;\mbox{min}_{\mathbf{y}\epsilon\Gamma_2^c}\| \mathbf{x}-\mathbf{y}\left(\mathbf{x}\right)\|$ and the normal vector ν on the master surface:

• $g\left(\mathbf{x}\right)=-\mathbf{\nu}\left(\mathbf{x}-\mathbf{y}\right)$
$=-\mathbf\nu\left(\left[\mathbf{X}+\mathbf{u}_1\right]-\left[\mathbf{Y}-\mathbf{u}_2\right]\right)$
$=g_0-\mathbf\nu\left(\mathbf{u}_1-\mathbf{u}_2\right)$

The constrained that defines the contact problem is now stated as:

• $g(x)\leq 0$

Within the finite element formulation the problem is now solved by use of an updated penalty treatment of the contact constrained. To solve the problem the Energie of the system must be minimised by fulfilling the penetration constraint. After having introduced a contact stress

• tN = < λN + εNg >

that acts on the surfaces if they are in contact the constraint can be rewritten in form of Kuhn-Tucker constraints:

• $g\leq 0\;\;\;\;\;\;t_N\geq 0\;\;\;\;\;\;g t_N=0\;\;\;\forall\;\mathbf{x}\epsilon\Gamma^c$

Whereas the contact stress tN consists of an (outer) Lagrange value λN, which is constant during the Newton iteration, and an inner penaltization of the gap εNg. The updated penalty method now penalizes violation of the constraint, leading to the following potential:

• $\Pi^c=\sum_{i=1}^2\int_{\Gamma_c^{i}}\frac{1}{2\epsilon_n}<\lambda_N+\epsilon_Ng>^2-\frac{1}{2\epsilon_n}\lambda_N^2d\Gamma^i$

The minimization of the potential is now been done by its variation:

• $\delta W^c=\sum_{i=1}^2\int_{\Gamma_c^{i}}\delta g<\lambda_N+\epsilon_Ng>d\Gamma^i$

Together with the minimisation of the system energy

• $\delta W^{int, ext}=\sum_{i=1}^2\delta W_i^{int, ext}$

the minimisation of the system energie with fulfillment of the penetration constraint can be written as

• δW = δWint,ext + δWc = 0

This equation states a initial boundary value problem and can be solved by normal discretization methods in time and space. The algorithm for the solution of the contact problem now consists of an inner iteration (Newton) and an outer iteration (Uzawa):

• start simulation with λ = 0
• Uzawa loop
• Solve $\delta W=\delta W^{int, ext}+\delta W^c\left(\lambda^{uz}_N=\mbox{const.}, \epsilon_N\right)=0$ by using Newtons loop
• update the Lagrange Multiplier $\lambda_N^{uz+1}=<\lambda_N^{uz}+\epsilon_Ng>$
• next Uzawa iteration $uz\rightarrow uz+1$

The use of an updated penalty formulation allows to solve the problem exact even by using a (small) penalty value. It therefore combines the strength of the penalty method regarding simplicity with the accuracy of the Lagrange method. Nevertheless to increase the accuracy the penalized problem has to be solved a couple of times.

### Formulation with friction

If now friction does occur between the contacting surfaces a constrained to for the used friction law has to be considered. In case of Coulomb friction this friction law is stated as: $|\boldsymbol{v}_T|=\left\{\begin{array}{c}=0\;\; \mbox{if}\;\;t_T\leq\mu t_N\\\geq 0 \;\; \mbox{if}\;\; t_T>\mu t_N\end{array}\right.$. This constrained is now treated in a similar way like it is described above.

## Algorithmic Formulation

### Contact Search

Before the start of the contact simulation a set of possible contact partners is initialised. Therefore for every quadrature point on the slave surface a partner on the master surface is search, e.g. the point on the master surface which is the closest to the slave quadrature point:

• $\mbox{min}|\nu*\left(\boldsymbol{X}^1-\boldsymbol{X}^2\right)|$ where ν is the normal on the master surface

this search is performed by an outer and an inner search

• outer search: search the node that is closest to the slave quadrature point
• inner search: for every master facet belonging to this node now a closest point projection is done

### Initialisation of Contact Partners

If a closest point has been found the slave surface and the master surface are stored as a ContactLink3D, e.g. one of the contact pairs where the constraints has to be fulfilled. Where now all the computations to compute the RHS and LHS are done in the ContactLink3D. The Constructor of the ContactLink3D gets the following informations to set up the pair of contact points:

• NewId: pGeometry, pProperties: The Id of the contact link
• pGeometry: The contact link does not have a special geometry
• pProperties: The model part properties
• Master: A pointer on the master facet
• Slave: A pointer on the slave facet
• MasterContactLocalPoint: The local coordinates of the point on the master surface that is a closest point projection
• SlaveContactLocalPoint: The local coordinates of the quadrature point on the slave surface
• SlaveIntegrationPointIndex: The integration point index of the quadrature point on the slave surface

### Uzawa loop

• First step: After the contact links have been initialized the Lagrangian multipliers $[\lambda_N\;\;\lambda_T^1\;\;\lambda_T^2]$ are set to their initial values.
• Next steps: After each Newton loop the Multipliers are updated:
• $\lambda_n^{uz+1}=<\lambda_n^{uz}+\epsilon_ng>$
• Is converged: The contact links are deleted, the Lagrange multipliers defined on the quadrature points of the slave surfaces are stored to be the initial values for the multipliers in the next time step.

### Inner loop

The fully discretized weak form including the penaltization of the constraint and the Lagrange Multipliers is now solved iteratively by use of Newton's method.

## Element Formulation

### Normal contact force

tN = < λN + εNg > with $g=-\boldsymbol{n}^2\cdot\left(\boldsymbol{x}_1-\boldsymbol{x}_2\right)$

### Frictional contact force

$t_T=\left\{\begin{array}{cc}\mu t_N\frac{\boldsymbol{t}_T^{trial}}{||\boldsymbol{t}_T^{trial}||}&if\;\;||\boldsymbol{t}_T^{trial}||\geq \mu t_N\\\boldsymbol{t}_T^{trial}&if\;\;||\boldsymbol{t}_T^{trial}||< \mu t_N\end{array}\right.$

whereas $t_T^{trial}=\boldsymbol{\lambda}_T+\epsilon_T\boldsymbol{v}^{\overline{12}}_{rel}$, having the relative tangential velocity $\boldsymbol{v}^{\overline{12}}_{rel}=\left(\dot{\boldsymbol{u}}^1-\dot{\boldsymbol{u}}^2\right)\left[\boldsymbol{\tau}^2_1\;\;\;\boldsymbol{\tau}^2_2\right]$ with $\boldsymbol{\tau}^2_i$ as the tangential vectors on the master surface

$||\boldsymbol{t}_T^{trial}||=\sqrt{t^{trial}_{T_i}m_{ij}t^{trial}_{T_j}}$ with $m_{ij}=\frac{\boldsymbol{\tau}^2_i\cdot\boldsymbol{\tau}^2_j}{|\boldsymbol{\tau}^2_i||\boldsymbol{\tau}^2_j|}$

$\boldsymbol{r}^{int}=\underbrace{\int_{\Gamma^1}\delta g t_N\boldsymbol{n}^2dA}_{\boldsymbol{r}^{int}_{normal}}+\underbrace{\int_{\Gamma}\delta\boldsymbol{\zeta}\boldsymbol{t}_tdA}_{\boldsymbol{r}^{int}_{friction}}$

$=\sum_q^{NQ^1}\left\{\left[\boldsymbol{N}^1\;\;-\boldsymbol{N}^2\right]^Tt_N\left(\xi^q_1\right)\gamma^q\boldsymbol{n}^2|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|\right\} +\sum_q^{NQ^1}\left\{\left[\boldsymbol{N}^1\;\;-\boldsymbol{N}^2\right]^T\left[\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\;\;\frac{\boldsymbol{\tau}_2^2}{|\boldsymbol{\tau}_2^2|}\right]\boldsymbol{t}_T\left(\xi_1^q\right)\gamma^q\boldsymbol{n}^2|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|\right\}$

## References

• T.A. Laursen Computational Contact and Impact Mechanics, Springer, 2002