ContactLink3D
(→Inner load vector) |
|||
(33 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 65: | 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 === | === 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. | * 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. | ||
Line 72: | Line 75: | ||
=== Inner loop === | === Inner loop === | ||
− | The fully discretized weak form including the penaltization of the constraint and the Lagrange Multipliers is | + | 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 == | == Element Formulation == | ||
Line 84: | Line 87: | ||
<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> | <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 === | === 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>\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\} | ::<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> | + | +\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> | 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- | + | === 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. | <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== | ||
Line 101: | 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
- tN = < λN + εNg >
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 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:
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 = δ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
by using Newtons loop
- update the Lagrange Multiplier
- next Uzawa iteration
- Solve
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
tN = < λN + εNg > 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