Defines | |
#define | SIC_SEQUENTIAL 0 |
#define | SIC_PARALLEL 1 |
#define | SIC_SOLVE 0 |
#define | SIC_RESOLVE 1 |
#define | SIC_SOLVER_ASSEMBLE 0 |
#define | SIC_PROBLEM_ASSEMBLE 1 |
#define | SIC_PRINT_NOT 0 |
#define | SIC_PRINT_ERRORS 1 |
#define | SIC_PRINT_INFO 2 |
#define | SIC_PRINT_ALLINFO 3 |
#define | SIC_MAX_NUM_SOLV 10 |
#define | SIC_MAX_DOF_PER_INT 70 |
#define | SIC_MAX_INT_PER_DOF 100 |
#define | SIC_MAX_DOF_STR_NGB 296 |
#define | SIC_LIST_END_MARK -1 |
Functions | |
int | sir_module_introduce (char *Solver_name) |
int | sir_solve_lin_sys (int Problem_id, int Solver_type, int Parallel, int Nr_levels, char *Filename, int Max_iter, int Error_type, double Error_tolerance, int Monitoring_level) |
int | sir_init (int Solver_type, int Parallel, int Nr_levels, char *Filename, int Max_iter, int Error_type, double Error_tolerance, int Monitoring_level) |
int | sir_create (int Solver_id, int Problem_id) |
int | sir_solve (int Solver_id, int Comp_type, int Ini_guess, int Monitor, int *Nr_iter, double *Conv_meas, double *Conv_rate) |
int | sir_free (int Solver_id) |
int | sir_destroy (int Solver_id) |
int | sir_direct_solve_lin_sys (int Problem_id, int Parallel, char *Filename) |
int | sir_assemble_local_stiff_mat_with_table (int Solver_id, int Level_id, int Comp_type, int Nr_dof_ent, int *Assembly_table_int_ent, int *Local_to_global_int_ent, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
int | sir_assemble_local_stiff_mat (int Solver_id, int Level_id, int Comp_type, int Nr_dof_ent, int *L_dof_ent_type, int *L_dof_ent_id, int *L_dof_ent_nrdofs, double *Stiff_mat, double *Rhs_vect, char *Rewr_dofs) |
#define SIC_LIST_END_MARK -1 |
#define SIC_MAX_DOF_PER_INT 70 |
#define SIC_MAX_DOF_STR_NGB 296 |
#define SIC_MAX_INT_PER_DOF 100 |
#define SIC_MAX_NUM_SOLV 10 |
#define SIC_PARALLEL 1 |
#define SIC_PRINT_ALLINFO 3 |
#define SIC_PRINT_ERRORS 1 |
#define SIC_PRINT_INFO 2 |
#define SIC_PRINT_NOT 0 |
Monitoring options
#define SIC_PROBLEM_ASSEMBLE 1 |
#define SIC_RESOLVE 1 |
#define SIC_SEQUENTIAL 0 |
Options for parallel execution
#define SIC_SOLVE 0 |
Options for solution procedure
#define SIC_SOLVER_ASSEMBLE 0 |
int sir_assemble_local_stiff_mat | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type, | |||
int | Nr_dof_ent, | |||
int * | L_dof_ent_type, | |||
int * | L_dof_ent_id, | |||
int * | L_dof_ent_nrdofs, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
----------------------------------------------------------- sir_assemble_local_stiff_mat - to assemble an element stiffness matrix to the global SM ------------------------------------------------------------
Solver_id | returns: >=0 - success code, <0 - error code | |
Level_id | in: solver ID (used to identify the subproblem) | |
Comp_type | in: level ID | |
Rhs_vect | in: stiffness matrix stored columnwise | |
Rewr_dofs | in: rhs vector in: flag to rewrite or sum up entries 'T' - true, rewrite entries when assembling 'F' - false, sum up entries when assembling |
int sir_assemble_local_stiff_mat_with_table | ( | int | Solver_id, | |
int | Level_id, | |||
int | Comp_type, | |||
int | Nr_dof_ent, | |||
int * | Assembly_table_int_ent, | |||
int * | Local_to_global_int_ent, | |||
double * | Stiff_mat, | |||
double * | Rhs_vect, | |||
char * | Rewr_dofs | |||
) |
----------------------------------------------------------- sir_assemble_local_stiff_mat_with_table - to assemble an element stiffness matrix to the global SM using assembly table ------------------------------------------------------------
Solver_id | returns: >=0 - success code, <0 - error code | |
Level_id | in: solver ID (used to identify the subproblem) | |
Comp_type | in: level ID | |
Rhs_vect | in: stiffness matrix stored columnwise | |
Rewr_dofs | in: rhs vector in: flag to rewrite or sum up entries 'T' - true, rewrite entries when assembling 'F' - false, sum up entries when assembling |
int sir_create | ( | int | Solver_id, | |
int | Problem_id | |||
) |
----------------------------------------------------------- sir_create - to create and initialize solver data structure ------------------------------------------------------------
!! If renumbering not used, the order in pdr_ and sir_ routines the same and !! the order in dof_struct table the same as returned by pdr_get_list_ent!!!
!!!!!!!!!*********?????????? FOR DEBUGGING ??????????**********!!!!!!!!!!
Solver_id | returns: >=0 - success code, <0 - error code | |
Problem_id | in: solver identification ID of the problem associated with the solver |
int sir_destroy | ( | int | Solver_id | ) |
----------------------------------------------------------- sir destroy - to destroy a solver instance and make room for next solvers ------------------------------------------------------------
Solver_id | returns: >=0 - success code, <0 - error code in: solver identification |
int sir_direct_solve_lin_sys | ( | int | Problem_id, | |
int | Parallel, | |||
char * | Filename | |||
) |
----------------------------------------------------------- sir_direct_solve_lin_sys - to solve the system of linear equations using a direct solver for the current setting of parameters (with initialization and finalization phases) ------------------------------------------------------------
Parallel | ID of the problem associated with the solver | |
Filename | parameter specifying sequential (SIC_SEQUENTIAL) or parallel (SIC_PARALLEL) execution in: name of the file with control parameters |
int sir_free | ( | int | Solver_id | ) |
----------------------------------------------------------- sir_free - to free memory for stiffness and preconditioner matrices ------------------------------------------------------------
Solver_id | returns: >=0 - success code, <0 - error code in: solver identification |
int sir_init | ( | int | Solver_type, | |
int | Parallel, | |||
int | Nr_levels, | |||
char * | Filename, | |||
int | Max_iter, | |||
int | Error_type, | |||
double | Error_tolerance, | |||
int | Monitoring_level | |||
) |
----------------------------------------------------------- sir_init - to create a new iterative solver, read its control parameters and initialize its data structure ------------------------------------------------------------
Solver_type | returns: >0 - solver ID, <0 - error code | |
Nr_levels | parameter specifying sequential (SIC_SEQUENTIAL) or parallel (SIC_PARALLEL) execution | |
Max_iter | in: name of the file with control parameters | |
Error_type | maximal number of iterations, -1 for values from Filename | |
Error_tolerance | type of error norm (stopping criterion), -1 for Filename | |
Monitoring_level | value for stopping criterion, -1.0 for Filename Level of output, -1 for Filename |
int sir_module_introduce | ( | char * | Solver_name | ) |
----------------------------------------------------------- sir_module_introduce - to return the solver name ------------------------------------------------------------
Solver_name | returns: >=0 - success code, <0 - error code out: the name of the solver |
int sir_solve | ( | int | Solver_id, | |
int | Comp_type, | |||
int | Ini_guess, | |||
int | Monitor, | |||
int * | Nr_iter, | |||
double * | Conv_meas, | |||
double * | Conv_rate | |||
) |
----------------------------------------------------------- sir_solve - to solve the system for a given data ------------------------------------------------------------
Solver_id | returns: >=0 - success code, <0 - error code | |
Comp_type | in: solver identification | |
Ini_guess | in: indicator for the scope of computations: SIC_SOLVE - solve the system SIC_RESOLVE - resolve for the new right hand side | |
Monitor | in: indicator whether to set initial guess (1), or to initialize it to zero (0) | |
Nr_iter | in: monitoring flag with options: SIC_PRINT_NOT - do not print anything SIC_PRINT_ERRORS - print error messages only SIC_PRINT_INFO - print most important information SIC_PRINT_ALLINFO - print all available information | |
Conv_meas | in: the maximum iterations to be performed out: actual number of iterations performed | |
Conv_rate | in: tolerance level for chosen measure out: the final value of convergence measure out (optional): the total convergence rate |
int sir_solve_lin_sys | ( | int | Problem_id, | |
int | Solver_type, | |||
int | Parallel, | |||
int | Nr_levels, | |||
char * | Filename, | |||
int | Max_iter, | |||
int | Error_type, | |||
double | Error_tolerance, | |||
int | Monitoring_level | |||
) |
----------------------------------------------------------- sir_solve_lin_sys - to solve the system of linear equations for the current setting of parameters (with initialization and finalization phases) ------------------------------------------------------------
Problem_id | returns: >=0 - success code, <0 - error code | |
Solver_type | ID of the problem associated with the solver | |
Nr_levels | parameter specifying sequential (SIC_SEQUENTIAL) or parallel (SIC_PARALLEL) execution | |
Max_iter | in: name of the file with control parameters | |
Error_type | maximal number of iterations, -1 for values from Filename | |
Error_tolerance | type of error norm (stopping criterion), -1 for Filename | |
Monitoring_level | value for stopping criterion, -1.0 for Filename Level of output, -1 for Filename |