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 |


1.6.1