8.3
general documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
cs_param_mumps.h
Go to the documentation of this file.
1#ifndef __CS_PARAM_MUMPS_H__
2#define __CS_PARAM_MUMPS_H__
3
4/*============================================================================
5 * Routines and structure to handle the MUMPS settings
6 *============================================================================*/
7
8/*
9 This file is part of code_saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2024 EDF S.A.
12
13 This program is free software; you can redistribute it and/or modify it under
14 the terms of the GNU General Public License as published by the Free Software
15 Foundation; either version 2 of the License, or (at your option) any later
16 version.
17
18 This program is distributed in the hope that it will be useful, but WITHOUT
19 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21 details.
22
23 You should have received a copy of the GNU General Public License along with
24 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25 Street, Fifth Floor, Boston, MA 02110-1301, USA.
26*/
27
28/*----------------------------------------------------------------------------*/
29
30/*----------------------------------------------------------------------------
31 * Local headers
32 *----------------------------------------------------------------------------*/
33
34/*----------------------------------------------------------------------------*/
35
37
45/*============================================================================
46 * Macro definitions
47 *============================================================================*/
48
49/*============================================================================
50 * Type definitions
51 *============================================================================*/
52
71typedef enum {
72
76
78
80
81
119typedef enum {
120
128
130
132
134
135
149typedef enum {
150
154
156
158
159
166typedef struct {
167
168 /* \var analysis_algo
169 * Choice of the algorithm used to perform the analysis step
170 *
171 * \var facto_type
172 * Type of factorization to consider. This choice depends on the type of
173 * matrix to handle
174 *
175 * \var mem_usage
176 * Type of strategy to consider for the memory usage.
177 */
178
182
195 double mem_coef;
207
208/*============================================================================
209 * Global variables
210 *============================================================================*/
211
212/*============================================================================
213 * Public function prototypes
214 *============================================================================*/
215
216/*----------------------------------------------------------------------------*/
223/*----------------------------------------------------------------------------*/
224
227
228/*----------------------------------------------------------------------------*/
237/*----------------------------------------------------------------------------*/
238
241
242/*----------------------------------------------------------------------------*/
249/*----------------------------------------------------------------------------*/
250
251void
252cs_param_mumps_log(const char *name,
253 const cs_param_mumps_t *mumpsp);
254
255/*----------------------------------------------------------------------------*/
256
258
259#endif /* __CS_PARAM_MUMPS_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
#define END_C_DECLS
Definition: cs_defs.h:543
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...
Definition: cs_param_mumps.cpp:87
cs_param_mumps_facto_type_t
type of factorization to consider when using the MUMPS solver to solve a linear system
Definition: cs_param_mumps.h:71
@ CS_PARAM_MUMPS_FACTO_LDLT_SPD
This factorization is devoted to SPD matrices and corresponds to a Cholesky factorization....
Definition: cs_param_mumps.h:75
@ CS_PARAM_MUMPS_FACTO_LU
LU factorization is the most generic factorization available with MUMPS. It can handle general matric...
Definition: cs_param_mumps.h:73
@ CS_PARAM_MUMPS_N_FACTO_TYPES
Definition: cs_param_mumps.h:77
@ CS_PARAM_MUMPS_FACTO_LDLT_SYM
This factorization is a Cholesky factorization (L.D.Lt) for general symmetric matrices.
Definition: cs_param_mumps.h:74
cs_param_mumps_memory_usage_t
Strategy for the memory usage inside MUMPS.
Definition: cs_param_mumps.h:149
@ CS_PARAM_MUMPS_MEMORY_CONSTRAINED
Definition: cs_param_mumps.h:151
@ CS_PARAM_MUMPS_MEMORY_CPU_DRIVEN
Definition: cs_param_mumps.h:153
@ CS_PARAM_MUMPS_N_MEMORY_USAGES
Definition: cs_param_mumps.h:155
@ CS_PARAM_MUMPS_MEMORY_AUTO
Definition: cs_param_mumps.h:152
cs_param_mumps_analysis_algo_t
Type of algorithm to consider when using the MUMPS solver to perform the analysis step (renumbering a...
Definition: cs_param_mumps.h:119
@ CS_PARAM_MUMPS_ANALYSIS_QAMD
Definition: cs_param_mumps.h:122
@ CS_PARAM_MUMPS_ANALYSIS_PORD
Definition: cs_param_mumps.h:123
@ CS_PARAM_MUMPS_ANALYSIS_SCOTCH
Definition: cs_param_mumps.h:124
@ CS_PARAM_MUMPS_N_ANALYSIS_ALGOS
Definition: cs_param_mumps.h:131
@ CS_PARAM_MUMPS_ANALYSIS_AUTO
Definition: cs_param_mumps.h:129
@ CS_PARAM_MUMPS_ANALYSIS_METIS
Definition: cs_param_mumps.h:126
@ CS_PARAM_MUMPS_ANALYSIS_PARMETIS
Definition: cs_param_mumps.h:127
@ CS_PARAM_MUMPS_ANALYSIS_AMD
Definition: cs_param_mumps.h:121
@ CS_PARAM_MUMPS_ANALYSIS_PTSCOTCH
Definition: cs_param_mumps.h:125
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.
Definition: cs_param_mumps.cpp:124
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.
Definition: cs_param_mumps.cpp:153
Set of parameters to specify additional options to MUMPS For more advanced settings,...
Definition: cs_param_mumps.h:166
cs_param_mumps_facto_type_t facto_type
Definition: cs_param_mumps.h:180
double blr_threshold
Definition: cs_param_mumps.h:188
double mem_coef
Definition: cs_param_mumps.h:195
int ir_steps
Definition: cs_param_mumps.h:204
int block_analysis
Definition: cs_param_mumps.h:201
cs_param_mumps_memory_usage_t mem_usage
Definition: cs_param_mumps.h:181
bool is_single
Definition: cs_param_mumps.h:183
cs_param_mumps_analysis_algo_t analysis_algo
Definition: cs_param_mumps.h:179
bool keep_ordering
Definition: cs_param_mumps.h:199
bool advanced_optim
Definition: cs_param_mumps.h:185