lsd_mkb/lsh_mkb_intf.h File Reference

#include "./lah_intf.h"
Include dependency graph for lsh_mkb_intf.h:
This graph shows which files directly or indirectly include this file:

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 Documentation

#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

Function Documentation

int lsr_create_solver_structures_accel ( int  Solver_id,
int  Level_id 
)

Here is the call graph for this function:

Here is the caller graph for this function:

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 
)

Here is the call graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_create_precon ( int  Solver_id,
int  Level_id 
)

-------------------------------------------------------- lsr_mkb_create_precon - to create preconditioner data structures ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lsr_mkb_destroy ( int  Solver_id  ) 

-------------------------------------------------------- lsr_mkb_destroy - to destroy a particular instance of the solver ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the caller graph for this function:

int lsr_mkb_direct_destroy ( int  Solver_id  ) 

-------------------------------------------------------- lsr_mkb_direct_destroy - to destroy a particular instance of the direct solver ------------------------------------------------------------

Here is the caller graph for this function:

int lsr_mkb_direct_free ( int  Solver_id  ) 

-------------------------------------------------------- lsr_mkb_direct_free - to destroy a particular instance of the direct solver ------------------------------------------------------------

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

lst_mkb_solvers lsv_mkb_solver[LSC_MAX_NUM_SOLV]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1