41 #ifdef DynCompCol_USE_STL_SETS 65 if ( dynamic_cast< const CompCol * >(&A) ) {
67 }
else if ( dynamic_cast< const DynCompCol * >(&A) ) {
83 int i, j, k, pn, qn, rn;
97 for ( i = 0; i <
dim_ [ 1 ]; i++ ) {
115 for ( i = 0; i < dim_ [ 1 ]; i++ ) {
124 }
else if ( A.
row_ind(j) <= i ) {
140 for ( i = 0; i < dim_ [ 0 ] - 1; i++ ) {
179 int i, j, k, pn, qn, rn;
192 #ifndef DynCompCol_USE_STL_SETS 194 for ( i = 0; i <
dim_ [ 1 ]; i++ ) {
212 for ( i = 0; i < dim_ [ 1 ]; i++ ) {
221 }
else if ( A.
row_ind(i)->
at(j + 1) <= i ) {
231 for ( i = 0; i < dim_ [ 1 ]; i++ ) {
232 for (
auto &val: A.
column(i) ) {
233 if ( val.first > i ) {
249 for ( i = 0; i < dim_ [ 1 ]; i++ ) {
253 for (
auto &val: A.
column(i) ) {
254 if ( val.first > i ) {
258 }
else if ( val.first <= i ) {
269 for ( i = 0; i < dim_ [ 1 ]; i++ ) {
275 for ( i = 0; i < dim_ [ 0 ] - 1; i++ ) {
322 for ( i = 0; i < M; i++ ) {
323 work(i) = x(i) + work(i);
331 for ( i = M - 1; i >= 0; i-- ) {
354 for ( i = 0; i < M; i++ ) {
365 for ( i = M - 1; i >= 0; i-- ) {
371 y.
at(i) = work(i) - val;
394 int i = l - 1, j = r;
400 while ( ( src(++i) < v ) ) {
404 while ( ( v < src(--j) ) ) {
Base class for all matrices stored in sparse format.
void initialize(const CompCol &A)
double & at(int i)
Coefficient access function.
const int & row_ind(int i) const
const FloatArray * column(int i) const
Returns column values.
void trans_solve(const FloatArray &x, FloatArray &y) const
Solves the transposed system.
const int & col_ptr(int i) const
int qsortRowPartition(IntArray &, FloatArray &, int l, int r)
void solve(const FloatArray &x, FloatArray &y) const
Solves the linear system.
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
Implementation of sparse matrix stored in compressed column storage.
int giveNumberOfRows() const
Returns number of rows of receiver.
#define OOFEM_LOG_INFO(...)
void qsortRow(IntArray &, FloatArray &, int l, int r)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver from given record. Empty implementation.
void resize(int n)
Checks size of receiver towards requested bounds.
virtual void init(const SparseMtrx &)
Initializes the receiver (constructs the preconditioning matrix M) of given matrix.
Initializes the variable VERBOSE, in order to get a few intermediate messages on screen: beginning an...
Class representing vector of real numbers.
const IntArray * row_ind(int i) const
Returns row index for i-th column.
Abstract class for IML++ compatible preconditioner.
IRResultType
Type defining the return values of InputRecord reading operations.
const double & val(int i) const
void zero()
Zeroes all coefficients of receiver.
Class implementing single timer, providing wall clock and user time capabilities. ...
CompCol_ILUPreconditioner()
Constructor. The user should call initializeFrom and init services in this given order to ensure cons...
int giveNumberOfColumns() const
Returns number of columns of receiver.
int giveSize() const
Returns the size of receiver.
the oofem namespace is to define a context or scope in which all oofem names are defined.
double getUtime()
Returns total user time elapsed in seconds.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver from given record. Empty implementation.
void resize(int s)
Resizes receiver towards requested size.