摩擦ブリック要素との微小すべり接触

これらのブリック要素の目的は,剛性のある基礎上または2つの弾性構造の間の弾性構造の摩擦を伴うかまたは伴わない接触条件を考慮に入れることです.これらのブリック要素の接触は微小変形近似に制限されています(これは平坦な障害物に大きな変形を含むことがあります).

接触の近似

微小変形問題に対しては,接線方向の変位が通常の変位に影響を与えない場合,摩擦条件との接触の単純な表現(有限変形と比較して !)が通常使用されます.これは,障害物が完全に平坦でない場合には,当然,接線方向の変位が接点が保持する点に影響するという意味での近似です.これは,接触状態が基準配置に記載されているとみなすことができる微小変形の場合には当てはまりません.

主に摩擦条件との接触の離散化は,結合接触条件(通常は変位有限要素節点で規定される)または微小すべり接触条件(通常は乗数有限要素節点で規定される)の2つです.2つの離散化は同様のシステムにつながります.しかし,量の解釈は同じではありません.第3のアプローチは,弱積分接触条件であるGetfem接触ブリック要素です.各反復時に接触境界に非線形積分の計算が必要ですが,数値分解能は連続原理から直接導出されるため,ポテンシャル的によりスケーラブルです.

詳細は,例えば [KI-OD1988][KH-PO-RE2006] および [LA-RE2006] で見つけることができます.

節点接触条件

節点接触条件は,摩擦条件との接触(または摩擦条件なし)が適用されるいくつかの接触節点 \(a_i\), \(i=1..N_c\) で構成されます.接触条件は次の通りです.

\[u_N(a_i)-\text{gap}_i \le 0, ~~ \lambda_N^i \le 0, ~~ (u_N(a_i)-\text{gap}_i) \lambda_N^i = 0,\]

ここで, \(\lambda_N^i\) は,\(a_i\) 上の等価節点接触力です.そして, \(u_N(a_i)\) は弾性体と障害物の間,または2つの弾性体の正規相対変位です.項 \(\text{gap}_i\) は,参照設定の2つのソリッド間の通常のギャップを表します.摩擦条件は

\[ \begin{align}\begin{aligned}\|\lambda_T^i\| \le -{\mathscr F} \lambda_N^i,\\\lambda_T^i = {\mathscr F} \lambda_N^i \frac{\dot{u}_T}{\|\dot{u}_T\|} ~~~ \text{ when } \dot{u}_T \ne 0,\end{aligned}\end{align} \]

ここで, \(\dot{u}_T\) は相対すべり速度です. \({\mathscr F}\) は摩擦係数で, \(\lambda_T^i\)\(a_i\) 上の等価節点摩擦力です.摩擦条件は,包含物によって整理することができます.

\[\lambda_T^i \in {\mathscr F} \lambda_N^i \text{Dir}(\dot{u}_T),\]

ここで, \(\text{Dir}(\dot{u}_T)\)\(x \mapsto \|x_T\|\) (すなわち, \(x \ne 0\)\(\text{Dir}(0)\) である閉じた単位円)の準微分の多値関数となります.2次元の場合,\(\text{Dir}(\dot{u}_T)\)\(\text{Sign}(\dot{u}_T)\) のようになります,ここで \(\text{Sign}\) は多値記号写像です.

摩擦が発生する接触の完全な線形弾性問題は次の通りです.

増大パラメータ \(r\) が与えられた場合,接触および摩擦条件は,等価的に投影の項で表すことができます.

\[ \begin{align}\begin{aligned}\frac{1}{r}(\lambda_N^i - P_{]-\infty, 0]}(\lambda_N^i - r (u_N(a_i) - \text{gap}_i))) = 0,\\\frac{1}{r}(\lambda_T^i - P_{{\mathscr B}(-{\mathscr F}P_{]-\infty, 0]}(\lambda_N^i - r(u_N(a_i) - \text{gap}_i))}(\lambda_T^i - r \dot{u}_T(a_i))) = 0,\end{aligned}\end{align} \]

\(P_K\)\(K\) 凸の投影で,\({\mathscr B}(-{\mathscr F}\lambda_N^i)\) は中心 \(0\) 半径 \(-{\mathscr F}\lambda_N^i\) の球です.これらの表現は,半 Smooth Newton法を実行するために使用されます.

摩擦との接触に提出された線形弾性問題を近似したとします.そして,もし \(U\) が変位のための未知数のベクトルなら,次のような行列 \(B_N\)\(B_T\) を表現することができます.

\[ \begin{align}\begin{aligned}u_N(a_i) = (B_N U)_i,\\(\dot{u}_T(a_i))_k = (B_T \dot{U})_{(d-1)(i-1)+k},\end{aligned}\end{align} \]

ここで, \(d\) は領域の次元であり, \(k = 1..d-1\) です.摩擦との接触による弾性問題の表現は,次のように書くことができます.

\[ \begin{align}\begin{aligned}K U = L + B_N^T \lambda_N + B_T^T \lambda_T,\\-\frac{1}{r\alpha_i}(\lambda_N^i - P_{]-\infty, 0]}(\lambda_N^i - \alpha_i r ((B_N U)_i - \text{gap}_i))) = 0, ~~ i = 1..N_c,\\-\frac{1}{r\alpha_i}(\lambda_T^i - P_{{\mathscr B}(-{\mathscr F}P_{]-\infty, 0]}(\lambda_N^i - \alpha_i r ((B_N U)_i - \text{gap}_i))))}(\lambda_T^i - \alpha_i r (B_T U - B_T U^{0})_i)) = 0, ~~ i = 1..N_c,\end{aligned}\end{align} \]

