src/alge/cs_sles.c File Reference

| programmer's documentation

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | 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"`
Include dependency graph for cs_sles.c:

## 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

## 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 *iesize, 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)
void | cs_sles_update_mesh (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_t * | cs_glob_sles_native_matrix_struct = NULL
cs_matrix_t * | cs_glob_sles_native_matrix = NULL
const char * | cs_sles_type_name []

## Macro Definition Documentation

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

#define EPZERO 1.E-12

#define HUGE_VAL 1.E+12

#define RINFIN 1.E+30

#define THR_MIN 128

## Function Documentation

void cs_sles_finalize | ( | void |  | ) |

void cs_sles_initialize | ( | 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
| ) |  |

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

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_update_mesh | ( | void |  | ) |

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 * | iesize,
|  | 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
| ) |  |

## Variable Documentation

cs_matrix_t* cs_glob_sles_native_matrix = NULL

cs_matrix_structure_t* cs_glob_sles_native_matrix_struct = NULL

const char* cs_sles_type_name[]

Initial value:
= {N_("Conjugate gradient"),
N_("Conjugate gradient, single reduction"),
N_("Jacobi"),
N_("Bi-CGstab"),
N_("GMRES")}