32 #ifndef LA_LINSYS_BDDC_HH_
33 #define LA_LINSYS_BDDC_HH_
55 const int matrixTypeInt = 0,
56 const int numSubLoc = 1,
57 const bool swap_sign =
false );
59 void load_mesh(
const int nDim,
const int numNodes,
const int numDofs,
70 void mat_set_values(
int nrow,
int *rows,
int ncol,
int *cols,
double *vals );
int bddcml_verbosity_level_
void mat_set_values(int nrow, int *rows, int ncol, int *cols, double *vals)
VecScatter VSpetscToSubScatter_
scatter from solution_ to locSolVec_
std::vector< int > isngn_
indices of subdomain nodes in global numbering
PetscErrorCode rhs_zero_entries() override
Wrappers for linear systems based on MPIAIJ and MATIS format.
void load_mesh(const int nDim, const int numNodes, const int numDofs, const std::vector< int > &inet, const std::vector< int > &nnet, const std::vector< int > &nndf, const std::vector< int > &isegn, const std::vector< int > &isngn, const std::vector< int > &isvgvn, const std::vector< double > &xyz, const std::vector< double > &element_permeability, const int meshDim)
void rhs_set_values(int nrow, int *rows, double *vals)
bool use_adaptive_bddc_
should adaptive BDDC be used?
Vec locSolVec_
local solution PETSc vector - sequential
int max_nondecr_it_
parameters expected from input file:
void diagonal_weights_set_value(int global_index, double value)
const bool swap_sign_
swap sign of matrix and rhs entries, e.g. to make the matrix SPD
double get_solution_precision()
int number_of_levels_
number of levels in the multilevel method
la::BddcmlWrapper Bddcml_
static Input::Type::Record input_type
Bddcml_ * bddcml_
BDDCML wrapper.
PetscErrorCode mat_zero_entries() override
Abstract linear system class.
void apply_constrains(double scalar=1.)
std::vector< double > locSolution_
subdomain solution
LinSys_BDDC(const unsigned numDofsSub, const Distribution *rows_ds, const int matrixTypeInt=0, const int numSubLoc=1, const bool swap_sign=false)
Multilevel BDDC based linear system solver.
void set_from_input(const Input::Record in_rec)