#include <stdio.h>
#include "../lsh_mkb_intf.h"
#include "../lah_intf.h"
Go to the source code of this file.
Classes | |
struct | lst_mkb_core_levels |
struct | lst_mkb_core_subsystems |
struct | lst_mkb_core_solvers |
Defines | |
#define | LSC_MAX_NUM_SUBS 10 |
#define | STANDARD_GMRES 0 |
#define | MATRIX_FREE 1 |
#define | REL_RES_INI 0 |
#define | ABS_RES 1 |
#define | REL_RES_RHS 2 |
Functions | |
int | lsr_mkb_core_init (int Solver_id, int Solver_type, int Parallel, int *Max_num_levels_p, char *Filename, int Max_iter, int Error_type, double Error_tolerance, int Monitoring_level) |
int | lsr_mkb_core_solve (int Solver_id, int Comp_type, int *L_matrix_id, int *L_ndof, int Ini_zero, double *X, double *B, int *Nr_iter, double *Toler, int Monitor, double *Conv_rate) |
int | lsr_mkb_core_destroy (int Solver_id) |
int | lsr_mkb_core_create_precon (int Solver_id, int Level_id, int SM_and_LV_id) |
int | lsr_mkb_core_fill_precon (int Solver_id, int Level_id, int SM_and_LV_id) |
int | lsr_mkb_core_destroy_precon (int Solver_id, int Level_id, int SM_and_LV_id) |
int | lsr_mkb_core_gmres (int Solver_id, int Subsystem_id, int Level_id, int Ndof, int Ini_zero, double *X, double *B, int Krylbas, int *Iter, double *Resid, double *Rel_res, double *Rhs_res, int Monitor, double *Pconvr) |
double | lsr_mkb_core_comp_norm_rhs (int Solver_id, int Subsystem_id, int Level_id) |
int | lsr_mkb_core_standard (int Solver_id, int Subsystem_id, int Level_id, int Ndof, int Ini_zero, double *X, double *B, int *Iter, double *Toler, int Monitor, double *Pconvr) |
void | lsr_mkb_core_vcycle (int Solver_id, int Subsystem_id, int Level_id, int Use_rhs, int Ini_zero, double *X, double *B) |
void | lsr_mkb_vcycle_amg (int Solver_id, int Subsystem_id, int Level_id, int Use_rhs, int Ini_zero, double *X, double *B, int nr_pre, int nr_post) |
void | lsr_mkb_core_smooth (int Solver_id, int Subsystem_id, int Level_id, int Use_rhs, int Ini_zero, double *X, double *B) |
void | lsr_mkb_core_multi_precon (int Solver_id, int Subsystem_id, int Level_id, double *X, double *B) |
void | lsr_mkb_core_precon (int Solver_id, int Subsystem_id, int Level_id, double *X, double *B) |
void | lsr_mkb_core_compreres (int Solver_id, int Subsystem_id, int Level_id, int Control, int Ini_zero, int Ndof, double *X, double *B, double *V) |
int | lsr_mkb_core_solve_coarse (int Solver_id, int Subsystem_id, int Level_id, int Ini_zero, double *X, double *B) |
double * | lsr_mkb_core_util_dvector (int Ncom, char Error_text[]) |
int * | lsr_mkb_core_util_ivector (int Ncom, char Error_text[]) |
int ** | lsr_mkb_core_util_imatrix (int Nrow, int Ncol, char Error_text[]) |
double ** | lsr_mkb_core_util_dmatrix (int Nrow, int Ncol, char Error_text[]) |
int | lsr_mkb_core_util_chk_list (int Num, int *List, int Ll) |
int | lsr_mkb_core_util_put_list (int Num, int *List, int Ll) |
void | lsr_mkb_core_util_d_zero (double *Vec, int Num) |
void | lsr_mkb_core_util_i_zero (int *Vec, int Num) |
void | lsr_mkb_core_util_sort (int *Ind_array, double *Val_array) |
void | lsr_mkb_core_util_dgetrf (double *a, int m, int *ips) |
void | lsr_mkb_core_util_dgetrs (double *a, int m, double *b, double *x, int *ips) |
void | lsr_mkb_core_util_skip_rest_of_line (FILE *Fp) |
int | lsr_mkb_core_get_pdeg_coarse (int Solver_id, int Level_id) |
Variables | |
int | lsv_mkb_core_cur_solver_id |
lst_mkb_core_solvers | lsv_mkb_core_solver [LSC_MAX_NUM_SOLV] |
#define ABS_RES 1 |
#define LSC_MAX_NUM_SUBS 10 |
#define MATRIX_FREE 1 |
#define REL_RES_INI 0 |
#define REL_RES_RHS 2 |
#define STANDARD_GMRES 0 |
double lsr_mkb_core_comp_norm_rhs | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id | |||
) |
void lsr_mkb_core_compreres | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Control, | |||
int | Ini_zero, | |||
int | Ndof, | |||
double * | X, | |||
double * | B, | |||
double * | V | |||
) |
int lsr_mkb_core_create_precon | ( | int | Solver_id, | |
int | Level_id, | |||
int | SM_and_LV_id | |||
) |
int lsr_mkb_core_destroy | ( | int | Solver_id | ) |
int lsr_mkb_core_destroy_precon | ( | int | Solver_id, | |
int | Level_id, | |||
int | SM_and_LV_id | |||
) |
int lsr_mkb_core_fill_precon | ( | int | Solver_id, | |
int | Level_id, | |||
int | SM_and_LV_id | |||
) |
int lsr_mkb_core_get_pdeg_coarse | ( | int | Solver_id, | |
int | Level_id | |||
) |
int lsr_mkb_core_gmres | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Ndof, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B, | |||
int | Krylbas, | |||
int * | Iter, | |||
double * | Resid, | |||
double * | Rel_res, | |||
double * | Rhs_res, | |||
int | Monitor, | |||
double * | Pconvr | |||
) |
int lsr_mkb_core_init | ( | int | Solver_id, | |
int | Solver_type, | |||
int | Parallel, | |||
int * | Max_num_levels_p, | |||
char * | Filename, | |||
int | Max_iter, | |||
int | Error_type, | |||
double | Error_tolerance, | |||
int | Monitoring_level | |||
) |
----------------------------------------------------------- lsr_mkb_core_init - to create a new solver instance, read its control parameters and initialize its data structure ------------------------------------------------------------
void lsr_mkb_core_multi_precon | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
double * | X, | |||
double * | B | |||
) |
void lsr_mkb_core_precon | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
double * | X, | |||
double * | B | |||
) |
void lsr_mkb_core_smooth | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Use_rhs, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B | |||
) |
int lsr_mkb_core_solve | ( | int | Solver_id, | |
int | Comp_type, | |||
int * | L_matrix_id, | |||
int * | L_ndof, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B, | |||
int * | Nr_iter, | |||
double * | Toler, | |||
int | Monitor, | |||
double * | Conv_rate | |||
) |
int lsr_mkb_core_solve_coarse | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B | |||
) |
int lsr_mkb_core_standard | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Ndof, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B, | |||
int * | Iter, | |||
double * | Toler, | |||
int | Monitor, | |||
double * | Pconvr | |||
) |
int lsr_mkb_core_util_chk_list | ( | int | Num, | |
int * | List, | |||
int | Ll | |||
) |
void lsr_mkb_core_util_d_zero | ( | double * | Vec, | |
int | Num | |||
) |
void lsr_mkb_core_util_dgetrf | ( | double * | a, | |
int | m, | |||
int * | ips | |||
) |
void lsr_mkb_core_util_dgetrs | ( | double * | a, | |
int | m, | |||
double * | b, | |||
double * | x, | |||
int * | ips | |||
) |
double** lsr_mkb_core_util_dmatrix | ( | int | Nrow, | |
int | Ncol, | |||
char | Error_text[] | |||
) |
double* lsr_mkb_core_util_dvector | ( | int | Ncom, | |
char | Error_text[] | |||
) |
void lsr_mkb_core_util_i_zero | ( | int * | Vec, | |
int | Num | |||
) |
int** lsr_mkb_core_util_imatrix | ( | int | Nrow, | |
int | Ncol, | |||
char | Error_text[] | |||
) |
int* lsr_mkb_core_util_ivector | ( | int | Ncom, | |
char | Error_text[] | |||
) |
int lsr_mkb_core_util_put_list | ( | int | Num, | |
int * | List, | |||
int | Ll | |||
) |
void lsr_mkb_core_util_skip_rest_of_line | ( | FILE * | Fp | ) |
-------------------------------------------------------- lsr_mkb_core_util_skip_rest_of_line - to allow for comments in input files ---------------------------------------------------------
void lsr_mkb_core_util_sort | ( | int * | Ind_array, | |
double * | Val_array | |||
) |
void lsr_mkb_core_vcycle | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Use_rhs, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B | |||
) |
void lsr_mkb_vcycle_amg | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Use_rhs, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B, | |||
int | nr_pre, | |||
int | nr_post | |||
) |
lst_mkb_core_solvers lsv_mkb_core_solver[LSC_MAX_NUM_SOLV] |