My Project
programmer's documentation
|
Go to the source code of this file.
Typedefs | |
typedef struct _cs_grid_t | cs_grid_t |
Enumerations | |
enum | cs_grid_coarsening_t { CS_GRID_COARSENING_DEFAULT, CS_GRID_COARSENING_SPD_DX, CS_GRID_COARSENING_SPD_MX, CS_GRID_COARSENING_SPD_PW, CS_GRID_COARSENING_CONV_DIFF_DX } |
Functions | |
cs_grid_t * | cs_grid_create_from_shared (cs_lnum_t n_faces, const int *diag_block_size, const int *extra_diag_block_size, const cs_lnum_2_t *face_cell, const cs_real_t *cell_cen, const cs_real_t *cell_vol, const cs_real_t *face_normal, const cs_matrix_t *a, const cs_matrix_t *a_conv, const cs_matrix_t *a_diff) |
void | cs_grid_destroy (cs_grid_t **grid) |
void | cs_grid_free_quantities (cs_grid_t *g) |
void | cs_grid_get_info (const cs_grid_t *g, int *level, bool *symmetric, int *db_size, int *eb_size, int *n_ranks, cs_lnum_t *n_rows, cs_lnum_t *n_cols_ext, cs_lnum_t *n_entries, cs_gnum_t *n_g_rows) |
cs_lnum_t | cs_grid_get_n_rows (const cs_grid_t *g) |
cs_lnum_t | cs_grid_get_n_cols_ext (const cs_grid_t *g) |
cs_lnum_t | cs_grid_get_n_cols_max (const cs_grid_t *g) |
cs_gnum_t | cs_grid_get_n_g_rows (const cs_grid_t *g) |
const cs_matrix_t * | cs_grid_get_matrix (const cs_grid_t *g) |
cs_grid_t * | cs_grid_coarsen (const cs_grid_t *f, int verbosity, int coarsening_type, int aggregation_limit, double relaxation_parameter) |
void | cs_grid_restrict_row_var (const cs_grid_t *f, const cs_grid_t *c, const cs_real_t *f_var, cs_real_t *c_var) |
void | cs_grid_prolong_row_num (const cs_grid_t *c, const cs_grid_t *f, int *c_num, int *f_num) |
void | cs_grid_prolong_row_var (const cs_grid_t *c, const cs_grid_t *f, cs_real_t *c_var, cs_real_t *f_var) |
void | cs_grid_project_row_num (const cs_grid_t *g, cs_lnum_t n_base_rows, int max_num, int c_row_num[]) |
void | cs_grid_project_row_rank (const cs_grid_t *g, cs_lnum_t n_base_rows, int f_row_rank[]) |
void | cs_grid_project_var (const cs_grid_t *g, cs_lnum_t n_base_rows, const cs_real_t c_var[], cs_real_t f_var[]) |
void | cs_grid_project_diag_dom (const cs_grid_t *g, cs_lnum_t n_base_rows, cs_real_t diag_dom[]) |
int | cs_grid_get_merge_stride (void) |
void | cs_grid_finalize (void) |
void | cs_grid_dump (const cs_grid_t *g) |
void | cs_grid_get_merge_options (int *rank_stride, int *rows_mean_threshold, cs_gnum_t *rows_glob_threshold, int *min_ranks) |
Query the global multigrid parameters for parallel grid merging. More... | |
void | cs_grid_set_merge_options (int rank_stride, int rows_mean_threshold, cs_gnum_t rows_glob_threshold, int min_ranks) |
Set global multigrid parameters for parallel grid merging behavior. More... | |
void | cs_grid_set_matrix_tuning (cs_matrix_fill_type_t fill_type, int max_level) |
Set matrix tuning behavior for multigrid coarse meshes. More... | |
void | cs_grid_set_matrix_variant (cs_matrix_fill_type_t fill_type, int level, const cs_matrix_variant_t *mv) |
Force matrix variant selection for multigrid coarse meshes. More... | |
void | cs_grid_log_merge_options (void) |
Log the current settings for multigrid parallel merging. More... | |
Variables | |
const char * | cs_grid_coarsening_type_name [] |
typedef struct _cs_grid_t cs_grid_t |
enum cs_grid_coarsening_t |
cs_grid_t* cs_grid_coarsen | ( | const cs_grid_t * | f, |
int | verbosity, | ||
int | coarsening_type, | ||
int | aggregation_limit, | ||
double | relaxation_parameter | ||
) |
cs_grid_t* cs_grid_create_from_shared | ( | cs_lnum_t | n_faces, |
const int * | diag_block_size, | ||
const int * | extra_diag_block_size, | ||
const cs_lnum_2_t * | face_cell, | ||
const cs_real_t * | cell_cen, | ||
const cs_real_t * | cell_vol, | ||
const cs_real_t * | face_normal, | ||
const cs_matrix_t * | a, | ||
const cs_matrix_t * | a_conv, | ||
const cs_matrix_t * | a_diff | ||
) |
void cs_grid_destroy | ( | cs_grid_t ** | grid | ) |
void cs_grid_dump | ( | const cs_grid_t * | g | ) |
void cs_grid_finalize | ( | void | ) |
void cs_grid_free_quantities | ( | cs_grid_t * | g | ) |
void cs_grid_get_info | ( | const cs_grid_t * | g, |
int * | level, | ||
bool * | symmetric, | ||
int * | db_size, | ||
int * | eb_size, | ||
int * | n_ranks, | ||
cs_lnum_t * | n_rows, | ||
cs_lnum_t * | n_cols_ext, | ||
cs_lnum_t * | n_entries, | ||
cs_gnum_t * | n_g_rows | ||
) |
const cs_matrix_t* cs_grid_get_matrix | ( | const cs_grid_t * | g | ) |
void cs_grid_get_merge_options | ( | int * | rank_stride, |
int * | cells_mean_threshold, | ||
cs_gnum_t * | cells_glob_threshold, | ||
int * | min_ranks | ||
) |
Query the global multigrid parameters for parallel grid merging.
[out] | rank_stride | number of ranks over which merging takes place, or NULL |
[out] | cells_mean_threshold | mean number of cells under which merging should be applied, or NULL |
[out] | cells_glob_threshold | global number of cells under which merging should be applied, or NULL |
[out] | min_ranks | number of active ranks under which no merging takes place, or NULL |
int cs_grid_get_merge_stride | ( | void | ) |
void cs_grid_log_merge_options | ( | void | ) |
Log the current settings for multigrid parallel merging.
void cs_grid_project_row_num | ( | const cs_grid_t * | g, |
cs_lnum_t | n_base_rows, | ||
int | max_num, | ||
int | c_row_num[] | ||
) |
void cs_grid_project_var | ( | const cs_grid_t * | g, |
cs_lnum_t | n_base_rows, | ||
const cs_real_t | c_var[], | ||
cs_real_t | f_var[] | ||
) |
void cs_grid_prolong_row_var | ( | const cs_grid_t * | c, |
const cs_grid_t * | f, | ||
cs_real_t * | c_var, | ||
cs_real_t * | f_var | ||
) |
void cs_grid_restrict_row_var | ( | const cs_grid_t * | f, |
const cs_grid_t * | c, | ||
const cs_real_t * | f_var, | ||
cs_real_t * | c_var | ||
) |
void cs_grid_set_matrix_tuning | ( | cs_matrix_fill_type_t | fill_type, |
int | max_level | ||
) |
Set matrix tuning behavior for multigrid coarse meshes.
The finest mesh (level 0) is handled by the default tuning options, so only coarser meshes are considered here.
[in] | fill_type | associated matrix fill type |
[in] | max_level | maximum level for which tuning is active |
void cs_grid_set_matrix_variant | ( | cs_matrix_fill_type_t | fill_type, |
int | level, | ||
const cs_matrix_variant_t * | mv | ||
) |
Force matrix variant selection for multigrid coarse meshes.
The finest mesh (level 0) is handled by the default tuning options, so only coarser meshes are considered here.
[in] | fill_type | associated matrix fill type |
[in] | level | level for which variant is assiged |
[in] | mv | matrix variant to assign (NULL to unassign) |
void cs_grid_set_merge_options | ( | int | rank_stride, |
int | cells_mean_threshold, | ||
cs_gnum_t | cells_glob_threshold, | ||
int | min_ranks | ||
) |
Set global multigrid parameters for parallel grid merging behavior.
[in] | rank_stride | number of ranks over which merging takes place |
[in] | cells_mean_threshold | mean number of cells under which merging should be applied |
[in] | cells_glob_threshold | global number of cells under which merging should be applied |
[in] | min_ranks | number of active ranks under which no merging takes place |
const char* cs_grid_coarsening_type_name[] |