Flow123d
JB_transport-112d700
|
Go to the documentation of this file.
74 MatrixSimple(
unsigned int loc_row_size,
unsigned int col_size);
93 inline unsigned int size();
102 void finalize(MatAssemblyType assembly_type=MAT_FINAL_ASSEMBLY);
122 void view(std::ostream output_stream,
int * row_mapping = NULL,
int * col_mapping = NULL);
150 multiply_vec( Vector x, Vector y)
180 class LinSysDirect : public
LinSys
190 class LinSysImplicitSchur :
public LinSys
202 class LinSysExplicitSchur :
public LinSys
210 class LinSysJacobiCoupling :
public LinSys
bool positive_definite
Flag for positive definite system.
Mat matrix
Petsc matrix of the problem.
Distribution col_ds
Distribution of multiplied vector.
MatrixSimple(unsigned int loc_row_size, unsigned int col_size)
Construct a parallel system with given local size.
void finalize(MatAssemblyType assembly_type=MAT_FINAL_ASSEMBLY)
void view(std::ostream output_stream, int *row_mapping=NULL, int *col_mapping=NULL)
Output the matrix in the Matlab format possibly with given renumbering of rows/cols.
virtual SolveInfo solve()=0
virtual void start_allocation()=0
void start_insert_assembly()
bool symmetric
Flag for the symmetric system.
class MatrixArray VecArray
void start_add_assembly()
Distribution row_ds
Distribution of continuous blocks of system rows among the processors.
SetValuesMode
possible states of the matrix
void multiply_add(Vec x, Vec b, Vec y)
multiply vector and ad onother one: y=Ax+b
virtual void preallocate_matrix()=0
MatrixArray vice konstruktoru pro ruzne slepovani MatrixSimple a jiz existujicich MatrixArray MatrixSimple * block(i_row, i_col) multiply_vec(Vector x
std::vector< std::vector< MatrixSimple * > > mat_array
virtual void view_local_matrix()=0
void multiply_mat(...)
multiply matrix .. has to deal with preallocation of result and reuse of structure
Distribution & get_row_ds()
virtual void preallocate_values(int nrow, int *rows, int ncol, int *cols)=0
Distribution & get_col_ds()
unsigned int size()
Get global system size.
void set_positive_definite(bool flag=true)
void multiply(Vec x, Vec y)
multiply PETSC vector: y=Ax
void set_symmetric(bool flag=true)
SetValuesMode status
Set value status of the linear system.
void mat_set_values(int nrow, int *rows, int ncol, int *cols, PetscScalar *vals)
Set full rectangular submatrix of the system matrix.
const Mat & get_matrix()
Get matrix. SHOULD NOT BE USED !!!
void mat_set_value(int row, int col, PetscScalar val)
Set one element of the system matrix.
bool is_positive_definite()
LinSys * block(i, j) MatrixArray *matrix() virtual solve(Vector solution