My Project
programmer's documentation
Functions
cs_grid.c File Reference
#include "cs_defs.h"
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <math.h>
#include "bft_mem.h"
#include "bft_error.h"
#include "bft_printf.h"
#include "cs_base.h"
#include "cs_halo.h"
#include "cs_halo_perio.h"
#include "cs_log.h"
#include "cs_matrix.h"
#include "cs_matrix_default.h"
#include "cs_matrix_tuning.h"
#include "cs_matrix_util.h"
#include "cs_order.h"
#include "cs_prototypes.h"
#include "cs_sles.h"
#include "cs_sort.h"
#include "fvm_defs.h"
#include "cs_grid.h"
Include dependency graph for cs_grid.c:

Functions

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

Function Documentation

◆ cs_grid_get_merge_options()

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.

Parameters
[out]rank_stridenumber of ranks over which merging takes place, or NULL
[out]cells_mean_thresholdmean number of cells under which merging should be applied, or NULL
[out]cells_glob_thresholdglobal number of cells under which merging should be applied, or NULL
[out]min_ranksnumber of active ranks under which no merging takes place, or NULL

◆ cs_grid_log_merge_options()

void cs_grid_log_merge_options ( void  )

Log the current settings for multigrid parallel merging.

◆ cs_grid_set_matrix_tuning()

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.

Parameters
[in]fill_typeassociated matrix fill type
[in]max_levelmaximum level for which tuning is active

◆ cs_grid_set_matrix_variant()

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.

Parameters
[in]fill_typeassociated matrix fill type
[in]levellevel for which variant is assiged
[in]mvmatrix variant to assign (NULL to unassign)

◆ cs_grid_set_merge_options()

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.

Parameters
[in]rank_stridenumber of ranks over which merging takes place
[in]cells_mean_thresholdmean number of cells under which merging should be applied
[in]cells_glob_thresholdglobal number of cells under which merging should be applied
[in]min_ranksnumber of active ranks under which no merging takes place