lsd_mkb/lsd_mkb_core/lss_mkb_core.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include "./lsh_mkb_core.h"
#include "./lsh_mkb_core_fem_intf.h"
#include "../lah_intf.h"
#include "lin_alg_intf.h"
Include dependency graph for lss_mkb_core.c:

Defines

#define MIN_DOF_DGEMV   10000
#define SMALL   1.0e-15
#define TOL   1.0e-9

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)
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_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_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)
void lsr_mkb_core_compres (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)
void print_iteration_res (int ikryl, double *h, int krylbas, int iaux, int ndof, double *v, double *x, int Solver_id, int Subsystem_id, int Level_id, double *b)
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 *res_rel, double *res_rhs, int monitor, double *pconvr)
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 Documentation

#define MIN_DOF_DGEMV   10000
#define SMALL   1.0e-15
#define TOL   1.0e-9

Function Documentation

double lsr_mkb_core_comp_norm_rhs ( int  Solver_id,
int  Subsystem_id,
int  Level_id 
)

Here is the call graph for this function:

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 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void lsr_mkb_core_compres ( int  Solver_id,
int  Subsystem_id,
int  Level_id,
int  Control,
int  Ini_zero,
int  Ndof,
double *  X,
double *  B,
double *  V 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_core_create_precon ( int  Solver_id,
int  Level_id,
int  SM_and_LV_id 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_core_destroy ( int  Solver_id  ) 

Here is the caller graph for this function:

int lsr_mkb_core_destroy_precon ( int  Solver_id,
int  Level_id,
int  SM_and_LV_id 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_core_fill_precon ( int  Solver_id,
int  Level_id,
int  SM_and_LV_id 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_core_get_pdeg_coarse ( int  Solver_id,
int  Level_id 
)

Here is the caller graph for this function:

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 *  res_rel,
double *  res_rhs,
int  monitor,
double *  pconvr 
)

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

void lsr_mkb_core_precon ( int  Solver_id,
int  Subsystem_id,
int  Level_id,
double *  X,
double *  B 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void lsr_mkb_core_smooth ( int  Solver_id,
int  Subsystem_id,
int  Level_id,
int  Use_rhs,
int  Ini_zero,
double *  X,
double *  B 
)

Here is the call graph for this function:

Here is the caller graph for this function:

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 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_core_solve_coarse ( int  Solver_id,
int  Subsystem_id,
int  Level_id,
int  Ini_zero,
double *  X,
double *  B 
)

Here is the call graph for this function:

Here is the caller graph for this function:

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 
)

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_core_util_chk_list ( int  Num,
int *  List,
int  Ll 
)
void lsr_mkb_core_util_d_zero ( double *  Vec,
int  Num 
)

Here is the caller graph for this function:

void lsr_mkb_core_util_dgetrf ( double *  a,
int  m,
int *  ips 
)

Here is the call graph for this function:

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

Here is the caller graph for this function:

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

Here is the caller graph for this function:

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 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void print_iteration_res ( int  ikryl,
double *  h,
int  krylbas,
int  iaux,
int  ndof,
double *  v,
double *  x,
int  Solver_id,
int  Subsystem_id,
int  Level_id,
double *  b 
)

Here is the call graph for this function:


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1