BandGeneral SOE

From OpenSeesWiki
Revision as of 01:07, 9 March 2010 by Fmk (talk | contribs) (Created page with '{{CommandManualMenu}} This command is used to construct a BandGeneralSOE linear system of equation object. As the name implies, this class is used for unsymmetric matrix systems...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search




This command is used to construct a BandGeneralSOE linear system of equation object. As the name implies, this class is used for unsymmetric matrix systems which have a banded profile. The matrix is stored as shown below in a 1dimensional array of size equal to the bandwidth times the number of unknowns. When a solution is required, the Lapack routines are used. To following command is used to construct such a system:


Formally, an n×n matrix A=(ai,j ) is a band matrix if all matrix elements are zero outside a diagonally bordered band whose range is determined by constants k1 and k2:

<math>a_{i,j}=0 \quad\mbox{if}\quad j<i-k_1 \quad\mbox{ or }\quad j>i+k_2; \quad k_1, k_2 \ge 0.\,</math>

The quantities k1 and k2 are the left and right half-bandwidth, respectively. The bandwidth of the matrix is k1 + k2 + 1 (in other words, the smallest number of adjacent diagonals to which the non-zero elements are confined).

The banded storage scheme

test NormUnbalance $tol $iter <$pFlag>



NOTES:

  • When using the Penalty method additional large forces to enforce the penalty functions exist on the right had side, making

convergence using this test usually impossible (even though solution might have converged).


THEORY:

Formally, an n×n matrix A=(ai,j ) is a band matrix if all matrix elements are zero outside a diagonally bordered band whose range is determined by constants k1 and k2:

<math>a_{i,j}=0 \quad\mbox{if}\quad j<i-k_1 \quad\mbox{ or }\quad j>i+k_2; \quad k_1, k_2 \ge 0.\,</math>

The quantities k1 and k2 are the left and right half-bandwidth, respectively. The bandwidth of the matrix is k1 + k2 + 1 (in other words, the smallest number of adjacent diagonals to which the non-zero elements are confined).


and matrices are usually stored by storing the diagonals in the band; the rest is implicitly zero.

For example, 6-by-6 a matrix with bandwidth 3:

<math>

\begin{bmatrix}

B_{11} & B_{12} & 0      & \cdots & \cdots & 0 \\
B_{21} & B_{22} & B_{23} & \ddots & \ddots & \vdots \\
 0     & B_{32} & B_{33} & B_{34} & \ddots & \vdots \\
\vdots & \ddots & B_{43} & B_{44} & B_{45} & 0 \\
\vdots & \ddots & \ddots & B_{54} & B_{55} & B_{56} \\
0      & \cdots & \cdots & 0      & B_{65} & B_{66}

\end{bmatrix} </math> is stored as the 6-by-3 matrix

<math>

\begin{bmatrix}

0 & B_{11} & B_{12}\\
B_{21} & B_{22} & B_{23} \\
B_{32} & B_{33} & B_{34} \\
B_{43} & B_{44} & B_{45} \\
B_{54} & B_{55} & B_{56} \\
B_{65} & B_{66} & 0

\end{bmatrix}. </math>


Code Developed by: fmk