Code_Saturne
CFD tool
Data Structures | Macros | Typedefs | Functions
cs_multigrid.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_blas.h"
#include "cs_grid.h"
#include "cs_halo.h"
#include "cs_log.h"
#include "cs_matrix.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
#include "cs_post.h"
#include "cs_sles.h"
#include "cs_timer.h"
#include "cs_multigrid.h"

Data Structures

struct  _cs_multigrid_info_t
 
struct  _cs_multigrid_level_info_t
 
struct  _cs_multigrid_t
 

Macros

#define EPZERO   1.E-12
 
#define RINFIN   1.E+30
 
#define HUGE_VAL   1.E+12
 
#define CS_THR_MIN   128
 
#define CS_SIMD_SIZE(s)   (((s-1)/16+1)*16)
 

Typedefs

typedef struct _cs_multigrid_info_t cs_multigrid_info_t
 
typedef struct _cs_multigrid_level_info_t cs_multigrid_level_info_t
 
typedef struct _cs_multigrid_t cs_multigrid_t
 

Functions

void clmlga (const char *cname, const cs_int_t *lname, const cs_int_t *isym, const cs_int_t *ibsize, const cs_int_t *nagmax, const cs_int_t *ncpost, const cs_int_t *iwarnp, const cs_int_t *ngrmax, const cs_int_t *ncegrm, const cs_real_t *rlxp1, const cs_real_t *dam, const cs_real_t *xam)
 
void dsmlga (const char *cname, const cs_int_t *lname)
 
void resmgr (const char *cname, const cs_int_t *lname, const cs_int_t *ncelet, const cs_int_t *ncel, const cs_int_t *nfac, const cs_int_t *iresds, const cs_int_t *iresas, const cs_int_t *ireslp, const cs_int_t *ipol, const cs_int_t *ncymxp, const cs_int_t *nitmds, const cs_int_t *nitmas, const cs_int_t *nitmap, const cs_int_t *iinvpe, const cs_int_t *iwarnp, cs_int_t *ncyclf, cs_int_t *niterf, const cs_real_t *epsilp, const cs_real_t *rnorm, cs_real_t *residu, const cs_real_t *rhs, cs_real_t *vx)
 
void cs_multigrid_initialize (void)
 
void cs_multigrid_finalize (void)
 
void cs_multigrid_build (const char *var_name, int verbosity, int postprocess_block_size, int aggregation_limit, int n_max_levels, cs_gnum_t n_g_cells_min, double p0p1_relax, bool symmetric, const int *diag_block_size, const cs_real_t *da, const cs_real_t *xa)
 
void cs_multigrid_destroy (const char *var_name)
 
int cs_multigrid_solve (const char *var_name, cs_sles_type_t descent_smoother_type, cs_sles_type_t ascent_smoother_type, cs_sles_type_t coarse_solver_type, bool abort_on_divergence, int poly_degree, cs_halo_rotation_t rotation_mode, int verbosity, int n_max_cycles, int n_max_iter_descent, int n_max_iter_ascent, int n_max_iter_coarse, double precision, double r_norm, int *n_cycles, int *n_equiv_iter, double *residue, const cs_real_t *rhs, cs_real_t *vx, size_t aux_size, void *aux_vectors)
 

Macro Definition Documentation

◆ CS_SIMD_SIZE

#define CS_SIMD_SIZE (   s)    (((s-1)/16+1)*16)

◆ CS_THR_MIN

#define CS_THR_MIN   128

◆ EPZERO

#define EPZERO   1.E-12

◆ HUGE_VAL

#define HUGE_VAL   1.E+12

◆ RINFIN

#define RINFIN   1.E+30

Typedef Documentation

◆ cs_multigrid_info_t

◆ cs_multigrid_level_info_t

◆ cs_multigrid_t

Function Documentation

◆ clmlga()

void clmlga ( const char *  cname,
const cs_int_t lname,
const cs_int_t isym,
const cs_int_t ibsize,
const cs_int_t nagmax,
const cs_int_t ncpost,
const cs_int_t iwarnp,
const cs_int_t ngrmax,
const cs_int_t ncegrm,
const cs_real_t rlxp1,
const cs_real_t dam,
const cs_real_t xam 
)
Here is the call graph for this function:

◆ cs_multigrid_build()

void cs_multigrid_build ( const char *  var_name,
int  verbosity,
int  postprocess_block_size,
int  aggregation_limit,
int  n_max_levels,
cs_gnum_t  n_g_cells_min,
double  p0p1_relax,
bool  symmetric,
const int *  diag_block_size,
const cs_real_t da,
const cs_real_t xa 
)
Here is the call graph for this function:

◆ cs_multigrid_destroy()

void cs_multigrid_destroy ( const char *  var_name)
Here is the call graph for this function:

◆ cs_multigrid_finalize()

void cs_multigrid_finalize ( void  )

◆ cs_multigrid_initialize()

void cs_multigrid_initialize ( void  )

◆ cs_multigrid_solve()

int cs_multigrid_solve ( const char *  var_name,
cs_sles_type_t  descent_smoother_type,
cs_sles_type_t  ascent_smoother_type,
cs_sles_type_t  coarse_solver_type,
bool  abort_on_divergence,
int  poly_degree,
cs_halo_rotation_t  rotation_mode,
int  verbosity,
int  n_max_cycles,
int  n_max_iter_descent,
int  n_max_iter_ascent,
int  n_max_iter_coarse,
double  precision,
double  r_norm,
int *  n_cycles,
int *  n_equiv_iter,
double *  residue,
const cs_real_t rhs,
cs_real_t vx,
size_t  aux_size,
void *  aux_vectors 
)
Here is the call graph for this function:

◆ dsmlga()

void dsmlga ( const char *  cname,
const cs_int_t lname 
)
Here is the call graph for this function:

◆ resmgr()

void resmgr ( const char *  cname,
const cs_int_t lname,
const cs_int_t ncelet,
const cs_int_t ncel,
const cs_int_t nfac,
const cs_int_t iresds,
const cs_int_t iresas,
const cs_int_t ireslp,
const cs_int_t ipol,
const cs_int_t ncymxp,
const cs_int_t nitmds,
const cs_int_t nitmas,
const cs_int_t nitmap,
const cs_int_t iinvpe,
const cs_int_t iwarnp,
cs_int_t ncyclf,
cs_int_t niterf,
const cs_real_t epsilp,
const cs_real_t rnorm,
cs_real_t residu,
const cs_real_t rhs,
cs_real_t vx 
)
Here is the call graph for this function: