# ContactLink3D

(→Algorithmic Formulation) |
|||

(49 intermediate revisions by one user not shown) | |||

Line 2: | Line 2: | ||

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 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. | ||

{| border="1" cellpadding="5" cellspacing="0" align="center" | {| border="1" cellpadding="5" cellspacing="0" align="center" | ||

− | ! style="background:#ffdead;" | This condition and the underlying algorithm for contact problems has not been tested by means of a broader range of benchmark examples | + | ! style="background:#ffdead;" | This condition and the underlying algorithm for contact problems has not yet been tested by means of a broader range of benchmark examples. It seems to work quite fine for a number of different examples, but I do not give any guarantee that it is free of errors in its formulation or its implementation. |

|} | |} | ||

Line 23: | Line 23: | ||

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

*<math>g(x)\leq 0</math> | *<math>g(x)\leq 0</math> | ||

− | Within the finite element formulation the problem | + | Within the finite element formulation the problem can be solved by use of an updated penalty treatment of the contact constrained. To solve the problem the energy of the system must be minimised by fulfilling the penetration constraint. After having introduced a contact stress |

*<math>t_N =<\lambda_N+\epsilon_Ng></math> | *<math>t_N =<\lambda_N+\epsilon_Ng></math> | ||

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

*<math>g\leq 0\;\;\;\;\;\;t_N\geq 0\;\;\;\;\;\;g t_N=0\;\;\;\forall\;\mathbf{x}\epsilon\Gamma^c</math> | *<math>g\leq 0\;\;\;\;\;\;t_N\geq 0\;\;\;\;\;\;g t_N=0\;\;\;\forall\;\mathbf{x}\epsilon\Gamma^c</math> | ||

Whereas the contact stress <math>t_N</math> consists of an (outer) Lagrange value <math>\lambda_N</math>, which is constant during the Newton iteration, and an inner penaltization of the gap <math>\epsilon_Ng</math>. | Whereas the contact stress <math>t_N</math> consists of an (outer) Lagrange value <math>\lambda_N</math>, which is constant during the Newton iteration, and an inner penaltization of the gap <math>\epsilon_Ng</math>. | ||

The updated penalty method now penalizes violation of the constraint, leading to the following potential: | The updated penalty method now penalizes violation of the constraint, leading to the following potential: | ||

*<math>\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</math> | *<math>\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</math> | ||

− | + | which is minimized over by its variation: | |

*<math>\delta W^c=\sum_{i=1}^2\int_{\Gamma_c^{i}}\delta g<\lambda_N+\epsilon_Ng>d\Gamma^i</math> | *<math>\delta W^c=\sum_{i=1}^2\int_{\Gamma_c^{i}}\delta g<\lambda_N+\epsilon_Ng>d\Gamma^i</math> | ||

− | Together with the | + | Together with the minimization of the internal and external energies |

*<math>\delta W^{int, ext}=\sum_{i=1}^2\delta W_i^{int, ext}</math> | *<math>\delta W^{int, ext}=\sum_{i=1}^2\delta W_i^{int, ext}</math> | ||

− | the | + | the minimization of the system energie with fulfillment of the penetration constraint can be written as |

*<math>\delta W=\delta W^{int, ext}+\delta W^c=0</math> | *<math>\delta W=\delta W^{int, ext}+\delta W^c=0</math> | ||

This equation states a initial boundary value problem and can be solved by normal discretization methods in time and space. | This equation states a initial boundary value problem and can be solved by normal discretization methods in time and space. | ||

Line 44: | Line 44: | ||

** next Uzawa iteration <math>uz\rightarrow uz+1</math> | ** next Uzawa iteration <math>uz\rightarrow uz+1</math> | ||

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. | 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 === | === Formulation with friction === | ||

− | If | + | If friction occurs between the contacting surfaces a constrained for the stick and the slip of the surfaces has to be considered according to the used friction law. In case of Coulomb friction this friction law is stated as: |

− | <math> |\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.</math>. This constrained is | + | <math> |\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.</math>. This constrained is treated within the present condition in a similar way like it is described above for contact constrained in normal direction. |

+ | |||

== Algorithmic Formulation == | == Algorithmic Formulation == | ||

=== Contact Search === | === 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 | + | 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 searched, e.g. the point on the master surface which is the closest to the slave quadrature point: |

− | *<math>\mbox{min}|\ | + | *<math>\mbox{min}|\boldsymbol{n}^2*\left(\boldsymbol{X}^1-\boldsymbol{X}^2\right)|</math> where <math>\boldsymbol{n}^2</math> is the normal on the master surface |

this search is performed by an outer and an inner search | this search is performed by an outer and an inner search | ||

*outer search: search the node that is closest to the slave quadrature point | *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 | *inner search: for every master facet belonging to this node now a closest point projection is done | ||

