BELFEM
0.9.3
Berkeley Lab Finite Element Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
cl_SolverUMFPACK.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_CL_SOLVERDATAUMFPACK_HPP
13
#define BELFEM_CL_SOLVERDATAUMFPACK_HPP
14
15
#include "
cl_SolverWrapper.hpp
"
16
17
namespace
belfem
18
{
19
namespace
solver
20
{
21
//------------------------------------------------------------------------------
22
23
class
UMFPACK
:
public
Wrapper
24
{
25
int
mTransposedFlag ;
26
27
// symbolic factorization
28
void
* mSymbolic = nullptr ;
29
30
//------------------------------------------------------------------------------
31
public
:
32
//------------------------------------------------------------------------------
33
34
UMFPACK
() ;
35
36
//------------------------------------------------------------------------------
37
38
~UMFPACK
()
override
;
39
40
//------------------------------------------------------------------------------
41
45
void
46
solve
(
47
SpMatrix
& aMatrix,
48
Vector< real >
& aLHS,
49
Vector< real >
& aRHS )
override
;
50
51
//------------------------------------------------------------------------------
52
53
void
54
solve
(
55
SpMatrix
& aMatrix,
56
Matrix< real >
& aLHS,
57
Matrix< real >
& aRHS )
override
;
58
59
60
//------------------------------------------------------------------------------
61
62
void
63
free
()
override
;
64
65
//------------------------------------------------------------------------------
66
protected :
67
//------------------------------------------------------------------------------
68
69
void
70
initialize
(
SpMatrix
& aMatrix,
71
const
SymmetryMode
aSymmetryMode =
SymmetryMode::Unsymmetric
,
72
const
int_t
aNumRhsColumns = 1 )
override
;
73
74
//------------------------------------------------------------------------------
75
76
string
77
error_message
(
const
int
aStatus )
const
;
78
79
//------------------------------------------------------------------------------
80
};
81
}
82
}
83
#endif
//BELFEM_CL_SOLVERDATAUMFPACK_HPP
cl_SolverWrapper.hpp
belfem::Matrix< real >
belfem::SpMatrix
Sparse matrix in CSR or CSC format.
Definition
cl_SpMatrix.hpp:52
belfem::Vector< real >
belfem::solver::UMFPACK::UMFPACK
UMFPACK()
Definition
cl_SolverUMFPACK.cpp:22
belfem::solver::UMFPACK::error_message
string error_message(const int aStatus) const
Definition
cl_SolverUMFPACK.cpp:313
belfem::solver::UMFPACK::initialize
void initialize(SpMatrix &aMatrix, const SymmetryMode aSymmetryMode=SymmetryMode::Unsymmetric, const int_t aNumRhsColumns=1) override
Definition
cl_SolverUMFPACK.cpp:37
belfem::solver::UMFPACK::free
void free() override
Definition
cl_SolverUMFPACK.cpp:113
belfem::solver::UMFPACK::solve
void solve(SpMatrix &aMatrix, Vector< real > &aLHS, Vector< real > &aRHS) override
Local; it does not use MPI.
Definition
cl_SolverUMFPACK.cpp:129
belfem::solver::Wrapper::Wrapper
Wrapper(const string &aLabel, const bool aUsesMPI)
Definition
cl_SolverWrapper.cpp:44
belfem::solver
Definition
cl_SolverMUMPS.cpp:26
belfem
USER GUIDES:
Definition
cl_Capacitor.cpp:16
belfem::SymmetryMode
SymmetryMode
Definition
en_SolverEnums.hpp:36
belfem::SymmetryMode::Unsymmetric
@ Unsymmetric
Definition
en_SolverEnums.hpp:37
belfem::int_t
int32_t int_t
Definition
typedefs.hpp:51
src
sparse
cl_SolverUMFPACK.hpp
Generated by
1.18.0