ここで, \(\alpha_i\) は引数の均質化のために追加できるパラメータです.\((B_T U)_i\) はインデックス \((d-1)(i-1)+1\) から \((d-1)i\) へのサブベクトルであり,シンプルさのために,滑り速度 \(B_T \dot{U}\) が前の時間ステップの変位 \(U^{0}\) によって, \(\frac{(B_T U - B_T U^{0})}{\Delta t}\) に離散化されています.もちろん他の滑り速度の表現も可能であるが,時間ステップ \(\Delta t\) は摩擦条件の中に表れません.なぜなら,それは滑り速度の方向に影響を与えないためです.

その場合,均質化係数 \(\alpha_i\) は,式 \(h^{d-2}\) に比例して取ることができます( \(h\) はブリック要素の直径です.).このようにして,増強パラメータ \(r\) は, \(N/m^2\) で表すことができ,弾性体のYoung率に近づくように選択されています.この解は,増強パラメータの値に対して敏感ではないことに注意してください.

微小すべり接触条件

結合接触条件にはいくつかの欠点があります:ロック現象,過度の制約.実際には,変位と比較して減少した次数の乗数を使用することは,しばしばより安定しており,同じ精度となります(結合接触条件は,変位と同じ有限要素法で記述された乗数にほぼ相当します).

\(\varphi_i\) を,変位を記述する有限要素の試行関数とします.\(\psi_i\) は,接触境界 \(\Gamma_c\) 上の乗数を記述する有限要素の試行関数です.法線応力を記述する許容乗数の集合は,

\[\Lambda_N^h = \{ \mu^h_N = \sum \mu^j_N \psi_j : \mu^h_N(a_i) \le 0, ~i = 1..N_c \}\]

ここで, \(a_i\)\(~~i=1..N_c\) は,乗数に対応する有限要素節点です.離散接触条件は,次のように弱形式で表されます.

\[\int_{\Gamma_c} (\mu_N^h - \lambda_N^h) (u_N - \text{gap}) d\Gamma \ge 0 ~~ \forall \mu_N^h \in \Lambda_N^h.\]

その場合,成分 \(\lambda_N^i\) は接触応力(\(N/m^2\))であり,行列 \(B_N\) は次のように表すことができます.

\[(B_N)_{ij} = \int_{\Gamma_c} \psi_i \varphi_j d\Gamma.\]

行列 \(B_T\) も同様の方法で書くことができます.摩擦状態は弱形式で書くことができます.

\[\int_{\Gamma_c} (\mu_T^h - \lambda_T^h) \dot{u}_T d\Gamma \ge 0 ~~ \forall \mu_T^h \in \Lambda_T^h({\mathscr F}\lambda_N^h),\]

ここで, \(\Lambda_T^h({\mathscr F}\lambda_N^h)\) は許容できる摩擦応力の離散集合です.

最後に,直接結節接触状態の表現を再掲します.

\[ \begin{align}\begin{aligned}K U = L + B_N^T \lambda_N + B_T^T \lambda_T,\\-\frac{1}{r\alpha_i}(\lambda_N^i - P_{]-\infty, 0]}(\lambda_N^i - \alpha_i r ((B_N U)_i - \text{gap}_i))) = 0, ~~ i = 1..N_c,\\-\frac{1}{r\alpha_i}(\lambda_T^i - P_{{\mathscr B}(-{\mathscr F}P_{]-\infty, 0]}(\lambda_N^i - \alpha_i r ((B_N U)_i - \text{gap}_i)))}(\lambda_T^i - \alpha_i r (B_T U - B_T U^{0})_i)) = 0, ~~ i = 1..N_c,\end{aligned}\end{align} \]

\(\lambda_N^i\)\(\lambda_T^i\) は力の密度であることを除き,\(\alpha_i\)\(1/h^d\) に比例するように選択され,増強パラメータ \(r\) は弾性体のYoung率に近いまま選択できるようにします.

追加の安定化技術( [HI-RE2010] を参照)がないと,変位の有限要素と乗数の要素の間で極限条件を満たされなければならないことに注意してください.これは,乗数の有限要素が,変位の有限要素よりも "less rich" でなければならないことを特に意味します.

弱積分接触条件

弱積分接触式は,離散的な許容応力の集合を陽に記述しません. 摩擦条件との接触のための汎用的なNitsche法 も参照してください.接触応力(摩擦を含む)は接触境界 \(\Gamma_c\) 上の有限要素空間 \(W^h\) 上に記述されています.

\[\lambda^h \in W^h = \left\{ \sum \lambda_i \psi_i, \lambda_i \in I\hspace{-0.2em}R^d \right\}\]

\(d\) は問題の次元であり,\(\psi_i\) は接触応力が発生する形状関数です.今,外向きの単位ベクトル \(n\) を与える接触境界 \(\Gamma_c\) 上の(通常は障害物の法線)の標準分解を行います.

\[\lambda_N^h = \lambda^h \cdot n, ~~~~ \lambda_T^h = \lambda^h - \lambda_N^h n, ~~~~ u_N^h = u^h \cdot n, ~~~~ u_T^h = u^h - u_N^h n,\]

ここで, \(u^h\) は,有限要素空間で近似された変位場 \(V^h\) です.これにより,接触状態を以下のように表現することができます.

\[\displaystyle \int_{\Gamma_c} (\lambda^h_N + (\lambda^h_N - r(u^h_N-gap))_-)\mu^h_N d\Gamma = 0 ~~~~ \forall \mu^h \in W^h,\]

ここで, \(gap\) は,基準配置で与えられた最初のギャップです.\(r\) は拡大パラメータで,\((\cdot)_-:I\hspace{-0.2em}R\rightarrow I\hspace{-0.2em}R_+\) は負の部分です.摩擦条件も同様に書くことができます.

\[\displaystyle \int_{\Gamma_c} (\lambda^h_T -P_{B(\mathscr F(\lambda^h_N - r(u^h_N-gap))_-)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)))\cdot \mu^h_T d\Gamma = 0 ~~~~ \forall \mu^h \in W^h,\]

