BandGeneral SOE: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
(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...')
 
No edit summary
Line 1: Line 1:
{{CommandManualMenu}}
{{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 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:
This command is used to construct a BandGeneralSOE linear system of equation object. As the name implies, this class is used for 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:




Line 21: Line 21:


NOTES:
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).
convergence using this test usually impossible (even though solution might have converged).



Revision as of 01:11, 9 March 2010




This command is used to construct a BandGeneralSOE linear system of equation object. As the name implies, this class is used for 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:

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