15 #if !defined(KRATOS_ILU0_PRECONDITIONER_H_INCLUDED )
16 #define KRATOS_ILU0_PRECONDITIONER_H_INCLUDED
53 template<
class TSparseSpaceType,
class TDenseSpaceType>
140 int i,
j, indexj, oldCountL, oldCountU, newCountL, newCountU, fillL, fillU;
141 int k, indexk, indexkj, indexkjlim, jkj, indexjlim;
168 for (
i=0;
i<
n+1;
i++)
174 for (
typename SparseMatrixType::iterator1 a_iterator = rA.begin1(); a_iterator != rA.end1(); a_iterator++)
176 i = a_iterator.index1();
178 #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION
179 for (
typename SparseMatrixType::iterator2 row_iterator = a_iterator.begin() ; row_iterator != a_iterator.end() ; ++row_iterator)
182 for ( SparseMatrixType::iterator2 row_iterator = begin(a_iterator, boost::numeric::ublas::iterator1_tag()); row_iterator !=
end(a_iterator, boost::numeric::ublas::iterator1_tag()); ++row_iterator )
186 j= row_iterator.index2();
189 if (
i==
j) diagFound=
true;
199 for (
i=0;
i<
n+1;
i++)
217 for (
typename SparseMatrixType::iterator1 a_iterator = rA.begin1(); a_iterator != rA.end1(); a_iterator++)
219 i = a_iterator.index1();
221 #ifndef BOOST_UBLAS_NO_NESTED_CLASS_RELATION
222 for (
typename SparseMatrixType::iterator2 row_iterator = a_iterator.begin() ; row_iterator != a_iterator.end() ; ++row_iterator)
225 for ( SparseMatrixType::iterator2 row_iterator = begin(a_iterator, boost::numeric::ublas::iterator1_tag()); row_iterator !=
end(a_iterator, boost::numeric::ublas::iterator1_tag()); ++row_iterator )
228 j= row_iterator.index2();
229 if (
i==
j) diagFound=
true;
230 if ( (
j>
i) && (!diagFound) )
291 while ( (indexkj<indexkjlim) && (indexj<indexjlim) )
321 while ( (indexkj<indexkjlim) && (indexj<indexjlim) )
390 std::string
Info()
const override
392 return "ILU0Preconditioner";
399 OStream <<
"ILU0Preconditioner";
507 template<
class TSparseSpaceType,
class TDenseSpaceType>
516 template<
class TSparseSpaceType,
class TDenseSpaceType>
521 OStream << std::endl;
ILU0Preconditioner class.
Definition: ilu0_preconditioner.h:55
ILUPreconditioner< TSparseSpaceType, TDenseSpaceType > BaseType
Definition: ilu0_preconditioner.h:63
TSparseSpaceType::VectorType VectorType
Definition: ilu0_preconditioner.h:68
TDenseSpaceType::MatrixType DenseMatrixType
Definition: ilu0_preconditioner.h:70
void Initialize(SparseMatrixType &rA, VectorType &rX, VectorType &rB) override
Definition: ilu0_preconditioner.h:132
KRATOS_CLASS_POINTER_DEFINITION(ILU0Preconditioner)
Counted pointer of ILU0Preconditioner.
ILU0Preconditioner()
Default constructor.
Definition: ilu0_preconditioner.h:78
void PrintData(std::ostream &OStream) const override
Print object's data.
Definition: ilu0_preconditioner.h:403
TSparseSpaceType::MatrixType SparseMatrixType
Definition: ilu0_preconditioner.h:66
~ILU0Preconditioner() override
Copy constructor.
Definition: ilu0_preconditioner.h:90
std::string Info() const override
Return information about this object.
Definition: ilu0_preconditioner.h:390
void PrintInfo(std::ostream &OStream) const override
Print information about this object.
Definition: ilu0_preconditioner.h:397
ILUPreconditioner class.
Definition: ilu_preconditioner.h:54
double * L
Definition: ilu_preconditioner.h:280
int * iL
Definition: ilu_preconditioner.h:279
double * U
Definition: ilu_preconditioner.h:280
unsigned int mILUSize
Definition: ilu_preconditioner.h:278
int * jU
Definition: ilu_preconditioner.h:279
int * jL
Definition: ilu_preconditioner.h:279
int * iU
Definition: ilu_preconditioner.h:279
#define KRATOS_THROW_ERROR(ExceptionType, ErrorMessage, MoreInfo)
Definition: define.h:77
end
Definition: DEM_benchmarks.py:180
TSpaceType::IndexType Size(TSpaceType &dummy, typename TSpaceType::VectorType const &rV)
Definition: add_strategies_to_python.cpp:111
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
int n
manufactured solution and derivatives (u=0 at z=0 dudz=0 at z=domain_height)
Definition: ode_solve.py:402
int k
Definition: quadrature.py:595
int j
Definition: quadrature.py:648
integer i
Definition: TensorModule.f:17