#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"
Functions | |
int | lsr_ns_supg_ext_init (int Solver_id, int Parallel, int *Max_num_levels_p, char *Filename, int Max_iter, int Error_type, double Error_tolerance, int Monitoring_level) |
int | lsr_ns_supg_ext_create_matrix (int Solver_id, int Level_id, int Nrblocks, int Nrdof_glob, int Max_sm_size, int *Nrdofbl, int *Posglob, int *Nroffbl, int **L_offbl) |
int | lsr_ns_supg_ext_create_precon (int Solver_id, int Level_id) |
int | lsr_ns_supg_ext_clear_matrix (int Solver_id, int Level_id, int Comp_type) |
int | lsr_ns_supg_ext_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_ns_supg_ext_show_matrix (int Solver_id, int Level_id) |
int | lsr_ns_supg_ext_fill_precon (int Solver_id, int Level_id) |
int | lsr_ns_supg_ext_solve (int Solver_id, int Ndof, int Ini_zero, double *X, double *B, int *Nr_iter, double *Toler, int Monitor, double *Conv_rate) |
int | lsr_ns_supg_ext_free_matrix (int Solver_id) |
void | lsr_ns_supg_ext_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_ns_supg_ext_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_ns_supg_ext_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 ------------------------------------------------------------
int lsr_ns_supg_ext_clear_matrix | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type | |||
) |
-------------------------------------------------------- lsr_ns_supg_ext_clear_matrix - to initialize block structure of system matrix ---------------------------------------------------------
void lsr_ns_supg_ext_compreres | ( | int | Solver_id, | |
int | Subsystem_id, | |||
int | Level_id, | |||
int | Control, | |||
int | Ini_zero, | |||
int | Ndof, | |||
double * | X, | |||
double * | B, | |||
double * | V | |||
) |
-------------------------------------------------------- lsr_ns_supg_ext_compreres - to compute the residual of the left preconditioned system of equations, v = M^-1 * ( b - Ax ) ( used also to compute the product v = M^-1 * Ax) ---------------------------------------------------------
int lsr_ns_supg_ext_create_matrix | ( | int | Solver_id, | |
int | Level_id, | |||
int | Nrblocks, | |||
int | Nrdof_glob, | |||
int | Max_sm_size, | |||
int * | Nrdofbl, | |||
int * | Posglob, | |||
int * | Nroffbl, | |||
int ** | L_offbl | |||
) |
-------------------------------------------------------- lsr_ns_supg_ext_create_matrix - to allocate space for a global system matrix ---------------------------------------------------------
int lsr_ns_supg_ext_create_precon | ( | int | Solver_id, | |
int | Level_id | |||
) |
-------------------------------------------------------- lsr_ns_supg_ext_create_precon - to create preconditioner blocks corresponding to small subdomains of neighboring elements ---------------------------------------------------------
int lsr_ns_supg_ext_fill_precon | ( | int | Solver_id, | |
int | Level_id | |||
) |
-------------------------------------------------------- lsr_ns_supg_ext_fill_precon - to prepare preconditioner by factorizing the stiffness matrix, either only diagonal blocks or block ILU(0) ---------------------------------------------------------
int lsr_ns_supg_ext_free_matrix | ( | int | Solver_id | ) |
-------------------------------------------------------- lsr_ns_supg_ext_free_matrix - to free space for solver data structure (system matrix, preconditioner and possibly other) ---------------------------------------------------------
int lsr_ns_supg_ext_init | ( | int | Solver_id, | |
int | Parallel, | |||
int * | Max_num_levels_p, | |||
char * | Filename, | |||
int | Max_iter, | |||
int | Error_type, | |||
double | Error_tolerance, | |||
int | Monitoring_level | |||
) |
----------------------------------------------------------- lsr_ns_supg_ext_init - to create a new solver instance, read its control parameters and initialize its data structure ------------------------------------------------------------
int lsr_ns_supg_ext_show_matrix | ( | int | Solver_id, | |
int | Level_id | |||
) |
-------------------------------------------------------- lsr_ns_supg_ext_show_matrix - to show matrix structure using graphic library ---------------------------------------------------------
int lsr_ns_supg_ext_solve | ( | int | Solver_id, | |
int | Ndof, | |||
int | Ini_zero, | |||
double * | X, | |||
double * | B, | |||
int * | Nr_iter, | |||
double * | Toler, | |||
int | Monitor, | |||
double * | Conv_rate | |||
) |
-------------------------------------------------------- lsr_ns_supg_ext_solve - to solve a system of equations, given previously constructed system matrix, preconditioner ---------------------------------------------------------