Interaction model and parameters definition

One needs to define a tact_behav object with tact_behav() which corresponds to an interaction model with its parameters.

Meaning of the parameters:

  • friction: either constant fric or stfr static and dyfr dynamic friction
  • restitution (newton): rstn normal, rstt tangential
  • cohesion: cohn normal, coht tangential (unused with wet model)
  • CZM parameters:
    • cn normal stiffness (pure mode I)
    • ct tangential stiffness (pure mode II)
    • smax critical stress (with mixity it is pure mode I)
    • w fracture energy (with mixity it is pure mode I)
    • d plastic displacement for TH (d=smax/cn means triangle)
    • du rupture displacement for ABP
    • phi ratio between micro and macro fracture energy
    • p constant pressure in a broken CZM

Furthermore some interaction have some internal variables (not managed by the user) which needs a careful use of (StockRloc(), UpdateTactBehav(), RecupRloc()).

Here is a list of existing models with the expected parameters:

RIGID/RIGID :

  • IQS_CLB: fric (\mu).

    g = \max(0, g_{\star}) + h \Vln.

g \geq 0; \;\; \Rln \geq 0; \;\; g \cdot \Rln = 0

\parallel \Rlt \parallel \leqslant \mu \Rln
\left \lbrace
\begin{array}{l} \parallel \Rlt \parallel <  \mu \Rln \Rightarrow \Vlt = 0 \\
                         \parallel \Rlt \parallel = \mu \Rln \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

  • IQS_CLB_g0: fric (\mu).

    g = \max(0, g_{\star}-g_0) + h \Vln with g_0 the gap computed at the first step and stored an internal variable.

g \geq 0; \;\; \Rln \geq 0; \;\; g \cdot \Rln = 0

\parallel \Rlt \parallel \leqslant \mu \Rln
\left \lbrace
\begin{array}{l} \parallel \Rlt \parallel <  \mu \Rln \Rightarrow \Vlt = 0 \\
                         \parallel \Rlt \parallel = \mu \Rln \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

  • IQS_DS_CLB: dyfr (\mu_d), stfr (\mu_s) - be carefull \mu_d \leq \mu_s.

    g = \max(0, g_{\star}) + h \Vln. If status_begin = stick \mu=\mu_s else \mu=\mu_d

g \geq 0; \;\; \Rln \geq 0; \;\; g \cdot \Rln = 0

\parallel \Rlt \parallel \leqslant \mu \Rln
\left \lbrace
\begin{array}{l} \parallel \Rlt \parallel <  \mu \Rln \Rightarrow \Vlt = 0 \\
                         \parallel \Rlt \parallel = \mu \Rln \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

  • IQS_WET_DS_CLB: cohn (\Rln^{coh}), coht (not used), Wthk (g^{coh}), dyfr (\mu_d), stfr (\mu_s).

    g = \max(0, g_{\star}) + h \Vln. If status_begin = stick \mu=\mu_s else \mu=\mu_d

    if g_{\star} \le g^{coh}

    g \geq 0; \;\; \Rln + \Rln^{coh} \geq 0; \;\; g \cdot (\Rln + \Rln^{coh}) = 0

\parallel \Rlt \parallel \leqslant \mu (\Rln + \Rln^{coh})
\left \lbrace
\begin{array}{l} \parallel \Rlt \parallel <  \mu (\Rln + \Rln^{coh}) \Rightarrow \Vlt = 0 \\
                        \parallel \Rlt \parallel = \mu (\Rln + \Rln^{coh}) \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

    else

    g \geq 0; \;\; \Rln \geq 0; \;\; g \cdot \Rln = 0

\parallel \Rlt \parallel \leqslant \mu \Rln
\left \lbrace
\begin{array}{l} \parallel \Rlt \parallel <  \mu \Rln \Rightarrow \Vlt = 0 \\
                        \parallel \Rlt \parallel = \mu \Rln \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

  • IQS_MOHR_DS_CLB: cohn (\sigma_n^{coh}), coht (\sigma_t^{coh}), dyfr (\mu_d), stfr (\mu_s).

    g = \max(0, g_{\star}) + h \Vln. \Rln^{coh}=S \sigma_n^{coh}. \Rlt^{coh}=S \sigma_t^{coh}. S, the contact surface, is computed during contact detection. If status_begin = stick \mu=\mu_s else \mu=\mu_d

    if cohesive

    g \geq 0; \;\; \Rln+ \Rln^{coh} \geq 0; \;\; g \cdot (\Rln + \Rln^{coh}) = 0