+ | |||

=== Initialisation of Contact Partners === | === 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 | + | 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 have to be fulfilled. Whereas 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 | + | * NewId: The Id of the contact link, given by the ContactUtility |

* pGeometry: The contact link does not have a special geometry | * pGeometry: The contact link does not have a special geometry | ||

* pProperties: The model part properties | * pProperties: The model part properties | ||

Line 64: | Line 67: | ||

* SlaveContactLocalPoint: The local coordinates of the quadrature point on the slave surface | * 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 | * 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 <math>[\lambda_N\;\;\lambda_T^1\;\;\lambda_T^2]</math> are set to their initial values. | ||

+ | * Next steps: After each Newton loop the Multipliers are updated: | ||

+ | **<math>\lambda_n^{uz+1}=<\lambda_n^{uz}+\epsilon_ng></math> | ||

+ | * 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 solved iteratively by use of Newton's method. | ||

+ | == Element Formulation == | ||

+ | === Normal contact force === | ||

+ | <math> t_N= <\lambda_N+\epsilon_Ng></math> with <math>g=-\boldsymbol{n}^2\cdot\left(\boldsymbol{x}_1-\boldsymbol{x}_2\right)</math> | ||

+ | === Frictional contact force === | ||

+ | <math>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.</math> | ||

+ | whereas <math>t_T^{trial}=\boldsymbol{\lambda}_T+\epsilon_T\boldsymbol{v}^{\overline{12}}_{rel}</math>, having the relative tangential velocity <math>\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]</math> with <math>\boldsymbol{\tau}^2_i</math> as the tangential vectors on the master surface | ||

+ | <math>||\boldsymbol{t}_T^{trial}||=\sqrt{t^{trial}_{T_i}m_{ij}t^{trial}_{T_j}}</math> with <math>m_{ij}=\frac{\boldsymbol{\tau}^2_i\cdot\boldsymbol{\tau}^2_j}{|\boldsymbol{\tau}^2_i||\boldsymbol{\tau}^2_j|}</math> | ||

+ | === Inner load vector === | ||

+ | <math>\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}}</math> | ||

+ | ::<math>=\sum_q^{NQ^1}\left\{\left[\boldsymbol{N}^1\;\;\left(-\boldsymbol{N}^2\right)\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\;\;\left(-\boldsymbol{N}^2\right)\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\}</math> | ||

+ | with <math>\boldsymbol{N}^i=\left[\begin{array}{ccc|c|ccc}N_1^i&0&0&\cdots&N_n^i&0&0\\0&N_1^i&0&\cdots&0&N_n^i&0\\0&0&N_1^i&\cdots&0&0&N_n^i\end{array}\right]</math> | ||

+ | === LeftHandSide-Contribution === | ||

+ | <math>\boldsymbol{K}=\left[\begin{array}{cc}\boldsymbol{K}^1_1&\boldsymbol{K}^1_2\\\boldsymbol{K}^2_1&\boldsymbol{K}^2_2\end{array}\right]</math> where the indices refer to the variation (top) and the linearization (bottom) regarding the degrees of freedom of the slave (1) and the master (2) facet. | ||

+ | ====Contributions due to a linearization of the virtual work associated with the normal contact force==== | ||

+ | <math>\boldsymbol{K}^{1}_{1}=\sum_q^{NQ^1}\left(\left[\boldsymbol{N}^1\right]^T\boldsymbol{n}^2\right)\left(\left[\boldsymbol{N}^1\right]^T\boldsymbol{n}^2\right)^T\epsilon_N\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | <math>\boldsymbol{K}^{1}_{2}=-\sum_q^{NQ^1}\left(\left[\boldsymbol{N}^1\right]^T\boldsymbol{n}^2\right)\left(\left[\boldsymbol{N}^2\right]^T\boldsymbol{n}^2\right)^T\epsilon_N\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|-\sum_q^{NQ}\left(\left[\boldsymbol{N}^1\right]^T\boldsymbol{n}^2\right)\epsilon_N\left(\frac{\delta\boldsymbol{n}^2}{\delta\boldsymbol{u}^2}\left(\boldsymbol{x}^1-\boldsymbol{x}^2\right)\right)\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | ::<math>-\sum_q^{NQ^1}\left[\boldsymbol{N}^1\right]^T\frac{\delta\boldsymbol{n}^2}{\delta \boldsymbol{u}^2}t_N\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | <math>\boldsymbol{K}^{2}_{1}=-\sum_q^{NQ^1}\left(\left[\boldsymbol{N}^2\right]^T\boldsymbol{n}^2\right)\left(\left[\boldsymbol{N}^1\right]^T\boldsymbol{n}^2\right)^T\epsilon_N\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | ::<math>+\sum_q^{NQ^1}\left[\boldsymbol{N}^1\right]^T\frac{\delta\boldsymbol{n}^2}{\delta \boldsymbol{u}^2}t_N\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

− | === | + | <math>\boldsymbol{K}^{2}_{2}=\sum_q^{NQ^1}\left(\left[\boldsymbol{N}^2\right]^T\boldsymbol{n}^2\right)\left(\left[\boldsymbol{N}^2\right]^T\boldsymbol{n}^2\right)^T\epsilon_N\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|+\sum_q^{NQ}\left(\left[\boldsymbol{N}^2\right]^T\boldsymbol{n}^2\right)\epsilon_N\left(\frac{\delta\boldsymbol{n}^2}{\delta\boldsymbol{u}^2}\left(\boldsymbol{x}^1-\boldsymbol{x}^2\right)\right)\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> |

− | === | + | |

+ | ====Contributions due to a linearization of the virtual work associated with the frictional contact force==== | ||

+ | *<math>||\boldsymbol{t}_T^{trial}||< \mu t_N</math>: | ||

+ | |||

+ | <math>\boldsymbol{K}_2^1=\sum_q^{NQ}\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\;\;\;\;\frac{\boldsymbol{\tau}_2^2}{|\boldsymbol{\tau}_2^2|}\right] | ||

