lsd_mkb/lah_intf.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  lat_matrices

Defines

#define LAC_SCOPE_LV   1
#define LAC_SCOPE_SM   2
#define LAC_SCOPE_SM_AND_LV   0
#define NO_PRECON   0
#define BLOCK_JACOBI   1
#define BLOCK_GS   2
#define ADD_SCHWARZ   3
#define MULTI_ILU   4
#define BLOCK_ILU   5
#define LAC_STORAGE_UNDEFINED   -1
#define LAC_STORAGE_BLOCK   1
#define LAC_STORAGE_CRS   2
#define LAC_STORAGE_BCRS   3
#define LAC_STORAGE_CRS_GENERIC   4
#define LAC_STORAGE_PETSC   5
#define LAC_MAX_MATRICES   20

Functions

int lar_allocate_SM_and_LV (int Storage_type, int solver_type, int Nrdof_glob, int Max_SM_size, int Nrblocks, int Block_size, int *Nrdofbl, int *Posglob, int *Nroffbl, int **L_offbl)
int lar_initialize_SM_and_LV (int Matrix_id, int Scope)
double lar_get_storage (int Matrix_id)
int lar_fill_assembly_table_int_ent (int Matrix_id, int Nr_dof_bl, int *L_bl_id, int *L_bl_nrdof, int *Assembly_table_int_ent)
int lar_assemble_SM_and_LV_with_table (int Matrix_id, int Scope, 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 lar_assemble_SM_and_LV (int Matrix_id, int Scope, int Nr_dof_bl, int *L_bl_id, int *L_bl_nrdof, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs)
int lar_create_solver_structures_accel (int Matrix_id)
int lar_get_crs_data (int Matrix_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 lar_free_SM_and_LV (int Matrix_id)
int lar_allocate_preconditioner (int Matrix_id, int Precon, int Second_arg)
int lar_fill_preconditioner (int Matrix_id)
int lar_free_preconditioner (int Matrix_id)
void lar_compute_residual (int Matrix_id, int Use_rhs, int Ini_zero, int Ndof, double *X, double *B, double *V)
void lar_perform_BJ_or_GS_iterations (int Matrix_id, int Use_rhs, int Ini_zero, int Nr_prec, int Ndof, double *V, double *B)
void lar_perform_rhsub (int Matrix_id, int Ndof, double *V, double *B)
int lar_get_SM_and_LV_crs (int Matrix_id, int offset, int **crs_row, int **crs_col, double **crs_val, double **rhs)

Variables

int lav_nr_matrices
int lav_cur_matrix_id
lat_matrices lav_matrices [LAC_MAX_MATRICES]

Define Documentation

#define ADD_SCHWARZ   3
#define BLOCK_GS   2
#define BLOCK_ILU   5
#define BLOCK_JACOBI   1
#define LAC_MAX_MATRICES   20
#define LAC_SCOPE_LV   1
#define LAC_SCOPE_SM   2
#define LAC_SCOPE_SM_AND_LV   0
#define LAC_STORAGE_BCRS   3
#define LAC_STORAGE_BLOCK   1
#define LAC_STORAGE_CRS   2
#define LAC_STORAGE_CRS_GENERIC   4
#define LAC_STORAGE_PETSC   5
#define LAC_STORAGE_UNDEFINED   -1
#define MULTI_ILU   4
#define NO_PRECON   0

Function Documentation

int lar_allocate_preconditioner ( int  Matrix_id,
int  Precon,
int  Second_arg 
)

-------------------------------------------------------- lar_allocate_preconditioner - to allocate space for preconditioner ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_allocate_SM_and_LV ( int  Storage_type,
int  solver_type,
int  Nrdof_glob,
int  Max_SM_size,
int  Nrblocks,
int  Block_size,
int *  Nrdofbl,
int *  Posglob,
int *  Nroffbl,
int **  L_offbl 
)

-------------------------------------------------------- lar_allocate_SM_and_LV - to allocate space for stiffness matrix and load vector ---------------------------------------------------------

!!!!!!!!!! FOR DEBUGGING !!!!!!!!!!

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_assemble_SM_and_LV ( int  Matrix_id,
int  Scope,
int  Nr_dof_bl,
int *  L_bl_id,
int *  L_bl_nrdof,
double *  Stiff_mat,
double *  Rhs_vect,
char *  Rewr_dofs 
)

----------------------------------------------------------- lar_assemble_SM_and_LV - 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 lar_assemble_SM_and_LV_with_table ( int  Matrix_id,
int  Scope,
int  Nr_dof_bl,
int *  Assembly_table_int_ent,
int *  Local_to_global_int_ent,
double *  Stiff_mat,
double *  Rhs_vect,
char *  Rewr_dofs 
)

Here is the call graph for this function:

Here is the caller graph for this function:

void lar_compute_residual ( int  Matrix_id,
int  Use_rhs,
int  Ini_zero,
int  Ndof,
double *  X,
double *  B,
double *  V 
)

-------------------------------------------------------- lar_compute_residual - to compute the residual of the not preconditioned system of equations, v = ( b - Ax ) ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_create_solver_structures_accel ( int  Matrix_id  ) 

--------------------------------------------------------- lar_create_solver_structures_accel - utility to create data structures on GPU ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_fill_assembly_table_int_ent ( int  Matrix_id,
int  Nr_dof_bl,
int *  L_bl_id,
int *  L_bl_nrdof,
int *  Assembly_table_int_ent 
)

----------------------------------------------------------- lar_fill_assembly_table_int_ent - to fill 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 lar_fill_preconditioner ( int  Matrix_id  ) 

-------------------------------------------------------- lar_fill_preconditioner - to fill preconditioner ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_free_preconditioner ( int  Matrix_id  ) 

-------------------------------------------------------- lar_free_preconditioner - to free space for a block structure ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_free_SM_and_LV ( int  Matrix_id  ) 

-------------------------------------------------------- lar_free_SM_and_LV - to free space for a block structure ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_get_crs_data ( int  Matrix_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 
)

--------------------------------------------------------- lar_get_crs_data - utility to get CRS parameters and pointers ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_get_SM_and_LV_crs ( int  Matrix_id,
int  offset,
int **  crs_row,
int **  crs_col,
double **  crs_val,
double **  rhs 
)

--------------------------------------------------------- lar_get_SM_and_LV_crs - convert all matrix format to crs ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

double lar_get_storage ( int  Matrix_id  ) 

-------------------------------------------------------- lar_get_storage - to compute storage of SM, LV and preconditioner ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

int lar_initialize_SM_and_LV ( int  Matrix_id,
int  Scope 
)

-------------------------------------------------------- lar_initialize_SM_and_LV - to initialize stiffness matrix and/or load vector ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

void lar_perform_BJ_or_GS_iterations ( int  Matrix_id,
int  Use_rhs,
int  Ini_zero,
int  Nr_prec,
int  Ndof,
double *  V,
double *  B 
)

-------------------------------------------------------- lar_compute_preconditioned_residual - to compute the residual of the preconditioned system of equations, v = M^-1 * ( b - Ax ) where M^-1 corresponds directly to the stored preconditioner matrix --------------------------------------------------------- -------------------------------------------------------- lar_perform_BJ_or_GS_iterations - to perform one iteration of block Gauss-Seidel or block Jacobi algorithm: v_out = v_in + M^-1 * ( b - A * v_in ) where M^-1 results from stored preconditioner matrix and the algorithm ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:

void lar_perform_rhsub ( int  Matrix_id,
int  Ndof,
double *  V,
double *  B 
)

-------------------------------------------------------- lar_perform_rhsub - to perform forward reduction and back-substitution for ILU preconditioning ---------------------------------------------------------

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

lat_matrices lav_matrices[LAC_MAX_MATRICES]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1