fmatvec
0.0.0
spooles.h
1
/* Copyright (C) 2003-2022 Martin Förg
2
3
* This library is free software; you can redistribute it and/or
4
* modify it under the terms of the GNU Lesser General Public
5
* License as published by the Free Software Foundation; either
6
* version 2.1 of the License, or (at your option) any later version.
7
*
8
* This library is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
* Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public
14
* License along with this library; if not, write to the Free Software
15
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
*
17
* Contact:
18
* martin.o.foerg@googlemail.com
19
*
20
*/
21
22
#ifndef spooles_h
23
#define spooles_h
24
25
#include "sparse_matrix.h"
26
#include "symmetric_sparse_matrix.h"
27
28
using
IV =
struct
_IV;
29
using
InpMtx =
struct
_InpMtx;
30
using
FrontMtx =
struct
_FrontMtx;
31
using
SubMtxManager =
struct
_SubMtxManager;
32
using
ETree =
struct
_ETree;
33
34
namespace
fmatvec
{
35
36
class
Spooles
{
37
public
:
38
Spooles
(
const
Matrix<SymmetricSparse, Ref, Ref, double>
&A);
39
Spooles
(
const
Matrix<SymmetricSparse, Ref, Ref, double>
&A,
const
Matrix<SymmetricSparse, Ref, Ref, double>
&M,
double
sigma);
40
virtual
~Spooles
();
41
void
factorize();
42
Matrix<General, Ref, Ref, double>
solve(
const
Matrix<General, Ref, Ref, double>
&B);
43
Vector<Ref, double>
solve(
const
Vector<Ref, double>
&b);
44
private
:
45
int
neq{0};
46
InpMtx *mtxA{
nullptr
};
47
double
cpus[11];
48
IV *newToOldIV{
nullptr
};
49
IV *oldToNewIV{
nullptr
};
50
FrontMtx *frontmtx{
nullptr
};
51
SubMtxManager *mtxmanager{
nullptr
};
52
ETree *frontETree{
nullptr
};
53
};
54
55
}
56
57
#endif
fmatvec::Matrix
This is the basic matrix class for arbitrary matrices.
Definition:
matrix.h:52
fmatvec::Spooles
Definition:
spooles.h:36
fmatvec::Vector
Definition:
matrix.h:167
fmatvec
Namespace fmatvec.
Definition:
_memory.cc:28
fmatvec
spooles.h
Generated with
Doxygen
using
Doxygen Awesome
on Mon Mar 30 2026