+ | \left[\frac{\partial\left(\boldsymbol{t}_T^{trial}\right)}{\partial \boldsymbol{u}^2}\right]^T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2| | ||

+ | +\sum_q^{NQ}\left(\boldsymbol{N^1}\right)^T\left[\frac{\partial\left(\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\right)}{\partial\boldsymbol{u}^2}\right]\boldsymbol{t}_T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}_2^2=-\sum_q^{NQ}\left(\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] | ||

+ | \left[\frac{\partial\left(\boldsymbol{t}_T^{trial}\right)}{\partial \boldsymbol{u}^2}\right]^T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2| | ||

+ | -\sum_q^{NQ}\left(\boldsymbol{N^2}\right)^T\left[\frac{\partial\left(\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\right)}{\partial\boldsymbol{u}^2}\right]\boldsymbol{t}_T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | *<math>||\boldsymbol{t}_T^{trial}||\geq \mu t_N</math>: | ||

+ | <math>\boldsymbol{K}_1^1=\sum_q^{NQ}\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\;\;\;\;\frac{\boldsymbol{\tau}_2^2}{|\boldsymbol{\tau}_2^2|}\right] | ||

+ | \mu \left[\frac{\partial t_N}{\partial \boldsymbol{u}^1}\right]\frac{\boldsymbol{t}_T}{||\boldsymbol{t}_T||}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}_2^1=\sum_q^{NQ}\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\;\;\;\;\frac{\boldsymbol{\tau}_2^2}{|\boldsymbol{\tau}_2^2|}\right] | ||

+ | \mu \left[\frac{\partial t_N}{\partial \boldsymbol{u}^2}\right]\frac{\boldsymbol{t}_T}{||\boldsymbol{t}_T||}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2| | ||

+ | +\sum_q^{NQ}\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\;\;\;\;\frac{\boldsymbol{\tau}_2^2}{|\boldsymbol{\tau}_2^2|}\right] | ||

+ | \mu t_N\left[\frac{\partial\frac{\boldsymbol{t}_T}{||\boldsymbol{t}_T||}}{\partial \boldsymbol{u}^2}\right] | ||

+ | \gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | |||

+ | ::<math>+\sum_q^{NQ}\left(\boldsymbol{N^1}\right)^T\left[\frac{\partial\left(\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\right)}{\partial\boldsymbol{u}^2}\right]\boldsymbol{t}_T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}_1^2=-\sum_q^{NQ}\left(\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] | ||

+ | \mu \left[\frac{\partial t_N}{\partial \boldsymbol{u}^1}\right]\frac{\boldsymbol{t}_T}{||\boldsymbol{t}_T||}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | |||

+ | |||

+ | <math>\boldsymbol{K}_2^2=-\sum_q^{NQ}\left(\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] | ||

+ | \mu \left[\frac{\partial t_N}{\partial \boldsymbol{u}^2}\right]\frac{\boldsymbol{t}_T}{||\boldsymbol{t}_T||}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2| | ||

+ | -\sum_q^{NQ}\left(\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] | ||

+ | \mu t_N\left[\frac{\partial\frac{\boldsymbol{t}_T}{||\boldsymbol{t}_T||}}{\partial \boldsymbol{u}^2}\right] | ||

+ | \gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | |||

+ | ::<math>-\sum_q^{NQ}\left(\boldsymbol{N^2}\right)^T\left[\frac{\partial\left(\frac{\boldsymbol{\tau}_1^2}{|\boldsymbol{\tau}_1^2|}\right)}{\partial\boldsymbol{u}^2}\right]\boldsymbol{t}_T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_1^2|</math> | ||

