拘束条件(Constraint) — CAE用語解説
拘束条件(Constraint)とは
拘束条件って、要するに「動かない場所を決める」ってことですか?
ざっくり言うとそうだね。FEMでは各節点が最大6つの自由度(DOF: 並進3方向 + 回転3方向)を持っていて、そのうち動かしたくない方向をゼロに固定するのが最も基本的な拘束だ。例えば鋼板の片端を壁にボルト留めしてるなら、その端の全DOFを拘束する——いわゆる完全固定(Encastre)だね。
「動かない」だけじゃなくて、いろんな種類があるんですか?
うん、大きく分けると3つある。(1) SPC(単点拘束):特定の節点の特定DOFを固定値(普通はゼロ)にする。いちばんシンプル。(2) MPC(多点拘束):複数の節点の変位を数式で関連づける。RBE2やRBE3はこの仲間。(3) 対称・反対称拘束:モデルの対称性を利用して計算量を減らすための拘束。どれも全体剛性方程式 $[K]\{u\} = \{F\}$ に対する制約条件の与え方が違うだけなんだ。
DOF拘束の基本
DOFを拘束するって、数学的にはどういう操作なんですか?
全体剛性方程式から、拘束したDOFの行と列を実質的に消去する操作だ。例えば節点 $i$ のX方向変位 $u_i = 0$ と指定すると、$[K]$ の該当行・列をゼロにして対角成分に大きな値を入れるか、あるいはその行と列ごと取り除く。Nastranだと SPC カード、AbaqusだとBoundary Conditionの "ENCASTRE" や "PINNED" がこれに当たる。
ENCASTREとPINNEDって何が違うんですか?
ENCASTREは6DOF全部を拘束する完全固定。PINNEDは並進3DOFだけ拘束して回転は自由にする——つまりピン支持だ。梁構造を解析するとき、一端をENCASTRE(固定端)、もう一端をPINNED(ピン支持)にして片持ち梁と単純支持梁の比較をする、なんてのは実務でもよくあるパターンだね。
剛体運動と拘束不足
先輩に「拘束が足りないと剛体運動で計算が落ちる」って言われたんですけど、剛体運動って何ですか?
剛体運動(Rigid Body Motion)というのは、物体が変形せずにそのまま平行移動や回転する運動のことだ。3次元空間では並進3方向(X, Y, Z)と回転3方向(Rx, Ry, Rz)の合計6つの剛体モードがある。これらを拘束で止めないと、$[K]$ が特異行列になって逆行列が求まらず、ソルバーがエラーを吐く。
じゃあ最低6個のDOFを拘束すればいいんですか?
原理的にはそう。でも「6個」の選び方が重要なんだ。例えば1点の全6DOFを拘束すると、その点に反力が集中して局所的に非現実的な応力が出る。実務では3点拘束(1-2-3法)を使うことが多い。1点目で並進3方向を止め、2点目で回転2方向を止め、3点目で残り1方向の回転を止める——こうすると拘束反力が分散して、局所応力の問題が緩和される。
具体的に、どういうエラーメッセージが出るんですか?
Nastranなら "FATAL: MATRIX IS SINGULAR" とか "MECHANISM DETECTED"、Abaqusなら "NUMERICAL SINGULARITY" や "ZERO PIVOT" が出るのが典型だ。こういうエラーが出たらまず拘束条件の見直しが最優先。あとNastranだと PARAM,BAILOUT,-1 でエラー時にも結果を出力させて、変位のアニメーションを見れば剛体運動してる方向が一目瞭然だよ。
対称境界条件
対称境界条件を使うとモデルを半分にできるって聞いたんですけど、どういう仕組みですか?
例えばYZ平面が対称面だとしよう。対称面上の節点に対して、対称面に垂直な並進($u_x = 0$)と対称面内の回転($\theta_y = 0, \theta_z = 0$)を拘束する。こうすると、対称面を境にして向こう側に「鏡像のモデル」が存在するのと等価になるんだ。モデルサイズが半分になれば、計算時間は1/4〜1/8くらいになる(メモリも半減する)。
反対称っていうのもあるんですか?
あるよ。反対称の場合は、対称面に平行な並進を拘束して、垂直方向は自由にする。つまり対称と逆の組み合わせだ。例えば左右対称の梁に反対称な荷重(ねじりなど)がかかる場合に使う。ただし荷重まで含めて対称・反対称が成立する場合だけ使えるから、形状は対称でも荷重が非対称なら使えない——ここを見落とすと結果がおかしくなるよ。
MPC(多点拘束)
MPCって「Multi-Point Constraint」ですよね。これは何をする拘束ですか?
MPCは複数の節点間に数式の関係を定義する拘束だ。一般形は:
$$\sum_{j} A_j \cdot u_j = 0$$
ここで $A_j$ は係数、$u_j$ は各節点のDOF。例えば「節点1と節点2のX方向変位が等しい」なら $u_1 - u_2 = 0$、つまり $A_1 = 1, A_2 = -1$ だ。実務では、異なるメッシュ密度の境界を繋ぐタイ接続、ボルト締結部のモデル化、剛体領域の表現なんかに使う。めちゃくちゃ応用範囲が広い拘束なんだ。
MPCを設定するとき、気をつけることはありますか?
一番多いミスは「過拘束」だね。同じDOFに対してSPCとMPCが重複して定義されると、矛盾した拘束になってソルバーがエラーを出すか、最悪のケースでは無言で間違った解を出す。あと、MPCの従属節点(dependent node)と独立節点(independent node)の選択も重要だ。荷重が作用する節点を従属節点にすると、その荷重が正しく伝達されないことがあるから注意が必要だよ。
RBE2とRBE3の違い
RBE2とRBE3の違いがいまいちピンとこないんですけど……
これはFEM初〜中級者がほぼ全員ハマるところだから、しっかり整理しよう。
RBE2(Rigid Body Element, Type 2)は剛体結合。1つの独立節点(independent node)に対して複数の従属節点(dependent nodes)が完全に追従する。独立節点が動けば従属節点も同じように動く。つまり剛性を追加する。ボルト穴周りの結合や、質量要素の取り付けによく使われる。
RBE3は荷重分配要素。1つの従属節点の変位が、複数の独立節点の変位の加重平均で決まる。剛性を追加しないのが最大のポイント。面荷重を1点に集約するとか、測定点の代表値を出すのに使う。
え、RBE2は剛性を追加して、RBE3は追加しない? 具体的にはどう影響するんですか?
例えば円孔の周囲の節点群を考えよう。RBE2で中心の独立節点に繋ぐと、孔の周りが完全に剛体化して変形しなくなる——実際のボルト締結よりもはるかに硬い結合になる。一方RBE3で中心に荷重を入力すると、その荷重が周囲の節点に分配されるだけで、孔の周りは自由に変形できる。
現場で多い失敗は、本来RBE3を使うべきところでRBE2を使ってしまい、局所的に過剰な剛性が入って応力が実態と全然違う値になるケースだ。「力を伝えたいのか、荷重を分配したいのか」で使い分けるのが鉄則だよ。
実務上のポイント
まとめると、拘束条件を設定するときに一番大事なことは何ですか?
3つある。
第一に、物理的な妥当性。実際の構造物がどう支持されているかを忠実に再現すること。壁にボルト留めならENCASTRE、ベアリング支持なら1方向の並進のみ拘束、というように。過剰に固定すると応力が低く出て危険側の評価になるし、拘束不足だとそもそも解が得られない。
第二に、拘束反力の確認。解析が走った後、拘束点の反力を必ずチェックする。全反力の合計が外力と釣り合っているか、特定の拘束点に非現実的な反力が出ていないか——これで拘束条件のミスの大半は検出できる。
第三に、拘束の影響範囲。拘束点の近傍は応力集中が起きやすいから、評価したい領域から十分離れた位置に拘束を置くのが理想だ。サンブナンの原理で、拘束から代表寸法の2〜3倍離れれば影響は減衰するよ。
関連用語
- SPC(Single Point Constraint):1つの節点の特定DOFを固定値にする単点拘束
- MPC(Multi-Point Constraint):複数節点間に数式的関係を定義する多点拘束
- RBE2:剛体結合要素。従属節点が独立節点に完全追従。剛性を追加する
- RBE3:荷重分配要素。従属節点の変位が独立節点群の加重平均。剛性を追加しない
- DOF(Degree of Freedom):自由度。節点が持つ独立な運動成分
- 剛体運動(Rigid Body Motion):変形を伴わない並進・回転運動。拘束不足で発生
- 対称境界条件:対称面の垂直並進と面内回転を拘束して半モデルを実現する境界条件
- サンブナンの原理:荷重や拘束の局所的な詳細は、十分遠方では影響しないという原理
CAE用語の正確な理解は、チーム内のコミュニケーションの基盤です。 — Project NovaSolverは実務者の学習支援も視野に入れています。
拘束条件の実務で感じる課題を教えてください
Project NovaSolverは、CAEエンジニアが日々直面する課題——セットアップの煩雑さ、計算コスト、結果の解釈——の解決を目指しています。あなたの実務経験が、より良いツール開発の原動力になります。
お問い合わせ(準備中)関連トピック
なった
詳しく
報告