ここで, \(B(\rho)\) は,中心 \(0\) と半径 \(\rho\) と投影 \(P_{B(\rho)}\) の閉じた円です.(慣性によって,ボールは元の位置 \(\rho \le 0\) に戻ります).以下の項 \(\alpha(u^h_T-w^h_T)\) は,すべり速度の近似値を表しています.パラメータラ \(\alpha\) とフィールド \(w^h_T\) は,選択された近似に関して適合させなければなりません.例えば,標準的な有限差分は次のようになります.

\[(\dot{u}^h_T)^{n+1} \approx \displaystyle \frac{(u^h_T)^{n+1} - (u^h_T)^{n}}{dt}\]

\(\alpha = 1/dt\)\(w^h_T = (u^h_T)^{n}\) を選択する必要があります.ボールの対称性のために,パラメータ \(\alpha\) は,調合において重要な役割を果たさないことに注意してください.これは,接触条件のための増強パラメータと摩擦条件のための増強パラメータとの間のスケーリングとして単純に見ることができます.以前の接触式とは対照的に,ここでは,増強パラメータ(独立性は連続レベルでのみ生じる)に関して条件の厳密な独立性はありません.

GetFEM ブリック要素は,Alart-Curnier拡張Lagrangian定式化 [AL-CU1991] から得られた接触条件の4つのバージョンを実装しています.最初のものは非対称バージョンに対応します.それは次のようになります.

\[\begin{split}\left\{\begin{array}{l} a(u^h, v^h) + \displaystyle \int_{\Gamma_c} \lambda^h \cdot v^h d\Gamma = \ell(v^h) ~~~~ \forall v^h \in V^h, \\ \displaystyle -\frac{1}{r}\int_{\Gamma_c} (\lambda^h_N + (\lambda^h_N - r(u^h_N-gap))_-)\mu^h_N d\Gamma \\ ~~~~~~~~~~\displaystyle -\frac{1}{r}\int_{\Gamma_c} (\lambda^h_T -P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)))\cdot \mu^h_T d\Gamma = 0 ~~~~ \forall \mu^h \in W^h, \end{array}\right.\end{split}\]

ここで, \(a(\cdot, \cdot)\)\(\ell(v)\) は,例えば線形弾性と \(\rho={\mathscr F}(\lambda^h_N - r(u^h_N-gap))_-\)\(u\) の問題の残りの部分を表します.この場合,数値解析は,値 \(r = r_0 / r\) により増強パラメータの値 \(r = r_0 / r\) を選択することにあたることに注意してください. \(r_0\) は,弾性係数の次元を有します(古典的にはYoung率の値).Newton反復を書くためには,接線系を導出しなければなりません.それは右辺ではなく,接触と摩擦の項のみで書くことができます.

\[\begin{split}\left\{\begin{array}{l} \cdots - \displaystyle \int_{\Gamma_c} \delta_{\lambda} \cdot v d\Gamma = \cdots ~~~~ \forall v^h \in V^h, \\ \displaystyle -\frac{1}{r}\int_{\Gamma_c}(1-H(r(u^h_N-gap)-\lambda_N))\delta_{\lambda_N}\mu^h_N d\Gamma \displaystyle -\int_{\Gamma_c}H(r(u^h_N-gap)-\lambda_N)\delta_{u_N}\mu^h_N d\Gamma \\ ~~~~~~\displaystyle -\frac{1}{r}\int_{\Gamma_c}(\delta_{\lambda_T} - D_xP_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{\lambda_T})\cdot\mu^h_T d\Gamma \\ ~~~~~~\displaystyle -\int_{\Gamma_c}\alpha D_xP_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{u_T}\cdot\mu^h_T d\Gamma \\ ~~~~~~ \displaystyle +\int_{\Gamma_c}({\mathscr F} D_{\rho}P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{u_N})\cdot\mu^h_T d\Gamma \\ ~~~~~~ \displaystyle -\int_{\Gamma_c}(\frac{\mathscr F}{r} D_{\rho}P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{\lambda_N})\cdot\mu^h_T d\Gamma = \cdots ~~~ \forall \mu^h \in W^h, \end{array}\right.\end{split}\]

ここで, \(H(\cdot)\) はHeaviside関数です(負の引数は0,非負の引数は1), \(D_xP_{B(\rho)}(x)\)\(D_{\rho}P_{B(\rho)}(x)\) は, ( \(\rho \le 0\) が消滅すると想定される)射影 \(B(\rho)\) の微分で \(\delta_{\lambda}\)\(\delta_{u}\) は接線問題に対応する未知数です.

第2のバージョンは, "対称" バージョンに対応します.実際には,摩擦のない場合のみ対称です(この場合,これは,拡張されたLagrangian式から直接導かれるからである).それは以下の通りになります.

\[\begin{split}\left\{\begin{array}{l} a(u^h, v^h) + \displaystyle \int_{\Gamma_c} (\lambda^h_N - r(u^h_N-gap))_- v^h_N d\Gamma \\ ~~~~~~ - \displaystyle \int_{\Gamma_c} P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)))\cdot v^h_T d\Gamma = \ell(v^h) ~~~~ \forall v^h \in V^h, \\ \displaystyle -\frac{1}{r}\int_{\Gamma_c} (\lambda^h_N + (\lambda^h_N - r(u^h_N-gap))_-)\mu^h_N d\Gamma \\ ~~~~~~~~~~\displaystyle -\frac{1}{r}\int_{\Gamma_c} (\lambda^h_T -P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)))\cdot \mu^h_T d\Gamma = 0 ~~~~ \forall \mu^h \in W^h, \end{array}\right.\end{split}\]

そして接線系は次の通りです.