+ | |||

+ | === Damp-Matrix Contributions === | ||

+ | Only for frictional contact problems. | ||

+ | *<math>||\boldsymbol{t}_T^{trial}||< \mu t_N</math>: | ||

+ | |||

+ | <math>\boldsymbol{K}^1_1=\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\epsilon_T\left[\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]^T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}^1_2=-\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\epsilon_T\left[\left(\boldsymbol{N}^2\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]^T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}^2_1=-\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^2\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\epsilon_T\left[\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]^T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}^2_2=\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^2\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\epsilon_T\left[\left(\boldsymbol{N}^2\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]^T\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | |||

+ | *<math>||\boldsymbol{t}_T^{trial}||\geq \mu t_N</math>: | ||

+ | |||

+ | <math>\boldsymbol{K}^1_1=\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\mu t_N\frac{\partial\frac{\boldsymbol{t}_T}{|\boldsymbol{t}_T|}}{\partial\dot{\boldsymbol{u}}_1}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}^1_2=-\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^1\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\mu t_N\frac{\partial\frac{\boldsymbol{t}_T}{|\boldsymbol{t}_T|}}{\partial\dot{\boldsymbol{u}}_2}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}^2_1=-\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^2\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\mu t_N\frac{\partial\frac{\boldsymbol{t}_T}{|\boldsymbol{t}_T|}}{\partial\dot{\boldsymbol{u}}_1}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

+ | |||

+ | <math>\boldsymbol{K}^2_2=\sum_{q}^{NQ^1}\left[\left(\boldsymbol{N}^2\right)^T\left[\frac{\boldsymbol{\tau}^2_1}{|\boldsymbol{\tau}^2_1|}\;\;\;\;\frac{\boldsymbol{\tau}^2_2}{|\boldsymbol{\tau}^2_2|}\right]\right]\mu t_N\frac{\partial\frac{\boldsymbol{t}_T}{|\boldsymbol{t}_T|}}{\partial\dot{\boldsymbol{u}}_2}\gamma^q|\boldsymbol{\tau}_1^1\times\boldsymbol{\tau}_2^1|</math> | ||

− | |||

==References== | ==References== | ||

* T.A. Laursen ''Computational Contact and Impact Mechanics'', Springer, 2002 | * T.A. Laursen ''Computational Contact and Impact Mechanics'', Springer, 2002 | ||

Line 90: | Line 173: | ||

*[[SlaveContactFace3D]] | *[[SlaveContactFace3D]] | ||

*[[ContactUtility]] | *[[ContactUtility]] | ||

+ | |||

+ | |||

+ | [[Category:Conditions]] |

## Latest revision as of 19:24, 1 November 2008

## Contents |

## 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 yet been tested by means of a broader range of benchmark examples. It seems to work quite fine for a number of different examples, but I do not give any guarantee that it is free of errors in its formulation or its implementation. |
---|

## Theoretical background of the used formulation

### Formulation without friction

The contact of two (or more) bodies in three dimension is a constrained continuum mechanical problem. The surface 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:

- and ,

- having the boundaries and , ,

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 and its closest point projection onto the slave surface and the normal vector ν on the master surface:

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

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

*t*_{N}= < λ_{N}+ ε_{N}*g*>

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

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

which is minimized over by its variation:

Together with the minimization of the internal and external energies

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

- δ
*W*= δ*W*^{int,ext}+ δ*W*^{c}= 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 by using Newtons loop
- update the Lagrange Multiplier
- next Uzawa iteration

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 friction occurs between the contacting surfaces a constrained for the stick and the slip of the surfaces has to be considered according to the used friction law. In case of Coulomb friction this friction law is stated as: . This constrained is treated within the present condition in a similar way like it is described above for contact constrained in normal direction.

## 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 searched, e.g. the point on the master surface which is the closest to the slave quadrature point:

- 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 have to be fulfilled. Whereas 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: The Id of the contact link, given by the ContactUtility
- 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 are set to their initial values.
- Next steps: After each Newton loop the Multipliers are updated:
- 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 solved iteratively by use of Newton's method.

## Element Formulation

### Normal contact force

*t*_{N} = < λ_{N} + ε_{N}*g* > with

### Frictional contact force

whereas , having the relative tangential velocity with as the tangential vectors on the master surface

with

### Inner load vector

with

### LeftHandSide-Contribution

where the indices refer to the variation (top) and the linearization (bottom) regarding the degrees of freedom of the slave (1) and the master (2) facet.

#### Contributions due to a linearization of the virtual work associated with the normal contact force

#### Contributions due to a linearization of the virtual work associated with the frictional contact force

- :

- :

### Damp-Matrix Contributions

Only for frictional contact problems.

- :

- :

## References

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