void IfpackPrecond::create(Matrix *m) { #ifdef HAVE_IFPACK EpetraMatrix *mt = dynamic_cast<EpetraMatrix *>(m); assert(mt != NULL); mat = mt; if (strcmp(cls, "point-relax") == 0) { create_point_relax(mat, type); apply_params(); initialize(); } else if (strcmp(cls, "block-relax") == 0) { create_block_relax(mat, type); apply_params(); } else if (strcmp(cls, "add-schwartz") == 0) { create_add_schwartz(mat, type, overlap); apply_params(); initialize(); } #endif }
void IfpackPrecond<Scalar>::create(Matrix<Scalar> *m) { EpetraMatrix<Scalar> *mt = static_cast<EpetraMatrix<Scalar> *>(m); assert(mt != NULL); mat = mt; if(strcmp(cls, "point-relax") == 0) { create_point_relax(mat, type); apply_params(); initialize(); } else if(strcmp(cls, "block-relax") == 0) { create_block_relax(mat, type); apply_params(); } else if(strcmp(cls, "add-schwartz") == 0) { create_add_schwartz(mat, type, overlap); apply_params(); initialize(); } }