9.0
general documentation
Loading...
Searching...
No Matches
cs_grid.h File Reference
#include "base/cs_base.h"
#include "base/cs_dispatch.h"
#include "base/cs_halo.h"
#include "alge/cs_matrix.h"
Include dependency graph for cs_grid.h:

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_tcs_grid_create_from_shared (cs_lnum_t n_faces, cs_lnum_t db_size, cs_lnum_t eb_size, const cs_lnum_2_t *face_cell, const cs_matrix_t *a, bool conv_diff)
cs_grid_tcs_grid_create_from_parent (const cs_matrix_t *a, int n_ranks)
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, cs_lnum_t *db_size, cs_lnum_t *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_alloc_mode_t cs_grid_get_alloc_mode (const cs_grid_t *g)
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_tcs_grid_get_matrix (const cs_grid_t *g)
cs_grid_tcs_grid_coarsen (const cs_grid_t *f, cs_alloc_mode_t alloc_mode, cs_grid_coarsening_t coarsening_type, int aggregation_limit, int verbosity, int merge_stride, int merge_rows_mean_threshold, cs_gnum_t merge_rows_glob_threshold, double relaxation_parameter)
cs_grid_tcs_grid_coarsen_to_single (const cs_grid_t *f, cs_alloc_mode_t alloc_mode, int merge_stride, int verbosity)
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[])
void cs_grid_finalize (void)
void cs_grid_dump (const cs_grid_t *g)
void cs_grid_set_matrix_tuning (cs_matrix_fill_type_t fill_type, int max_level)
 Set matrix tuning behavior for multigrid coarse meshes.

Variables

const char * cs_grid_coarsening_type_name []

Typedef Documentation

◆ cs_grid_t

typedef struct _cs_grid_t cs_grid_t

Enumeration Type Documentation

◆ cs_grid_coarsening_t

Enumerator
CS_GRID_COARSENING_DEFAULT 

default among following choices

CS_GRID_COARSENING_SPD_DX 

SPD, diag/extradiag ratio based

CS_GRID_COARSENING_SPD_MX 

SPD, max extradiag ratio based

CS_GRID_COARSENING_SPD_PW 

SPD, pairwise aggregation

CS_GRID_COARSENING_CONV_DIFF_DX 

convection+diffusion, diag/extradiag ratio based

Function Documentation

◆ cs_grid_coarsen()

cs_grid_t * cs_grid_coarsen ( const cs_grid_t * f,
cs_alloc_mode_t alloc_mode,
cs_grid_coarsening_t coarsening_type,
int aggregation_limit,
int verbosity,
int merge_stride,
int merge_rows_mean_threshold,
cs_gnum_t merge_rows_glob_threshold,
double relaxation_parameter )

◆ cs_grid_coarsen_to_single()

cs_grid_t * cs_grid_coarsen_to_single ( const cs_grid_t * f,
cs_alloc_mode_t alloc_mode,
int merge_stride,
int verbosity )

◆ cs_grid_create_from_parent()

cs_grid_t * cs_grid_create_from_parent ( const cs_matrix_t * a,
int n_ranks )

◆ cs_grid_create_from_shared()

cs_grid_t * cs_grid_create_from_shared ( cs_lnum_t n_faces,
cs_lnum_t db_size,
cs_lnum_t eb_size,
const cs_lnum_2_t * face_cell,
const cs_matrix_t * a,
bool conv_diff )

◆ cs_grid_destroy()

void cs_grid_destroy ( cs_grid_t ** grid)

◆ cs_grid_dump()

void cs_grid_dump ( const cs_grid_t * g)

◆ cs_grid_finalize()

void cs_grid_finalize ( void )

◆ cs_grid_free_quantities()

void cs_grid_free_quantities ( cs_grid_t * g)

◆ cs_grid_get_alloc_mode()

cs_alloc_mode_t cs_grid_get_alloc_mode ( const cs_grid_t * g)

◆ cs_grid_get_info()

void cs_grid_get_info ( const cs_grid_t * g,
int * level,
bool * symmetric,
cs_lnum_t * db_size,
cs_lnum_t * 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_grid_get_matrix()

const cs_matrix_t * cs_grid_get_matrix ( const cs_grid_t * g)

◆ cs_grid_get_n_cols_ext()

cs_lnum_t cs_grid_get_n_cols_ext ( const cs_grid_t * g)

◆ cs_grid_get_n_cols_max()

cs_lnum_t cs_grid_get_n_cols_max ( const cs_grid_t * g)

◆ cs_grid_get_n_g_rows()

cs_gnum_t cs_grid_get_n_g_rows ( const cs_grid_t * g)

◆ cs_grid_get_n_rows()

cs_lnum_t cs_grid_get_n_rows ( const cs_grid_t * g)

◆ cs_grid_project_diag_dom()

void cs_grid_project_diag_dom ( const cs_grid_t * g,
cs_lnum_t n_base_rows,
cs_real_t diag_dom[] )

◆ cs_grid_project_row_num()

void cs_grid_project_row_num ( const cs_grid_t * g,
cs_lnum_t n_base_rows,
int max_num,
int c_row_num[] )

◆ cs_grid_project_row_rank()

void cs_grid_project_row_rank ( const cs_grid_t * g,
cs_lnum_t n_base_rows,
int f_row_rank[] )

◆ cs_grid_project_var()

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[] )

◆ 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

Variable Documentation

◆ cs_grid_coarsening_type_name

const char* cs_grid_coarsening_type_name[]
extern