opm-simulators
Loading...
Searching...
No Matches
bslv.h
1
#pragma once
2
3
#ifdef __cplusplus
4
extern
"C"
{
5
#endif
6
7
8
#include "bsr.h"
9
#include "prec.h"
10
11
#include <stdbool.h>
12
16
typedef
17
struct
bslv_memory
18
{
19
// perform dilu (ilu0) of true (False)
20
bool
use_dilu;
21
22
// tolerance
23
double
tol;
24
// maximum number of iterations
25
int
max_iter;
26
// convergencey history
27
double
*e;
28
29
// size of linear system
30
int
n;
31
// pointer to temporary arrays
32
double
**dtmp;
33
34
// pointer to preconditioner
35
prec_t
*P;
36
}
37
bslv_memory
;
38
44
bslv_memory
*bslv_alloc();
45
51
void
bslv_free(
bslv_memory
*mem);
52
59
void
bslv_info(
bslv_memory
*mem,
int
count);
60
70
void
bslv_init(
bslv_memory
*mem,
double
tol,
int
max_iter,
bsr_matrix
const
*A,
bool
use_dilu);
71
84
int
bslv_pbicgstab3m(
bslv_memory
*mem,
bsr_matrix
*A,
const
double
*b,
double
*x);
85
98
int
bslv_pbicgstab3d(
bslv_memory
*mem,
bsr_matrix
*A,
const
double
*b,
double
*x);
99
100
#ifdef __cplusplus
101
}
102
#endif
bslv_memory
Linear solver memory.
Definition
bslv.h:18
bsr_matrix
Mixed-precision bsr matrix.
Definition
bsr.h:12
prec_t
Preconditioner struct.
Definition
prec.h:14
opm
simulators
linalg
mixed
bslv.h
Generated by
1.15.0