次へ 上へ 前へ 目次へ
次へ:Homogeneous linear equations 上へ:Reading the step input 前へ:Reading the step input 目次へ

SPC

1つ目は SPC(単点拘束、*BOUNDARY)のアルゴリズムの分類です。節点 i の方向 j に対する境界条件 m を考えます。j は 0 ≤ j ≤ 6 で、方向の0は温度、1から3はグローバル方向 X、Y、Z の平行移動、4は静圧、5から7はグローバル軸 X、Y、Z 周りの回転を表します。次に自由度 idof = 8*(i-1)+j が境界条件に割り当てられ、それが1次元フィールド ikboun の位置 k に保存されます。ikboun はこれまでの境界自由度すべてが ikboun(k-1) < idof < ikboun(k+1) となる様に番号順に保存されています。さらに境界条件の数(m)が ilboun に保存され、ilboun(k)=m となります。また境界条件の節点、その方向と値は1次元フィールド nodeboun、ndirboun、xboun に保存され、nodeboun(m)=i、ndirboun(m)=j、xboun(m)=値 となります。振幅条件が境界条件に適用される場合、その番号 n は1次元フィールド iamboun に保存され、iamboun(m)=n となります。

SPC のタイプは1次元フィールド typeboun に保存されます。純粋な *BOUNDARY カードで定義されたか、他のやり方で設定されたかに従って SPC は異なるタイプを取ります。フィールド typeboun は1文字を要素とする1次元フィールドです。*BOUNDARY カード以外の SPC の設定方法には以下のようなものがあります。

対応タイプのコードは以下の通りです。

境界条件の総数は変数 nboun に保存されます。

以上によって ikboun には番号順に境界条件の全自由度が、ilboun には対応する境界条件番号が保持されます。これによって与えられた自由度が SPC で使用されているかどうかをすばやく確認することができるようになるのです。例えば以下のような SPC を考えてみます。

*BOUNDARY
8,1,1,0.
10,1,2,0.
7,3,3,-1.

この SPC のフィールドは以下の様になります。

nodeboun$\displaystyle =\begin{Bmatrix}8 \\ 10 \\ 10 \\ 7 \end{Bmatrix},$ ndirboun$\displaystyle =\begin{Bmatrix}1 \\ 1 \\ 2 \\ 3 \end{Bmatrix},$ xboun$\displaystyle =\begin{Bmatrix}0. \\ 0. \\ 0. \\ -1. \end{Bmatrix}$ (372)

typeboun$\displaystyle =\begin{Bmatrix}B \\ B \\ B \\ B \end{Bmatrix},$ ikboun$\displaystyle =\begin{Bmatrix}45 \\ 50 \\ 64 \\ 65 \end{Bmatrix},$ ilboun$\displaystyle =\begin{Bmatrix}4 \\ 1 \\ 2 \\ 3 \end{Bmatrix}.$ (373)

また nboun=4 です。

最後に以下の1次元フィールドも使用されます。

これらの中でも境界条件 SPC はいくらか特殊です。これらは集中荷重、分布荷重問題といった自然境界条件と区別するために幾何学的境界条件と呼ばれることもあります。自然境界条件を取り除くためにはそれらにゼロを設定するだけで事足りますが、幾何学的境界条件の場合は違います。SPC をゼロに設定すると対応する節点が空間的に固定されます。これは普通は SPC を取り除いた時に起きること、つまり節点に非拘束にすることとは対応しません。従って SPC を取り除くためには必ずキーワード・カード *BOUNDARY でオプション OP=NEW を指定しなければなりません。これによって全ての SPC 拘束が取り除かれます。これを行なった後で取り除きたくない拘束を再定義する必要があるのです。プロシージャ(*STATIC, *DYNAMIC...)によっては SPC の変更は線形的に行なわれることがあります。つまり古い SPC 情報が線形的に変化するように維持されるのです。フィールド nodebounold と ndirbounold が導入された理由がはこれです。新旧の SPC の間の関係は ccx_2.10.c から呼ばれるサブルーチン spcmatch で決定されます。


次へ 上へ 前へ 目次へ
次へ:Homogeneous linear equations 上へ:Reading the step input 前へ:Reading the step input 目次へ
guido dhondt 2016-03-08