#include <cs_cdo_system.h>
Data Fields | |
cs_cdo_system_type_t | type |
int | n_col_blocks |
cs_lnum_t * | col_block_sizes |
cs_lnum_t * | max_col_block_sizes |
cs_lnum_t | full_rhs_size |
cs_real_t * | rhs |
cs_real_t * | _rhs |
cs_real_t ** | rhs_array |
int | n_blocks |
cs_cdo_system_block_t ** | blocks |
Structure to handle linear systems which may be simply described by one block and one matrix or can be defined by a set of different blocks in more complex situations. The layout of the matrix is detailed thanks to block of different nature. The rhs can be also defined by block or thanks to a full-length array.
cs_real_t* _rhs |
cs_cdo_system_block_t** blocks |
array of pointers to block structures
cs_lnum_t* col_block_sizes |
size of each block (size = n_elts * stride). This size corresponds to the number of DoFs in a "scattered" view
cs_lnum_t full_rhs_size |
size of the rhs when taking into account all column blocks
cs_lnum_t* max_col_block_sizes |
max. size of each block. This size takes into account DoFs shared across ranks. In a sequential run, the values in the max_col_block_sizes array should be equal to the values in the col_block_sizes array.
int n_blocks |
number of blocks used to describe the system layout
int n_col_blocks |
number of blocks in a row
cs_real_t* rhs |
If allocated, it means that the system has its own rhs which is allocated in one array of the maximal size
cs_real_t** rhs_array |
rhs array which is split in as many parts as there are blocks in a row (size n_col_blocks)
cs_cdo_system_type_t type |
type of system. The type predefines some behaviors.