BandSPD SOE

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




This command is used to construct a BandSPDSOE linear system of equation object. As the name implies, this class is used for symmetric positive definite matrix systems which have a banded profile. The matrix is stored as shown below in a 1 dimensional array of size equal to the (bandwidth/2) 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:

system BandSPD



NOTES:


THEORY:

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, a symmetric 6-by-6 matrix with a right bandwidth of 2:

<math>

\begin{bmatrix}

A_{11} & A_{12} & A_{13} &   0  & \cdots & 0 \\
     & A_{22} & A_{23} & A_{24} & \ddots & \vdots \\
     &        & A_{33} & A_{34} & A_{35} & 0 \\
     &        &        & A_{44} & A_{45} & A_{46} \\
     & sym    &        &        & A_{55} & A_{56} \\
     &        &        &        &        & A_{66}

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

<math>

\begin{bmatrix}

A_{11} & A_{12} & A_{13} \\
A_{22} & A_{23} & A_{24} \\
A_{33} & A_{34} & A_{35} \\
A_{44} & A_{45} & A_{46} \\
A_{55} & A_{56} & 0 \\
A_{66} & 0 & 0

\end{bmatrix}. </math>


<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