Solver

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 Documentation

#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

Function Documentation

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

Parameters:
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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters:
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

Here is the call graph for this function:

Here is the caller graph for this function:

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 ??????????**********!!!!!!!!!!

Parameters:
Solver_id returns: >=0 - success code, <0 - error code
Problem_id in: solver identification ID of the problem associated with the solver

Here is the call graph for this function:

Here is the caller graph for this function:

int sir_destroy ( int  Solver_id  ) 

----------------------------------------------------------- sir destroy - to destroy a solver instance and make room for next solvers ------------------------------------------------------------

Parameters:
Solver_id returns: >=0 - success code, <0 - error code in: solver identification

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters:
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

Here is the call graph for this function:

Here is the caller graph for this function:

int sir_free ( int  Solver_id  ) 

----------------------------------------------------------- sir_free - to free memory for stiffness and preconditioner matrices ------------------------------------------------------------

Parameters:
Solver_id returns: >=0 - success code, <0 - error code in: solver identification

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters:
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

Here is the call graph for this function:

Here is the caller graph for this function:

int sir_module_introduce ( char *  Solver_name  ) 

----------------------------------------------------------- sir_module_introduce - to return the solver name ------------------------------------------------------------

Parameters:
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 ------------------------------------------------------------

Parameters:
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

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters:
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

Here is the call graph for this function:

Here is the caller graph for this function:

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 3 Jun 2020 for ModFEM by  doxygen 1.6.1