|
|
◆ fem2p()
| def fem2p |
( |
n |
, |
|
|
ne |
, |
|
|
x |
, |
|
|
y |
, |
|
|
knc |
, |
|
|
p |
, |
|
|
q |
, |
|
|
f |
, |
|
|
nb1 |
, |
|
|
ib |
, |
|
|
bv |
, |
|
|
nb2 |
, |
|
|
ks2 |
, |
|
|
alpha |
, |
|
|
beta |
, |
|
|
val |
, |
|
|
rowptr |
, |
|
|
colind |
, |
|
|
rhs |
, |
|
|
base |
= 0 |
|
) |
| |
ポアソン方程式の有限要素行列の組み立て (2D) (CSR 形式疎行列)
- 目的
- 次のような一般化した二次元のポアソン方程式の有限要素行列の組み立てを行う.
-div(p(x,y) grad u(x,y)) + q(x,y)u(x,y) = f(x,y)
ディリクレ境界条件: u(x,y) = g
自然境界条件: p(x,y)*du/dn + α(k,l)*u(x,y) + β(k,l) = 0
- 戻り値
- info (int)
= 0: 正常終了.
= i < 0: (-i)番目の入力パラメータの誤り.
= 11: knc において要素タイプが正しくない.
= 12: 三角要素の面積が 0 または負.
= 13: ks2 において境界要素タイプが正しくない.
= 14: ks2 において節点番号が正しくない.
= 16: val または colind のサイズが不足.
= 17: 行列の組み立て中に内部エラーが発生した.
- 引数
-
| [in] | n | 節点数. (n > 0) |
| [in] | ne | 要素数. (ne > 0) |
| [in] | x[] | Numpy ndarray (1次元配列, float, n)
節点の x 座標. |
| [in] | y[] | Numpy ndarray (1次元配列, float, n)
節点の y 座標. |
| [in] | knc | Numpy ndarray (2次元配列, int32, ldknc x ne) (ldknc = nn + 1 (ただし nn は要素中の節点数))
コネクション行列: knc[k, 0] は要素 k のタイプ, knc[k, 1], ..., knc[k, nn] は要素 k の節点を表す.
要素タイプの値は次のとおり.
= 2: 3節点3角形.
= 3: 4節点4角形.
= 10: 9節点2次4角形. |
| [in] | p | Numpy ndarray (1次元配列, float, n)
各ノードにおける係数 p(x, y). |
| [in] | q | Numpy ndarray (1次元配列, float, n)
各ノードにおける係数 q(x, y). |
| [in] | f | Numpy ndarray (1次元配列, float, n)
各ノードにおける係数 f(x, y). |
| [in] | nb1 | ディリクレ境界条件の境界の節点数. (nb1 >= 0) |
| [in] | ib | Numpy ndarray (1次元配列, int32, nb1)
ディリクレ境界条件の境界の節点の節点番号. |
| [in] | bv[] | Numpy ndarray (1次元配列, float, nb1)
境界の各節点における境界値. |
| [in] | nb2 | 自然境界条件の境界数. (nb2 >= 0) |
| [in] | ks2 | Numpy ndarray (2次元配列, int32, ldks2 x nb2) (ldks2 = nns + 1 (ただし nns は境界要素中の節点数))
自然境界条件の境界のコネクション行列: ks2[k, 0] は境界要素 k のタイプ, ks2[k, 1], ..., ks2[k, nns] は境界要素 k の節点を表す.
要素タイプの値は次のとおり.
= 1: 2節点線要素.
= 2: 3節点線要素. |
| [in] | ldalpha | 二次元配列 alpha[] の整合寸法. (ldalpha >= nns) |
| [in] | alpha[] | Numpy ndarray (2次元配列, float, nns x nb2) 自然境界の各節点における係数 α. |
| [in] | beta() | Numpy ndarray (2次元配列, float, nns x nb2) 自然境界の各節点における係数 β. |
| [in] | val | Numpy ndarray (1次元配列, float, nnz)
組み立てられた有限要素方程式の係数行列 (値). (nnz は非ゼロ要素数) |
| [out] | rowptr | Numpy ndarray (1次元配列, int32, n + 1)
組み立てられた有限要素方程式の係数行列 (行ポインタ). |
| [out] | colind | Numpy ndarray (1次元配列, int32, nnz)
組み立てられた有限要素方程式の係数行列 (列番号). (nnz は非ゼロ要素数) |
| [out] | rhs | Numpy ndarray (1次元配列, float, n)
有限要素方程式の右辺ベクトル. |
|