\[\begin{split}\left\{\begin{array}{l} \cdots + \displaystyle \int_{\Gamma_c} rH(r(u^h_N-gap)-\lambda_N)\delta_{u_N} v_N - H(r(u^h_N-gap)-\lambda_N)\delta_{\lambda_N} v_N d\Gamma \\ ~~~~~~+ \displaystyle \int_{\Gamma_c} r \alpha D_xP_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)) \delta_{u_T}\cdot v^h_T d\Gamma \\ ~~~~~~- \displaystyle \int_{\Gamma_c} D_xP_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)) \delta_{\lambda_T}\cdot v^h_T d\Gamma \\ ~~~~~~- \displaystyle \int_{\Gamma_c} (r{\mathscr F} D_{\rho}P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)) \delta_{u_N})\cdot v^h_T d\Gamma \\ ~~~~~~- \displaystyle \int_{\Gamma_c} ({\mathscr F} D_{\rho}P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T)) \delta_{\lambda_N})\cdot v^h_T d\Gamma = \cdots ~~~~ \forall v^h \in V^h, \\ \displaystyle -\frac{1}{r}\int_{\Gamma_c}(1-H(r(u^h_N-gap)-\lambda_N))\delta_{\lambda_N}\mu^h_N d\Gamma \displaystyle -\int_{\Gamma_c}H(r(u^h_N-gap)-\lambda_N)\delta_{u_N}\mu^h_N d\Gamma \\ ~~~~~~\displaystyle -\frac{1}{r}\int_{\Gamma_c}(\delta_{\lambda_T} - D_xP_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{\lambda_T})\cdot\mu^h_T d\Gamma \\ ~~~~~~\displaystyle -\int_{\Gamma_c}\alpha D_xP_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{u_T}\cdot\mu^h_T d\Gamma \\ ~~~~~~ \displaystyle +\int_{\Gamma_c}({\mathscr F} D_{\rho}P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{u_N})\cdot\mu^h_T d\Gamma \\ ~~~~~~ \displaystyle -\int_{\Gamma_c}(\frac{\mathscr F}{r} D_{\rho}P_{B(\rho)}(\lambda^h_T - r\alpha(u^h_T-w^h_T))\delta_{\lambda_N})\cdot\mu^h_T d\Gamma = \cdots ~~~ \forall \mu^h \in W^h, \end{array}\right.\end{split}\]

\(\rho={\mathscr F}(\lambda^h_N - r(u^h_N-gap))_-\) のようになります.

第3のバージョンは,ペナルティ化された接触および摩擦状態に対応します.乗算器を使用する必要はありません.このバージョンでは,パラメータ \(r\) はペナルティ化パラメータであり,非貫通およびCoulomb摩擦条件の良好な近似を実行するのに十分な大きさです.定式化は以下の通りです.

