8.3
general documentation
cs_param_mumps.h File Reference

Routines and structure to handle the MUMPS setup. The structure is used as a context structure of a cs_param_sles_t structure. More...

Go to the source code of this file.

Data Structures

struct  cs_param_mumps_t
 Set of parameters to specify additional options to MUMPS For more advanced settings, one has to use the cs_user_sles_mumps_hook function. Please also refer to the MUMPS user guide for more details. More...
 

Enumerations

enum  cs_param_mumps_facto_type_t { CS_PARAM_MUMPS_FACTO_LU , CS_PARAM_MUMPS_FACTO_LDLT_SYM , CS_PARAM_MUMPS_FACTO_LDLT_SPD , CS_PARAM_MUMPS_N_FACTO_TYPES }
 type of factorization to consider when using the MUMPS solver to solve a linear system More...
 
enum  cs_param_mumps_analysis_algo_t {
  CS_PARAM_MUMPS_ANALYSIS_AMD , CS_PARAM_MUMPS_ANALYSIS_QAMD , CS_PARAM_MUMPS_ANALYSIS_PORD , CS_PARAM_MUMPS_ANALYSIS_SCOTCH ,
  CS_PARAM_MUMPS_ANALYSIS_PTSCOTCH , CS_PARAM_MUMPS_ANALYSIS_METIS , CS_PARAM_MUMPS_ANALYSIS_PARMETIS , CS_PARAM_MUMPS_ANALYSIS_AUTO ,
  CS_PARAM_MUMPS_N_ANALYSIS_ALGOS
}
 Type of algorithm to consider when using the MUMPS solver to perform the analysis step (renumbering and graph manipulation). Please refer to the MUMPS user guide for more details about the following algorithms. AMD, QAMD and PORD are available with MUMPS without any prerequesite. More...
 
enum  cs_param_mumps_memory_usage_t { CS_PARAM_MUMPS_MEMORY_CONSTRAINED , CS_PARAM_MUMPS_MEMORY_AUTO , CS_PARAM_MUMPS_MEMORY_CPU_DRIVEN , CS_PARAM_MUMPS_N_MEMORY_USAGES }
 Strategy for the memory usage inside MUMPS. More...
 

Functions

cs_param_mumps_tcs_param_mumps_create (void)
 Create and initialize with the default settings a new structure storing a set of parameters used when calling MUMPS. More...
 
cs_param_mumps_tcs_param_mumps_copy (const cs_param_mumps_t *mumpsp)
 Copy into a new structure the given set of parameters used when calling MUMPS. More...
 
void cs_param_mumps_log (const char *name, const cs_param_mumps_t *mumpsp)
 Log the structure storing the set of parameters used with MUMPS. More...
 

Detailed Description

Routines and structure to handle the MUMPS setup. The structure is used as a context structure of a cs_param_sles_t structure.

Enumeration Type Documentation

◆ cs_param_mumps_analysis_algo_t

Type of algorithm to consider when using the MUMPS solver to perform the analysis step (renumbering and graph manipulation). Please refer to the MUMPS user guide for more details about the following algorithms. AMD, QAMD and PORD are available with MUMPS without any prerequesite.

Enumerator
CS_PARAM_MUMPS_ANALYSIS_AMD 

AMD is a sequential algorithm which is well-suited for 2D problem (for 3D problems it induces a higher memeory consumption).

CS_PARAM_MUMPS_ANALYSIS_QAMD 

QAMD is a sequential algorithm which is well-suited for 2D problem (for 3D problems it induces a higher memeory consumption).

CS_PARAM_MUMPS_ANALYSIS_PORD 

PORD is a sequential algorithm which is a good trade-off when MUMPS is installed with no prerequisite such as METIS or Scotch.

CS_PARAM_MUMPS_ANALYSIS_SCOTCH 

SCOTCH is a sequential algorithm which delivers the very good performance with 3D meshes, generally, better than PORD and not as good as METIS

CS_PARAM_MUMPS_ANALYSIS_PTSCOTCH 

PTSCOTCH is a parallel version of the sequential SCOTCH algorithm

CS_PARAM_MUMPS_ANALYSIS_METIS 

METIS is a sequential algorithm which delivers the best performance in case of 2D meshes.

CS_PARAM_MUMPS_ANALYSIS_PARMETIS 

PARMETIS is a parallel version of the sequential METIS algorithm

CS_PARAM_MUMPS_ANALYSIS_AUTO 

MUMPS decides what is the best choice among available algorithms. This is the default choice.

CS_PARAM_MUMPS_N_ANALYSIS_ALGOS 

◆ cs_param_mumps_facto_type_t

type of factorization to consider when using the MUMPS solver to solve a linear system

Enumerator
CS_PARAM_MUMPS_FACTO_LU 

LU factorization is the most generic factorization available with MUMPS. It can handle general matrices (block and/or unsymmetric matrices)

CS_PARAM_MUMPS_FACTO_LDLT_SYM 

This factorization is a Cholesky factorization (L.D.Lt) for general symmetric matrices.

CS_PARAM_MUMPS_FACTO_LDLT_SPD 

This factorization is devoted to SPD matrices and corresponds to a Cholesky factorization. This is more specific and thus more efficient than CS_PARAM_MUMPS_FACTO_LDLT_SYM.

CS_PARAM_MUMPS_N_FACTO_TYPES 

◆ cs_param_mumps_memory_usage_t

Strategy for the memory usage inside MUMPS.

Enumerator
CS_PARAM_MUMPS_MEMORY_CONSTRAINED 

Strategy aiming at limiting the memory usage

CS_PARAM_MUMPS_MEMORY_AUTO 

Strategy relying on the default settings

CS_PARAM_MUMPS_MEMORY_CPU_DRIVEN 

Strategy aiming at the best CPU time

CS_PARAM_MUMPS_N_MEMORY_USAGES 

Function Documentation

◆ cs_param_mumps_copy()

cs_param_mumps_t * cs_param_mumps_copy ( const cs_param_mumps_t mumpsp)

Copy into a new structure the given set of parameters used when calling MUMPS.

Parameters
[in]mumpspset of mumps parameters
Returns
a pointer to a new allocated structure

◆ cs_param_mumps_create()

cs_param_mumps_t * cs_param_mumps_create ( void  )

Create and initialize with the default settings a new structure storing a set of parameters used when calling MUMPS.

Returns
a pointer to a new allocated structure

◆ cs_param_mumps_log()

void cs_param_mumps_log ( const char *  name,
const cs_param_mumps_t mumpsp 
)

Log the structure storing the set of parameters used with MUMPS.

Parameters
[in]namename related to the current SLES
[in]mumpspset of mumps parameters