BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
mumpstools.hpp
Go to the documentation of this file.
1/*
2 * BELFEM -- The Berkeley Lab Finite Element Framework
3 * Copyright (c) 2026, The Regents of the University of California,
4 * through Lawrence Berkeley National Laboratory (subject to receipt of any required
5 * approvals from the U.S. Dept. of Energy). All rights reserved.
6 *
7 * Developers: Christian Messe, Gregory Giard
8 *
9 * See the top-level LICENSE file for the complete license and disclaimer.
10 */
11
12#ifndef BELFEM_MUMPSTOOLS_HPP
13#define BELFEM_MUMPSTOOLS_HPP
14
15#include "typedefs.hpp"
16#ifdef BELFEM_MUMPS
17#ifdef __cplusplus
18extern"C" {
19#endif
20
21//------------------------------------------------------------------------------
22
30 void
32 belfem::int_t & aSolverID,
33 belfem::int_t & aInfo,
34 const belfem::int_t & aHostIsWorking,
35 const belfem::int_t & aSymmetryMode );
36
37//------------------------------------------------------------------------------
38
44 void
46 belfem::int_t & aSolverID,
47 belfem::int_t * aInfo );
48
49//------------------------------------------------------------------------------
50
56 void
58
59//------------------------------------------------------------------------------
60
77 void
79 const belfem::int_t * aIParameters,
80 const double * aRParameters,
81 const belfem::int_t & aN,
82 const belfem::int_t & aNNZ,
83 const belfem::int_t & aNHRS,
84 const belfem::int_t * aRowIndices,
85 const belfem::int_t * aColIndices,
86 const double * aValues,
87 double * aX,
88 const double * aY,
89 belfem::int_t * aInfo,
90 belfem::int_t * aInfoG,
91 double * aRInfoG ) ;
92
93//------------------------------------------------------------------------------
94#ifdef __cplusplus
95}
96#endif
97#endif
98
99namespace mumps
100{
118
119//------------------------------------------------------------------------------
120
125 {
126 Ladder, // double ICNTL(14) and factorize again
127 Cap, // hand MUMPS the machine budget as ICNTL(23) and factorize again
128 GiveUp // hand the failure to the soft-fail arms
129 };
130
131//------------------------------------------------------------------------------
132
165 const belfem::int_t aInfoG1,
166 const belfem::int_t aRelax,
167 const belfem::int_t aRelaxCeiling,
168 const belfem::int_t aBudgetSlot,
169 const belfem::int_t aBudgetMB,
170 const belfem::int_t aBoundMB );
171
172}
173
174#endif //BELFEM_MUMPSTOOLS_HPP
subroutine mumpstools_solve(aiparameters, arparameters, an, annz, anrhs, arowindices, acolindices, avalues, ax, ay, ainfo, ainfog, arinfog)
Solves a linear system using MUMPS Supports analysis, factorization, and solution phases based on JOB...
Definition mumpstools.f90:271
subroutine mumpstools_free_solver(asolverid, ainfo)
Frees a MUMPS solver instance and releases its resources Calls MUMPS with JOB=-2 to destroy the solve...
Definition mumpstools.f90:162
subroutine mumpstools_num_solvers(acount)
Number of live solver instances ( pool occupancy ) on this process.
Definition mumpstools.f90:241
subroutine mumpstools_create_solver(asolverid, ainfo, ahostisworking, asymmetrymode)
Creates a new MUMPS solver instance Initializes the solver structure and reserves a slot in the globa...
Definition mumpstools.f90:52
int32_t int_t
Definition typedefs.hpp:51
Definition cl_SolverMUMPS.cpp:2195
WorkspaceAction next_workspace_action(const belfem::int_t aInfoG1, const belfem::int_t aRelax, const belfem::int_t aRelaxCeiling, const belfem::int_t aBudgetSlot, const belfem::int_t aBudgetMB, const belfem::int_t aBoundMB)
The retry policy after a factorization returned INFOG(1) = -9, -8, -17, -20 or -19,...
Definition cl_SolverMUMPS.cpp:2197
WorkspaceAction
what the wrapper does after a workspace failure of the factorization
Definition mumpstools.hpp:125
@ Cap
Definition mumpstools.hpp:127
@ Ladder
Definition mumpstools.hpp:126
@ GiveUp
Definition mumpstools.hpp:128
Parameter
Definition mumpstools.hpp:102
@ ParallelReordering
Definition mumpstools.hpp:111
@ MemoryRelaxation
Definition mumpstools.hpp:114
@ SerialReordering
Definition mumpstools.hpp:110
@ CompressionMode
Definition mumpstools.hpp:112
@ ComputeDeterminant
Definition mumpstools.hpp:115
@ SolverID
Definition mumpstools.hpp:103
@ NumRefinementSteps
Definition mumpstools.hpp:113
@ ErrorAnalysis
Definition mumpstools.hpp:107
@ MemoryBudget
Definition mumpstools.hpp:116
@ MasterRank
Definition mumpstools.hpp:105
@ WorkingHost
Definition mumpstools.hpp:108
@ Job
Definition mumpstools.hpp:104