Code_Saturne
CFD tool
Data Structures | Macros | Typedefs | Functions | Variables
cs_sles.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_log.h"
#include "cs_halo.h"
#include "cs_mesh.h"
#include "cs_matrix.h"
#include "cs_matrix_util.h"
#include "cs_post.h"
#include "cs_timer.h"
#include "cs_sles.h"

Data Structures

struct  _cs_sles_info_t
 
struct  _cs_sles_convergence_t
 

Macros

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

Typedefs

typedef struct _cs_sles_info_t cs_sles_info_t
 
typedef struct _cs_sles_convergence_t cs_sles_convergence_t
 

Functions

void reslin (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 *isym, const cs_int_t *ilved, const cs_int_t *ibsize, const cs_int_t *ireslp, const cs_int_t *ipol, const cs_int_t *nitmap, const cs_int_t *iinvpe, const cs_int_t *iwarnp, cs_int_t *niterf, const cs_real_t *epsilp, const cs_real_t *rnorm, cs_real_t *residu, const cs_int_t *ifacel, const cs_real_t *dam, const cs_real_t *xam, const cs_real_t *rhs, cs_real_t *vx)
 
void cs_sles_initialize (void)
 
void cs_sles_finalize (void)
 
int cs_sles_needs_solving (const char *var_name, const char *solver_name, cs_int_t n_rows, int verbosity, double r_norm, double *residue, const cs_real_t *rhs)
 
int cs_sles_solve (const char *var_name, cs_sles_type_t solver_type, bool update_stats, const cs_matrix_t *a, int poly_degree, cs_halo_rotation_t rotation_mode, int verbosity, int n_max_iter, double precision, double r_norm, int *n_iter, double *residue, const cs_real_t *rhs, cs_real_t *vx, size_t aux_size, void *aux_vectors)
 
void cs_sles_post_error_output_def (const char *var_name, int mesh_id, cs_halo_rotation_t rotation_mode, const cs_matrix_t *a, const cs_real_t *rhs, cs_real_t *vx)
 
void cs_sles_post_error_output_var (const char *var_name, int mesh_id, int diag_block_size, cs_real_t *var)
 

Variables

cs_matrix_structure_tcs_glob_sles_native_matrix_struct = NULL
 
cs_matrix_tcs_glob_sles_native_matrix = NULL
 
const char * cs_sles_type_name []
 

Macro Definition Documentation

◆ CS_SIMD_SIZE

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

◆ EPZERO

#define EPZERO   1.E-12

◆ HUGE_VAL

#define HUGE_VAL   1.E+12

◆ RINFIN

#define RINFIN   1.E+30

◆ THR_MIN

#define THR_MIN   128

Typedef Documentation

◆ cs_sles_convergence_t

◆ cs_sles_info_t

Function Documentation

◆ cs_sles_finalize()

void cs_sles_finalize ( void  )

◆ cs_sles_initialize()

void cs_sles_initialize ( void  )
Here is the call graph for this function:

◆ cs_sles_needs_solving()

int cs_sles_needs_solving ( const char *  var_name,
const char *  solver_name,
cs_int_t  n_rows,
int  verbosity,
double  r_norm,
double *  residue,
const cs_real_t rhs 
)

◆ cs_sles_post_error_output_def()

void cs_sles_post_error_output_def ( const char *  var_name,
int  mesh_id,
cs_halo_rotation_t  rotation_mode,
const cs_matrix_t a,
const cs_real_t rhs,
cs_real_t vx 
)
Here is the call graph for this function:

◆ cs_sles_post_error_output_var()

void cs_sles_post_error_output_var ( const char *  var_name,
int  mesh_id,
int  diag_block_size,
cs_real_t var 
)

◆ cs_sles_solve()

int cs_sles_solve ( const char *  var_name,
cs_sles_type_t  solver_type,
bool  update_stats,
const cs_matrix_t a,
int  poly_degree,
cs_halo_rotation_t  rotation_mode,
int  verbosity,
int  n_max_iter,
double  precision,
double  r_norm,
int *  n_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:

◆ reslin()

void reslin ( 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 isym,
const cs_int_t ilved,
const cs_int_t ibsize,
const cs_int_t ireslp,
const cs_int_t ipol,
const cs_int_t nitmap,
const cs_int_t iinvpe,
const cs_int_t iwarnp,
cs_int_t niterf,
const cs_real_t epsilp,
const cs_real_t rnorm,
cs_real_t residu,
const cs_int_t ifacel,
const cs_real_t dam,
const cs_real_t xam,
const cs_real_t rhs,
cs_real_t vx 
)
Here is the call graph for this function:

Variable Documentation

◆ cs_glob_sles_native_matrix

cs_matrix_t* cs_glob_sles_native_matrix = NULL

◆ cs_glob_sles_native_matrix_struct

cs_matrix_structure_t* cs_glob_sles_native_matrix_struct = NULL

◆ cs_sles_type_name

const char* cs_sles_type_name[]
Initial value:
= {N_("Conjugate gradient"),
N_("Conjugate gradient, single reduction"),
N_("Jacobi"),
N_("Bi-CGstab"),
N_("GMRES")}
#define N_(String)
Definition: cs_defs.h:62