\[\begin{split}\left\{\begin{array}{l} a(u^h, v^h) + \displaystyle \int_{\Gamma_c} r(u^h_N-gap)_+ v^h_N d\Gamma \\ ~~~~~~ + \displaystyle \int_{\Gamma_c} P_{B(\mathscr F r(u^h_N-gap)_+)}(r\alpha(u^h_T-w^h_T))\cdot v^h_T d\Gamma = \ell(v^h) ~~~~ \forall v^h \in V^h, \end{array}\right.\end{split}\]

そして接線系は次の通りです.

\[\begin{split}\left\{\begin{array}{l} \cdots + \displaystyle \int_{\Gamma_c} rH(u^h_N-gap)\delta_{u_N} v_N d\Gamma \\ ~~~~~~- \displaystyle \int_{\Gamma_c} r \alpha D_xP_{B(\mathscr F r(u^h_N-gap)_+)}(r\alpha(u^h_T-w^h_T)) \delta_{u_T}\cdot v^h_T d\Gamma \\ ~~~~~~+ \displaystyle \int_{\Gamma_c} ({r\mathscr F} H(u^h_N-gap) D_{\rho}P_{B(\mathscr F r(u^h_N-gap)_+)}(r\alpha(u^h_T-w^h_T)) \delta_{u_N})\cdot v^h_T d\Gamma = \cdots ~~~~ \forall v^h \in V^h, \end{array}\right.\end{split}\]

数値継続

また, GetFEM は積分された弱接触条件に基づいて,離散化された進化的接触問題の数値解を見つけるための数値継続法を開発しています(一般的な紹介については, 数値連続法と分岐 を参照).この目的のために,パラメータに依存するすべり速度を摩擦条件に加えることができます.

\[\displaystyle \int_{\Gamma_c} \Bigl(\lambda^h_T -P_{B(-\mathscr F\lambda^h_N)}\bigl(\lambda^h_T - r\bigl(\alpha(u^h_T-w^h_T)+(1-\gamma)z^h_T\bigr)\bigr)\Bigr)\cdot \mu^h_T d\Gamma = 0 ~~~~ \forall \mu^h \in W^h.\]

ここで, \(\gamma\) はパラメータであり, \(z^h_T\) は初期滑り速度です.もし誰かが選んだのであれば,

\[\displaystyle \alpha = \frac{1}{dt},\quad w^h_T = (u^h_T)^{n},\quad z^h_T = \frac{(u^h_T)^{n} - (u^h_T)^{n-1}}{dt},\]

\(t_{n}\)\(t_{n+1}\) の標準摩擦条件をそれぞれ0と1に戻します.

摩擦則

純粋なCoulomb摩擦とは別に,次のようになります. \(\rho = {\mathscr F} \left| \sigma_n \right|\) ,弱積分接触先フレームワーク GetFEM より汎用的な摩擦法の記述もサポートしています.

\[\begin{split}\displaystyle \rho = \left\{\begin{array}{ll} \tau_{adh} + {\mathscr F} \left| \sigma_n \right| & ~~~\mbox{if } ~~ \tau_{adh} + {\mathscr F} \left| \sigma_n \right| < \tau_{tresca} \\ \tau_{tresca} & ~~~\mbox{otherwise} \end{array}\right.\end{split}\]

\({\mathscr F}\) は摩擦係数であり,次のようになります. \(\tau_{adh}\) は接着荷重(負荷に依存しない)せん断応力であり,次のようになります. \(\tau_{tresca}\) は最大せん断応力限界です.

../_images/getfemuserfrictionlaw.png

モデルに摩擦を伴うか伴わない接触を加えます

摩擦のない基本接触ブリック要素

摩擦のない接触ブリック要素を追加するには,modelオブジェクトメソッドを呼び出します.

getfem::add_basic_contact_brick
     (md, varname_u, multname_n, dataname_r, BN, dataname_gap, dataname_alpha, aug_version);

この関数は,乗数変数 multname_n により, varname_u に摩擦のない接触ブリック要素を追加します.次のような場合 \(U\) は片方向拘束が適用される自由度のベクトルです.行列 \(B_N\) は,この条件が \(B_N U \le 0\) のように定義されていなければなりません.制約は乗数 multname_n に与えられています.その次元 \(B_N\) は行の数と同じでなければなりません.変数 dataname_r は拡張パラメータの名前です \(r\) は許容可能な値の範囲で選択されるべきです. dataname_gap は初期ギャップを表すオプションのパラメータです.これは,単一の値または値のベクトルにすることができます. dataname_alpha は,拡張パラメータのためのオプションの均質化パラメータです.

パラメータaug_versionは,非対称のAlart-Curnier拡張Lagrangeの場合は1,対称の場合は2,拡張された乗数に基づく非対称の方法の場合は3です.

基本的な接触行列 \(B_N\) を変更することは可能ですなことに注意してください.

getfem::contact_brick_set_BN(md, indbrick);

摩擦を伴う基本接触ブリック要素

getfem::add_basic_contact_brick

(md, varname_u, multname_n, multname_t, dataname_r, BN, dataname_friction_coeff, dataname_gap, dataname_alpha, aug_version);

この関数は2つの乗数変数 multname_nmultname_t により, varname_u に摩擦を伴う接触先ブリック要素を追加します. U が条件が適用される自由度のベクトルである場合, B_N の行列は,接触条件が以下のように定義されていなければなりません. \(B_N U \le gap\)B_T は,相対接線変位が \(B_T U\) となるようにしなければなりません.行列 B_T には, B_N\(d-1\) を掛けたものがたくさんあります.ここで, \(d\) は領域次元です.接触条件は,次元が B_N の行数に等しく,摩擦条件が乗数 multname_t によって行なわれる乗数 multname_n に与えられています.サイズは行数でなければなりません. B_T のパラメータ dataname_friction_coeff は摩擦係数を記述します.それは,スカラまたは各接触条件の係数を記述するベクトルであってもよいです.増補パラメータ r は許容可能な値の範囲で選択する必要があります(Getfemのユーザーマニュアルを参照). dataname_gap は初期ギャップを表すオプションのパラメータです.これは,単一の値または値のベクトルにすることができます. dataname_alpha は,拡張パラメータのためのオプションの均質化パラメータです.

パラメータaug_versionは,非対称のAlart-Curnier拡張Lagrangianの場合は1,対称の場合は2,拡張乗算器に基づく非対称法の場合は3,De Saxceの拡張乗算器に基づく非対称投影の場合は4です.

基本的な接触行列 \(B_N\)\(B_T\) を次のように変更することができます.

getfem::contact_brick_set_BN(md, indbrick);
getfem::contact_brick_set_BT(md, indbrick);

頑丈な障害物ブリック要素との摩擦のない節点接触

getfem::add_nodal_contact_with_rigid_obstacle_brick

(md, mim, varname_u, multname_n, dataname_r, region, obstacle, aug_version);

この関数は,モデルに堅い障害物を伴う結合接触摩擦無し接触条件を追加します.この条件は, region に対応する境界上の変数 varname_u に適用されます.剛体の障害物は,障害物までの符号付き距離である obstacle の文字列で記述する必要があります.この文字列は,座標が 'x', 'y' の2次元, 'x', 'y', 'z' の3次元表現でなければなりません.例えば,剛体の障害物が \(z \le 0\) に対応する場合,対応する符号付き距離は単に 'z' になります. multname_n は,サイズが境界 region の自由度の数である固定サイズの変数でなければなりません.これは接触等価節点力を表します.増強パラメータ r は許容可能な値の範囲で選択する必要があります(弾性体のYoung率に近いです,Getfemのユーザーマニュアルを参照).非対称のAlart-Curnier拡張Lagrangeの場合は1,対称の場合は2,拡張された乗算器に基づく非対称の方法の場合は3です.

摩擦を伴う頑丈な障害物のブリック要素との節の接触

getfem::add_nodal_contact_with_rigid_obstacle_brick

(md, mim, varname_u, multname_n, multname_t, dataname_r, dataname_friction_coeff, region, obstacle, aug_version);

この関数は,モデルに堅い障害物を伴う摩擦条件付きの結合接触を追加します.この条件は, region に対応する境界上の変数 varname_u に適用されます.剛体の障害物は,障害物までの符号付き距離である obstacle 文字列で記述する必要があります.この文字列は,座標が 'x', 'y' の2次元, 'x', 'y', 'z'の3次元表現でなければなりません.例えば,剛体の障害物が \(z \le 0\) に対応する場合,対応する符号付き距離は単に 'z' になります. multname_n は,サイズが境界 region の自由度の数である固定サイズの変数でなければなりません.接触等価節力を表す. multname_t は,サイズが境界 region の自由度 \(d-1\) の倍数である固定サイズの変数でなければなりませんここで, \(d\) は領域次元です.これは摩擦等価節力を表します.増強パラメータ r は許容可能な値の範囲で選択する必要があります(弾性体のYoung率に近いです,Getfemのユーザーマニュアルを参照). dataname_friction_coeff は摩擦係数です.それは,各接点節点上の摩擦係数を表す値のスカラまたはベクトルです.

パラメータaug_versionは,非対称のAlart-Curnier拡張Lagrangianの場合は1,対称の場合は2,拡張乗算器に基づく非対称法の場合は3,De Saxceの拡張乗算器に基づく非対称投影の場合は4です.

非整合メッシュブリック要素間の摩擦のない節点接触

getfem::add_nodal_contact_between_nonmatching_meshes_brick

(md, mim1, mim2, varname_u1, varname_u2, multname_n, dataname_r, rg1, rg2, slave1=true, slave2=false, aug_version=1);

この関数は,1つまたは2つの弾性体の2つの面の間に摩擦のない接触状態を追加します.条件は,変数 varname_u または変数 varname_u1varname_u2 に1つまたは2つの異なる変位フィールドが与えられているかどうかに応じて適用されます.ベクトル rg1 および rg2 は,互いに接触することが予想される領域の対を含みます.一面あたり単一の領域の場合, rg1rg2 は通常の整数として与えられます.単一変位変数の場合, rg1rg2 の両方で定義された領域は変数 varname_u を参照します.2つの変位変数の場合, rg1varname_u1 を, rg2varname_u2 を参照します. multname_n は,サイズが rg1rg2 で定義されたもののうち,スレーブの領域の自由度の数である固定サイズの変数でなければなりません.接触等価節力を表す,増大パラメータ r は,受容可能な値の範囲で選択されるべきです(弾性体のYoung率に近く,Getfemのユーザ文書を参照).オプションパラメータ slave1slave2 は, rg1rg2 で定義された領域が対応して "スレーブ" とみなされた場合に宣言します.デフォルトで slave1 は真で,slave2 はfalseです.すなわち rg1 はスレーブ面を含み, rg2 はマスター面です. slave1slave2 のうちの1つだけがtrueに設定されるのが望ましいです.

パラメータ aug_version は,非対称のAlart-Curnier拡張Lagrangeの場合は1,対称なLagrangianの場合は1,拡張された乗数を使用する非対称の方法の場合は3です.

基本的には,このブリック要素は行列 \(B_N\) とベクトルのギャップとアルファを計算し,基本的な接触ブリック要素を呼び出します.

非整合メッシュと摩擦との間の節点接触

getfem::add_nodal_contact_between_nonmatching_meshes_brick
(md, mim1, mim2, varname_u1, varname_u2, multname_n, multname_t,

dataname_r, dataname_friction_coeff, rg1, rg2, slave1=true, slave2=false, aug_version=1);

この関数は,1つまたは2つの弾性体の2つの面の間に摩擦状態の接触を追加します.条件は,変数 varname_u または変数 varname_u1varname_u2 に1つまたは2つの異なる変位フィールドが与えられているかどうかに応じて適用されます.ベクトル rg1 および rg2 は,互いに接触することが予想される領域の対を含みます.一面あたり単一の領域の場合, rg1rg2 は通常の整数として与えられます.単一変位変数の場合, rg1rg2 の両方で定義された領域は変数 varname_u を参照します. 2つの変位変数の場合, rg1varname_u1 を, rg2varname_u2 を参照します. multname_n は,サイズが rg1rg2 で定義されたもののうち,スレーブとして特徴づけられるもののうち,それらの領域の自由度の数である固定サイズの変数でなければなりません.接触等価節点法線力を表します. multname_t は, multname_n のサイズにqdim-1を掛けたサイズに対応する固定サイズの変数でなければなりません.これは接触等価節点接線(摩擦)力を表します.増大パラメータ r は,受容可能な値の範囲で選択されるべきです(弾性体のYoung率に近くなります,Getfemのユーザ文書を参照してください). friction_coeff パラメータに格納された摩擦係数は,単一値または multname_n と同じサイズのベクトルです.オプションパラメータ slave1slave2 は, rg1rg2 で定義された領域が対応して "スレーブ" とみなされた場合に宣言します.デフォルトで slave1 は真で,slave2 はfalseです.すなわち rg1 はスレーブ面を含み, rg2 はマスター面を含みます.slave1slave2 のうちの1つだけがtrueに設定されるのが望ましいです.

パラメータaug_versionは,非対称のAlart-Curnier拡張Lagrangianの場合は1,対称の場合は2,拡張倍率を使用する非対称方法の場合は3,拡張倍率およびDe Saxce投影の場合の非対称方法の場合は増補戦略として4を示します.

基本的には,このブリック要素は行列 \(B_N\)\(B_T\) とベクトルgapとalphaを計算し,基本的な接触要素を呼び出します.

摩擦のない接触状態を安定させるヒューズ

ヒューズにより安定化された摩擦のない接触要素を追加するには,modelオブジェクトメソッドを呼び出します.

getfem::add_Hughes_stab_basic_contact_brick
    (md, varname_u, multname_n, dataname_r, BN, DN, dataname_gap, dataname_alpha, aug_version);

この関数は,乗数変数 multname_n のによりヒューズが安定した摩擦のない接触ブリック要素を varname_u に追加します. \(U\) は片側拘束が適用される自由度のベクトルであり, \(\lambda\) は接触力の乗数ベクトルです.そして,ヒューズは安定した摩擦のない接触条件が行列によって定義される \(B_N\)\(D_N\) はこの条件が以下のように定義されていなければなりません. \(B_N U-D_N \lambda \le 0\) .ここで, \(D_N\) は,安定化された項に対する質量行列です.変数 dataname_r は拡張パラメータの名前です \(r\) は許容可能な値の範囲で選択されるべきです. dataname_gap は初期ギャップを表すオプションのパラメータです.これは,単一の値または値のベクトルにすることができます.dataname_alpha は,拡張パラメータのためのオプションの均質化パラメータです.

パラメータaug_versionは,非対称のAlart-Curnier拡張Lagrangeの場合は1,対称の場合は2,非対称のAlart-Curnierで拡張された乗数に基づく非対称の方法の場合は3です.

マトリクス \(D_N\) は,基本接触項とヒューズ安定項の和であることに留意してください.これは変更することができます

getfem::contact_brick_set_DN(md, indbrick);

剛性の障害物ブリック要素との摩擦のない一体接触

getfem::add_integral_contact_with_rigid_obstacle_brick
    (md, mim, varname_u, multname_n, dataname_obs, dataname_r, region, option = 1);

この関数は,一体型の方法で定義されたモデルに剛性の障害物がある摩擦のない接触条件を追加します.これは,連続レベルで定義された拡張Lagrangian定式化の直接近似です.メリットはスケーラビリティが向上していることです.Newton反復の数は,メッシュサイズに多かれ少なかれ近くなければなりません.この条件は, region に対応する境界上の変数 varname_u に適用されます.剛体の障害物は,(有限要素法で補間された)障害物までの符号付き距離であるデータ dataname_obstacle で記述されるべきです. multname_n は接触応力を表す有限要素法変数でなければなりません. multname_nvarname_u の間の極限条件が必要です.拡張パラメータ dataname_r は,許容可能な値の範囲で選択する必要があります.

オプションの可能な値は,非対称のAlart-Curnier拡張Lagrange法の場合は1,対称の場合は2,追加の増強を伴う非対称のAlart-Curnier法の場合は3,新しい非対称法の場合は4です.デフォルト値は1です.

mim はもちろん積分法を表します.それは,関係する非線形項を効率的に積分するのに十分正確でなければならないことに注意してください.

摩擦を伴う頑丈な障害物ブリック要素との一体的な接触

getfem::add_integral_contact_with_rigid_obstacle_brick
    (md, mim, varname_u, multname_n, dataname_obs, dataname_r,
     dataname_friction_coeffs, region, option = 1, dataname_alpha = "",
     dataname_wt = "", dataname_gamma = "", dataname_vt = "");

この関数は,一体的に定義されたモデルに剛性の障害物を伴う摩擦状態の接触を追加します.これは,連続レベルで定義された拡張Lagrangian定式化の直接近似です.メリットはスケーラビリティが向上していることです.Newton反復の数は,メッシュサイズに多かれ少なかれ近くなければなりません.この条件は, region に対応する境界上の変数 varname_u に適用されます.剛体の障害物は,(有限要素法で補間された)障害物までの符号付き距離であるデータ dataname_obstacle で記述されるべきです. multname_n は接触応力を表す有限要素法変数でなければなりません. multname_nvarname_u の間の極限条件が必要です.拡張パラメータ dataname_r は,許容可能な値の範囲で選択する必要があります.

パラメータ dataname_friction_coeffs には,Coulomb摩擦係数とオプションとして接着剪断応力閾値とTresca限界せん断応力が含まれています.定数係数の場合,そのサイズは1から3までです.有限要素法で記述された係数の場合,このベクトルには対応するmesh_femの基本自由度の数に等しい数の単一値,値のペアまたはトリプレットが含まれます.

オプションの可能な値は,非対称のAlart-Curnier拡張Lagrange法の場合は1,対称の場合は2,追加の増強を伴う非対称のAlart-Curnier法の場合は3,新しい非対称法の場合は4です.デフォルト値は1です.オプション4は,純粋なCoulomb摩擦を仮定し,接着応力とトレスカ限界係数を無視します.

dataname_alphadataname_wt は,進化的摩擦の問題を解決するためのオプションのパラメータです. dataname_gammadataname_vt は,摩擦条件にパラメータ依存滑り速度を加えるためのオプションのデータを示します. mim はもちろん積分法を表します.それは,関係する非線形項を効率的に積分するのに十分正確でなければならないことに注意してください.

非整合メッシュ要素間の摩擦のない一体的接触

getfem::add_integral_contact_between_nonmatching_meshes_brick
    (md, mim, varname_u1, varname_u2, multname_n, dataname_r,
     region1, region2, option = 1);

この関数は,マッチしないメッシュ間の摩擦のない接触条件をモデルに追加します.これは,不可分な方法で定義されています.これは,連続レベルで定義された拡張Lagrangian定式化の直接近似です.メリットはスケーラビリティが向上している必要があります.Newton反復の数は,メッシュサイズに多かれ少なかれなければなりません.条件は, region1region2 に対応する境界上の変数 varname_u1varname_u2 に適用されます. multname_n は接触応力を表す有限要素法変数でなければなりません. multname_nvarname_u1varname_u2 の間の極限条件が必要です.拡張パラメータ dataname_r は,許容可能な値の範囲で選択する必要があります.

オプションの可能な値は,非対称のAlart-Curnier拡張Lagrange法の場合は1,対称の場合は2,追加の増強を伴う非対称のAlart-Curnier法の場合は3,新しい非対称法の場合は4です.デフォルト値は1です.

mim はもちろん積分法を表します.それは,関係する非線形項を効率的に積分するのに十分正確でなければならないことに注意してください.

摩擦と非整合メッシュブリック要素間の一体的接触

getfem::add_integral_contact_between_nonmatching_meshes_brick
    (md, mim, varname_u1, varname_u2, multname, dataname_r,
     dataname_friction_coeffs, region1, region2, option = 1,
     dataname_alpha = "", dataname_wt1 = "", dataname_wt2 = "");

この関数は,一致していないメッシュ間の摩擦状態を持つ接点をモデルに追加します.この要素は,一体的に定義された接点を追加します.これは,連続レベルで定義された拡張Lagrangian定式化の直接近似です.メリットはスケーラビリティが向上している必要があります.Newton反復の数は,メッシュサイズに多かれ少なかれなければなりません.条件は, region1region2 に対応する境界上の変数 varname_u1varname_u2 に適用されます. multname は,接触と摩擦のストレスを表す有限要素法変数でなければなりません. multnamevarname_u1varname_u2 の間の極限条件が必要です.拡張パラメータ dataname_r は,許容可能な値の範囲で選択する必要があります.

パラメータ dataname_friction_coeffs には,Coulomb摩擦係数とオプションとして接着剪断応力閾値とTreasca限界せん断応力が含まれています.一定の係数の場合,そのサイズは1から3までです. varname_u1 と同じメッシュの有限要素法で記述された係数の場合,このベクトルにはmesh_femの基本的な自由度に対応する数値の数に等しい単一の値,値のペアまたはトリプレットが含まれます.

オプションの可能な値は,非対称のAlart-Curnier拡張Lagrange法の場合は1,対称の場合は2,追加の増強を伴う非対称のAlart-Curnier法の場合は3,新しい非対称法の場合は4です.デフォルト値は1です. dataname_alphadataname_wt1dataname_wt2 は,進化的摩擦の問題を解決するためのオプションのパラメータです. mimvarname_u1 と同じメッシュ上での積分法を表します.それは,関係する非線形項を効率的に積分するのに十分正確でなければならないことに注意してください.

剛性の障害物要素との摩擦のないペナルティ接触

getfem::add_penalized_contact_with_rigid_obstacle_brick
    (md, mim, varname_u, dataname_obs, dataname_r, region,
     option = 1, dataname_lambda_n = "");

この関数は,摩擦のないペナルティな接触状態と剛体の障害物をモデルに追加します.この条件は, region に対応する境界上の変数 varname_u に適用されます.剛体の障害物は,(有限要素法で補間された)障害物までの符号付き距離であるデータ dataname_obstacle で記述されるべきです.ペナルティ化パラメータ dataname_r は,近似非貫通条件を規定するのに十分な大きさですが,接線系の条件付けをあまりにも悪化させないように大きすぎないように選択すべきです.dataname_n は,オプションが2の場合に使用されるオプションのパラメータです.この場合,ペナルティ項は lambda_n だけシフトされます(対応する拡張dLagrangianの式にUzawaアルゴリズムを使用できます)

摩擦を伴う頑丈な障害物要素とのペナルティ接触

getfem::add_penalized_contact_with_rigid_obstacle_brick
    (md, mim, varname_u, dataname_obs, dataname_r, dataname_friction_coeffs,
     region, option = 1, dataname_lambda = "", dataname_alpha = "",
     dataname_wt = "");

この関数は,Coulomb摩擦を伴う不利な接触条件と,モデルに対する堅い障害物を追加します.この条件は, region に対応する境界上の変数 varname_u に適用されます.剛性の障害物は,データ dataname_obstacle が障害物までの符号付き距離である(有限要素法で補間された)データで記述するべきです.

パラメータ dataname_friction_coeffs には,Coulomb摩擦係数とオプションとして接着剪断応力閾値とTresca限界せん断応力が含まれています.定数係数の場合,そのサイズは1から3までです.有限要素法で記述された係数の場合,このベクトルには対応するmesh_femの基本自由度の数に等しい数の単一値,値のペアまたはトリプレットが含まれます.

ペナルティ化パラメータ dataname_r は,近似的な非貫通および摩擦条件を規定するのに十分な大きさですが,接線系の条件をあまりにも悪化させないように大きすぎないように選択すべきです. dataname_lambdaoption が2の場合に使用されるオプションのパラメータです.この場合,ペナルティ項は lambda だけシフトします(対応する拡張Lagrangian式に対するUzawaアルゴリズムの使用が可能になります). dataname_alphadataname_wt は,進化的摩擦の問題を解決するためのオプションのパラメータです.

非整合要素間の摩擦なしペナルティ接触

getfem::add_penalized_contact_between_nonmatching_meshes_brick
    (md, mim, varname_u1, varname_u2, dataname_r,
     region1, region2, option = 1, dataname_lambda_n = "");

この関数は,不整合メッシュ間にペナルティドコンタクト摩擦なし条件をモデルに追加します.この条件は, region1region2 に対応する境界上の変数 varname_u1varname_u2 に適用されます.ペナルティ化パラメータ dataname_r は,近似非貫通条件を規定するのに十分な大きさですが,接線系の条件付けをあまり大きく悪化させないように大きすぎないように選択すべきです. dataname_n は,オプションが2の場合に使用されるオプションのパラメータです.この場合,ペナルティ項は lambda_n だけシフトします(これにより対応する拡張Lagrangian式にUzawaアルゴリズムを使用できます)

要素とマッチングしていないメッシュと摩擦のあるペナルティ接触

getfem::add_penalized_contact_between_nonmatching_meshes_brick
    (md, mim, varname_u1, varname_u2, dataname_r, dataname_friction_coeffs,
     region1, region2, option = 1, dataname_lambda = "",
     dataname_alpha = "", dataname_wt1 = "", dataname_wt2 = "");

この関数は,マッチングしていないメッシュ間のCoulomb摩擦を含むペナルティ化された接触条件をモデルに追加します.この条件は, region1region2 に対応する境界上の変数 varname_u1varname_u2 に適用されます.ペナルティ化パラメータ dataname_r は,近似非貫通条件を規定するのに十分な大きさですが,接線系の条件付けをあまり大きく悪化させないように大きすぎないように選択すべきです.

パラメータ dataname_friction_coeffs には,Coulomb摩擦係数とオプションとして接着剪断応力閾値とTresca限界せん断応力が含まれています.一定の係数については,そのサイズは1から3までです. varname_u1 と同じメッシュ上の有限要素法で記述された係数の場合,このベクトルは,対応する mesh_fem の基本自由度数に等しいいくつかの単一値です.

dataname_lambdaoption が2の場合に使用されるオプションのパラメータです.この場合,ペナルティ項は lambda だけシフトします(対応する拡張Lagrangian式に対するUzawaアルゴリズムの使用が可能になります) dataname_alphadataname_wt1dataname_wt2 は,進化的摩擦の問題を解決するためのオプションのパラメータです. mimvarname_u1 と同じメッシュ上での積分法を表します.それは,関係する非線形項を効率的に積分するのに十分正確でなければならないことに注意してください.