#include <elemmat.h>
Public Member Functions | |
void | addmat_em (double c, elemmat &dm) |
void | alloc (gtopology *top) |
void | cg (double *x, double *y, long ni, double err, long &ani, double &ares, double zero, long iv) |
void | changedecomp () |
long | decomp () |
elemmat (void) | |
void | initiate (gtopology *top, long ndof, long mespr) |
void | localize (matrix &b, long *cn, long eid) |
void | localized (double *b, long *cn, long eid, long m) |
void | mxv_em (double *b, double *c) |
void | nullmat () |
void | printmat (FILE *out) |
void | scalmat_em (double c) |
double ** | status () |
~elemmat (void) | |
Public Attributes | |
double ** | a |
array containing element matrices | |
long ** | acn |
array containing code numbers of finite elements | |
long * | andofe |
array containing number of DOFs on elements | |
long | decompid |
decomposition indicator | |
long | maxarr |
maximum number of components in local vector | |
long | mem |
total number of stored entries | |
long | n |
number of unknowns (degrees of freedom) | |
long | ne |
number of finite elements | |
long * | neme |
array containing number of matrix entries on elements |
class elemmat serves for storage of matrices of finite elements no global matrix is used, only iterative methods are applicable, maximum exploatation of cache is considered
JK
Definition at line 16 of file elemmat.h.
elemmat | ( | void | ) |
~elemmat | ( | void | ) |
void addmat_em | ( | double | c, | |
elemmat & | dm | |||
) |
Definition at line 176 of file elemmat.cpp.
void alloc | ( | gtopology * | top | ) |
Definition at line 44 of file elemmat.cpp.
References a, acn, andofe, gtopology::give_ndofe(), maxarr, mem, gtopology::ne, ne, and neme.
Referenced by initiate().
void cg | ( | double * | x, | |
double * | y, | |||
long | ni, | |||
double | err, | |||
long & | ani, | |||
double & | ares, | |||
double | zero, | |||
long | iv | |||
) |
function solves system of linear algebraic equations by conjugate gradient method,
x | - vector of unknowns | |
y | - vector of right hand side | |
ni | - maximum number of iterations | |
err | - required error (norm of residual vector) | |
ani | - number of performed iterations | |
ares | - attained error (norm of residual vector) | |
zero | - computer zero | |
iv | - initial values indicator |
iv=0 - initial vector is zero vector iv=1 - initial vector is taken from x array
26.6.2003
Definition at line 227 of file elemmat.cpp.
References mxv_em(), n, p, and ss().
Referenced by gmatrix::solve_system().
void changedecomp | ( | ) |
Definition at line 84 of file elemmat.cpp.
References decompid.
long decomp | ( | ) |
Definition at line 79 of file elemmat.cpp.
References decompid.
void initiate | ( | gtopology * | top, | |
long | ndof, | |||
long | mespr | |||
) |
Definition at line 128 of file elemmat.cpp.
References alloc(), n, nullmat(), and status().
Referenced by gmatrix::initiate().
void localize | ( | matrix & | b, | |
long * | cn, | |||
long | eid | |||
) |
Definition at line 100 of file elemmat.cpp.
References a, acn, and matrix::m.
Referenced by gmatrix::localize().
void localized | ( | double * | b, | |
long * | cn, | |||
long | eid, | |||
long | m | |||
) |
Definition at line 114 of file elemmat.cpp.
Referenced by gmatrix::localized().
void mxv_em | ( | double * | b, | |
double * | c | |||
) |
void nullmat | ( | ) |
void printmat | ( | FILE * | out | ) |
Definition at line 196 of file elemmat.cpp.
Referenced by gmatrix::printmat().
void scalmat_em | ( | double | c | ) |
Definition at line 186 of file elemmat.cpp.
double ** status | ( | ) |
double** a |
array containing element matrices
Definition at line 50 of file elemmat.h.
Referenced by addmat_em(), alloc(), elemmat(), localize(), localized(), mxv_em(), nullmat(), printmat(), scalmat_em(), status(), and ~elemmat().
long** acn |
array containing code numbers of finite elements
Definition at line 52 of file elemmat.h.
Referenced by alloc(), elemmat(), localize(), localized(), mxv_em(), and ~elemmat().
long* andofe |
long decompid |
decomposition indicator
Definition at line 54 of file elemmat.h.
Referenced by changedecomp(), decomp(), elemmat(), and gmatrix::prepmat().
long maxarr |
long mem |
long n |
long ne |
number of finite elements
Definition at line 40 of file elemmat.h.
Referenced by addmat_em(), alloc(), elemmat(), mxv_em(), nullmat(), printmat(), scalmat_em(), and ~elemmat().
long* neme |
array containing number of matrix entries on elements
Definition at line 48 of file elemmat.h.
Referenced by addmat_em(), alloc(), elemmat(), nullmat(), printmat(), scalmat_em(), and ~elemmat().