\parallel \Rlt + \Rlt^{coh} \parallel \leqslant \mu (\Rln + \Rln^{coh})
\left \lbrace
\begin{array}{l} \parallel \Rlt + \Rlt^{coh} \parallel <  \mu (\Rln + \Rln^{coh}) \Rightarrow \Vlt = 0 \\
                        \parallel \Rlt + \Rlt^{coh} \parallel = \mu (\Rln + \Rln^{coh}) \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

    else

    g \geq 0; \;\; \Rln \geq 0; \;\; g \cdot \Rln = 0

\parallel \Rlt \parallel \leqslant \mu \Rln
\left \lbrace
\begin{array}{l} \parallel \Rlt \parallel <  \mu \Rln \Rightarrow \Vlt = 0 \\
                        \parallel \Rlt \parallel = \mu \Rln \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

  • IQS_MAC_CZM: dyfr (\mu=\mu_d), stfr (\mu=\mu_s), cn, ct , b, w.

    g = \max(0, g_{\star}) + h \Vln. \Rln^{coh}=S \sigma_n^{coh}. \Rlt^{coh}=S \sigma_t^{coh}. S, the contact surface, is computed during contact detection.

    \sigma_n^{coh} = \beta^2 cn \lbrack\mid u \mid \rbrack \cdot
n and \sigma_t^{coh} = \beta^2 ct \lbrack\mid u \mid
\rbrack \cdot (I - n \times n)

    f(\beta)=0

g \geq 0; \;\; \Rln+ \Rln^{coh} \geq 0; \;\; g \cdot (\Rln + \Rln^{coh}) = 0

\parallel \Rlt + \Rlt^{coh} \parallel \leqslant \mu (\Rln + \Rln^{coh})
\left \lbrace
\begin{array}{l} \parallel \Rlt + \Rlt^{coh} \parallel <  \mu (\Rln + \Rln^{coh}) \Rightarrow \Vlt = 0 \\
                        \parallel \Rlt + \Rlt^{coh} \parallel = \mu (\Rln + \Rln^{coh}) \Rightarrow \exists \alpha \geqslant 0, \Vlt = -\alpha \Rlt
\end{array}
\right .

  • IQS_MAL_CZM: dyfr, stfr, cn, ct, smax, w

  • IQS_TH_CZM: dyfr, stfr, cn, ct, p, p0, smax, w , d

  • IQS_ABP_CZM: dyfr, stfr, cn, ct, p, smax, w , du, phi

  • RST_CLB: rstn (e_n), rstt (e_t), fric (\mu). \tVln=\Vln+e_n\Vln{}_{,begin} and \tVlt=\Vlt+e_n\Vlt{}_{,begin}

    if g_{\star} \leq 0

    \tVln \geq 0; \;\; \Rln \geq 0; \;\; \tVln \cdot \Rln = 0

 \parallel \Rlt \parallel \leqslant \mu \Rln
 \left \lbrace
 \begin{array}{l} \parallel \Rlt \parallel <  \mu \Rln \Rightarrow \tVlt = 0 \\
                         \parallel \Rlt \parallel = \mu \Rln \Rightarrow \exists \alpha \geqslant 0, \tVlt = -\alpha \Rlt
\end{array}
\right .

    else

    \Rln = 0 \mbox{ and }\Rlt = 0

any/DEFORMABLE :

  • GAP_SGR_CLB: fric
  • GAP_SGR_CLB_g0: fric
  • GAP_MOHR_DS_CLB: cohn, coht, dyfr, stfr
  • VEL_SGR_CLB: fric
  • MAC_CZM: dyfr, stfr, cn, ct, b, w
  • MAL_CZM: dyfr, stfr, cn, ct, smax, w
  • MP_CZM: dyfr, stfr, cn, ct, p, p0, w
  • MSMP_CZM: dyfr, stfr, cn, ct, beta0, w
  • MP3_CZM: dyfr, stfr, cn, ct, p, p0, smax, w
  • TH_CZM: dyfr, stfr, cn, ct, p, p0, smax, w , d
  • ABP_CZM: dyfr, stfr, cn, ct, p, smax, w , du, phi

POINT/POINT:

  • ELASTIC_WIRE: stiffness, prestrain
  • BRITTLE_ELASTIC_WIRE’: stiffness, prestrain, Fmax
  • ELASTIC_ROD: stiffness, prestrain

any/any:

  • COUPLED_DOF:
  • NORMAL_COUPLED_DOF:
  • ELASTIC_REPELL_CLB: stiffness, fric

Example:

csas=tact_behav(name='gapc0', law='MAC_CZM', dyfr=0., stfr=0., cn=4.e+14, ct=3.e+14, b=0., w=60.)