#include "./lah_intf.h"
Go to the source code of this file.
Classes | |
struct | lst_mkb_levels |
struct | lst_mkb_solvers |
Defines | |
#define | LSC_SOLVE 0 |
#define | LSC_RESOLVE 1 |
#define | LSC_SEQUENTIAL 0 |
#define | LSC_PARALLEL 1 |
#define | LSC_MAX_NUM_SOLV 10 |
#define | LSC_MAX_NUM_LEV 20 |
#define | LSC_SILENT 0 |
#define | LSC_ERRORS 1 |
#define | LSC_INFO 2 |
#define | LSC_ALLINFO 3 |
#define | LSC_STORAGE_UNDEFINED LAC_STORAGE_UNDEFINED |
#define | LSC_STORAGE_BLOCK LAC_STORAGE_BLOCK |
#define | LSC_STORAGE_CRS LAC_STORAGE_CRS |
#define | LSC_STORAGE_BCRS LAC_STORAGE_BCRS |
#define | LSC_STORAGE_CRS_GENERIC LAC_STORAGE_CRS_GENERIC |
#define | LSC_STORAGE_PETSC LAC_STORAGE_PETSC |
#define | DIRECT 0 |
#define | GMRES 1 |
#define | MULTI_GMRES 2 |
#define | STANDARD_IT 10 |
#define | MULTI_GRID 20 |
#define | MKB_CORE_NS_SUPG_SOLVER 99 |
#define | MULTI_GRID_AMG 125 |
Functions | |
int | lsr_mkb_init (int Solver_type, int Parallel, int *Max_num_levels_p, int *Storage_type, char *Filename, int Max_iter, int Error_type, double Error_tolerance, int Monitoring_level) |
int | lsr_mkb_destroy (int Solver_id) |
int | lsr_mkb_create_matrix (int Solver_id, int Level_id, int Storage_type, int Nrblocks, int Nrdof_glob, int Block_size, int Max_sm_size, int *Nrdofbl, int *Posglob, int *Nroffbl, int **L_offbl) |
int | lsr_mkb_clear_matrix (int Solver_id, int Level_id, int Comp_type) |
int | lsr_mkb_fill_assembly_table_int_ent (int Solver_id, int Level_id, int Nr_dof_bl, int *L_bl_id, int *L_bl_nrdof, int *Assembly_table_int_ent) |
int | lsr_mkb_assemble_local_stiff_mat_with_table (int Solver_id, int Level_id, int Comp_type, int Nr_dof_bl, int *Assembly_table_int_ent, int *Local_to_global_int_ent, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
int | lsr_mkb_assemble_local_sm (int Solver_id, int Level_id, int Comp_type, int Nr_dof_bl, int *L_bl_id, int *L_bl_nrdof, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
int | lsr_mkb_free_matrix (int Solver_id) |
int | lsr_mkb_create_precon (int Solver_id, int Level_id) |
int | lsr_mkb_fill_precon (int Solver_id, int Level_id) |
int | lsr_mkb_solve (int Solver_id, int Comp_type, int Ini_zero, double *X, double *B, int *Nr_iter, double *Toler, int Monitor, double *Conv_rate) |
int | lsr_mkb_direct_init (int Solver_id, char *Filename, int Monitoring_level) |
int | lsr_mkb_direct_create (int Solver_id, char *Filename, int Monitoring_level) |
int | lsr_mkb_direct_solve (int Solver_id, int Comp_type, int Matrix_id, int Ndof, double *X, double *B, int Monitor) |
int | lsr_mkb_direct_free (int Solver_id) |
int | lsr_mkb_direct_destroy (int Solver_id) |
int | lsr_create_solver_structures_accel (int Solver_id, int Level_id) |
int | lsr_get_crs_data (int Solver_id, int Level_id, int *Nrdof_glob_p, int *Nnz_p, int **Crs_col_ind_p, int **Crs_row_ptr_p, double **Crs_val_p, double **Rhs_p) |
int | lsr_mkb_get_pdeg_coarse (int Solver_id, int Level_id) |
Variables | |
int | lsv_mkb_nr_solvers |
int | lsv_mkb_cur_solver_id |
lst_mkb_solvers | lsv_mkb_solver [LSC_MAX_NUM_SOLV] |
#define DIRECT 0 |
#define GMRES 1 |
#define LSC_ALLINFO 3 |
#define LSC_ERRORS 1 |
#define LSC_INFO 2 |
#define LSC_MAX_NUM_LEV 20 |
#define LSC_MAX_NUM_SOLV 10 |
#define LSC_PARALLEL 1 |
#define LSC_RESOLVE 1 |
#define LSC_SEQUENTIAL 0 |
#define LSC_SILENT 0 |
#define LSC_SOLVE 0 |
#define LSC_STORAGE_BCRS LAC_STORAGE_BCRS |
#define LSC_STORAGE_BLOCK LAC_STORAGE_BLOCK |
#define LSC_STORAGE_CRS LAC_STORAGE_CRS |
#define LSC_STORAGE_CRS_GENERIC LAC_STORAGE_CRS_GENERIC |
#define LSC_STORAGE_PETSC LAC_STORAGE_PETSC |
#define LSC_STORAGE_UNDEFINED LAC_STORAGE_UNDEFINED |
#define MKB_CORE_NS_SUPG_SOLVER 99 |
#define MULTI_GMRES 2 |
#define MULTI_GRID 20 |
#define MULTI_GRID_AMG 125 |
#define STANDARD_IT 10 |
int lsr_create_solver_structures_accel | ( | int | Solver_id, | |
int | Level_id | |||
) |
int lsr_get_crs_data | ( | int | Solver_id, | |
int | Level_id, | |||
int * | Nrdof_glob_p, | |||
int * | Nnz_p, | |||
int ** | Crs_col_ind_p, | |||
int ** | Crs_row_ptr_p, | |||
double ** | Crs_val_p, | |||
double ** | Rhs_p | |||
) |
int lsr_mkb_assemble_local_sm | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type, | |||
int | Nr_dof_bl, | |||
int * | L_bl_id, | |||
int * | L_bl_nrdof, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
----------------------------------------------------------- lsr_mkb_assemble_local_sm - to assemble entries to the global stiffness matrix and the global load vector using the provided local stiffness matrix and load vector ------------------------------------------------------------
int lsr_mkb_assemble_local_stiff_mat_with_table | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type, | |||
int | Nr_dof_bl, | |||
int * | Assembly_table_int_ent, | |||
int * | Local_to_global_int_ent, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
----------------------------------------------------------- lsr_mkb_assemble_local_stiff_mat_with_table - to assemble entries to the global stiffness matrix and the global load vector using the provided local stiffness matrix, load vector and the proper part of the global assembly table ------------------------------------------------------------
int lsr_mkb_clear_matrix | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type | |||
) |
-------------------------------------------------------- lsr_mkb_clear_matrix - to initialize block structure of system matrix ---------------------------------------------------------
int lsr_mkb_create_matrix | ( | int | Solver_id, | |
int | Level_id, | |||
int | Storage_type, | |||
int | Nrblocks, | |||
int | Nrdof_glob, | |||
int | Block_size, | |||
int | Max_sm_size, | |||
int * | Nrdofbl, | |||
int * | Posglob, | |||
int * | Nroffbl, | |||
int ** | L_offbl | |||
) |
-------------------------------------------------------- lsr_mkb_create_matrix - to allocate space for a global system matrix ---------------------------------------------------------
int lsr_mkb_create_precon | ( | int | Solver_id, | |
int | Level_id | |||
) |
-------------------------------------------------------- lsr_mkb_create_precon - to create preconditioner data structures ---------------------------------------------------------
int lsr_mkb_destroy | ( | int | Solver_id | ) |
-------------------------------------------------------- lsr_mkb_destroy - to destroy a particular instance of the solver ---------------------------------------------------------
int lsr_mkb_direct_create | ( | int | Solver_id, | |
char * | Filename, | |||
int | Monitoring_level | |||
) |
----------------------------------------------------------- lsr_mkb_direct_create - to create a new solver instance, read its control parameters and initialize its data structure ------------------------------------------------------------
int lsr_mkb_direct_destroy | ( | int | Solver_id | ) |
-------------------------------------------------------- lsr_mkb_direct_destroy - to destroy a particular instance of the direct solver ------------------------------------------------------------
int lsr_mkb_direct_free | ( | int | Solver_id | ) |
-------------------------------------------------------- lsr_mkb_direct_free - to destroy a particular instance of the direct solver ------------------------------------------------------------
int lsr_mkb_direct_init | ( | int | Solver_id, | |
char * | Filename, | |||
int | Monitoring_level | |||
) |
----------------------------------------------------------- lsr_mkb_direct_init - to create a new solver instance, read its control parameters and initialize its data structure ------------------------------------------------------------
int lsr_mkb_direct_solve | ( | int | Solver_id, | |
int | Comp_type, | |||
int | Matrix_id, | |||
int | Ndof, | |||
double * | X, | |||
double * | B, | |||
int | Monitor | |||
) |
-------------------------------------------------------- lsr_mkb_direct_solve - to solve a system of equations, given previously constructed system matrix, preconditioner ---------------------------------------------------------
int lsr_mkb_fill_assembly_table_int_ent | ( | int | Solver_id, | |
int | Level_id, | |||
int | Nr_dof_bl, | |||
int * | L_bl_id, | |||
int * | L_bl_nrdof, | |||
int * | Assembly_table_int_ent | |||
) |
----------------------------------------------------------- lsr_mkb_fill_assembly_table_int_ent - to create a part of the global assembly table related to one integration entity, for which lists of DOF blocks (their global positions) are provided ------------------------------------------------------------
int lsr_mkb_fill_precon | ( | int | Solver_id, | |
int | Level_id | |||
) |
-------------------------------------------------------- lsr_mkb_fill_precon - to prepare preconditioner by factorizing the stiffness matrix, either only diagonal blocks or block ILU(0) ---------------------------------------------------------
int lsr_mkb_free_matrix | ( | int | Solver_id | ) |
-------------------------------------------------------- lsr_mkb_free_matrix - to free space for solver data structure (system matrix, preconditioner and possibly other) ---------------------------------------------------------
int lsr_mkb_get_pdeg_coarse | ( | int | Solver_id, | |
int | Level_id | |||
) |
-------------------------------------------------------- lsr_mkb_get_pdeg_coarse - to get enforced pdeg for the coarse mesh ---------------------------------------------------------
int lsr_mkb_init | ( | int | Solver_type, | |
int | Parallel, | |||
int * | Max_num_levels_p, | |||
int * | Storage_type, | |||
char * | Filename, | |||
int | Max_iter, | |||
int | Error_type, | |||
double | Error_tolerance, | |||
int | Monitoring_level | |||
) |
----------------------------------------------------------- lsr_mkb_init - to create a new solver instance, read its control parameters and initialize its data structure ------------------------------------------------------------
int lsr_mkb_solve | ( | int | Solver_id, | |
int | Comp_type, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B, | |||
int * | Nr_iter, | |||
double * | Toler, | |||
int | Monitor, | |||
double * | Conv_rate | |||
) |
-------------------------------------------------------- lsr_mkb_solve - to solve a system of equations, given previously constructed system matrix, preconditioner ---------------------------------------------------------
lst_mkb_solvers lsv_mkb_solver[LSC_MAX_NUM_SOLV] |