Go to the documentation of this file.
42CompCol_ILUPreconditioner ::
49 Preconditioner :: initializeFrom(ir);
61 if (
dynamic_cast< const CompCol *
>(&A) ) {
63 }
else if (
dynamic_cast< const DynCompCol *
>(&A) ) {
77CompCol_ILUPreconditioner :: initialize(
const CompCol &A)
92 for (
int i = 0; i <
dim [ 1 ]; i++ ) {
110 for (
int i = 0; i <
dim [ 1 ]; i++ ) {
119 }
else if ( A.
row_ind(j) <= i ) {
135 for (
int i = 0; i <
dim [ 0 ] - 1; i++ ) {
139 l_val[j] /= multiplier;
143 multiplier =
u_val[j];
186 for (
int i = 0; i <
dim [ 1 ]; i++ ) {
187 for (
int j = 0; j < A.
row_ind(i).giveSize(); j++ ) {
204 for (
int i = 0; i <
dim [ 1 ]; i++ ) {
208 for (
int j = 0; j < A.
row_ind(i).giveSize(); j++ ) {
213 }
else if ( A.
row_ind(i).
at(j + 1) <= i ) {
223 for (
int i = 0; i <
dim [ 1 ]; i++ ) {
229 for (
int i = 0; i <
dim [ 0 ] - 1; i++ ) {
233 l_val[j] /= multiplier;
237 multiplier =
u_val[j];
273 for (
int i = 0; i < M; i++ ) {
282 for (
int i = M - 1; i >= 0; i-- ) {
300 for (
int i = 0; i < M; i++ ) {
311 for (
int i = M - 1; i >= 0; i-- ) {
317 y[i] = work[i] - val;
338 int i = l - 1, j = r;
342 while ( ( src[++i] < v ) ) {
346 while ( ( v < src[--j] ) ) {
356 std::swap(src[i], src[j]);
357 std::swap(val[i], val[j]);
360 std::swap(src[i], src[r]);
361 std::swap(val[i], val[r]);
void qsortRow(IntArray &, FloatArray &, int l, int r)
void initialize(const CompCol &A)
int qsortRowPartition(IntArray &, FloatArray &, int l, int r)
const int & row_ind(int i) const
const int & col_ptr(int i) const
const double & values(int i) const
const IntArray & row_ind(int i) const
Returns row index for i-th column.
const FloatArray & column(int i) const
Returns column values.
Index giveSize() const
Returns the size of receiver.
void zero()
Zeroes all coefficients of receiver.
Preconditioner(const SparseMtrx &a, InputRecord &attributes)
int giveNumberOfRows() const
Returns number of rows of receiver.
int giveNumberOfColumns() const
Returns number of columns of receiver.
double getUtime()
Returns total user time elapsed in seconds.
#define OOFEM_LOG_INFO(...)
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011