lsd_mkb/lss_mkb_intf.c File Reference

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include "./lsh_mkb_intf.h"
#include "./lsd_mkb_core/lsh_mkb_core.h"
#include "./lah_intf.h"
Include dependency graph for lss_mkb_intf.c:

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_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_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_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_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_get_pdeg_coarse (int Solver_id, int Level_id)

Variables

int lsv_mkb_nr_solvers = 0
int lsv_mkb_cur_solver_id
lst_mkb_solvers lsv_mkb_solver [LSC_MAX_NUM_SOLV]

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