#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.