Ice Sheet System Model
4.18
Code documentation
src
c
toolkits
petsc
objects
PetscMat.h
Go to the documentation of this file.
1
7
#ifndef _PETSCMAT_H_
8
#define _PETSCMAT_H_
9
10
/*Headers:*/
11
/*{{{*/
12
#ifdef HAVE_CONFIG_H
13
#include <config.h>
14
#else
15
#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
16
#endif
17
18
#include "../petscincludes.h"
19
#include "../../../shared/Numerics/types.h"
20
21
/*}}}*/
22
class
PetscVec
;
23
24
class
PetscMat
{
25
26
public
:
27
Mat
matrix
;
28
29
#ifdef _HAVE_AD_
30
IssmDouble
* amatrix;
31
#endif
32
33
/*PetscMat constructors, destructors*/
34
PetscMat
();
35
PetscMat
(
int
M,
int
N);
36
PetscMat
(
int
M,
int
N,
IssmDouble
sparsity);
37
PetscMat
(
int
m,
int
n,
int
M,
int
N,
int
* d_nnz,
int
* o_nnz);
38
PetscMat
(
IssmDouble
* serial_mat,
int
M,
int
N,
IssmDouble
sparsity);
39
PetscMat
(
int
M,
int
N,
int
connectivity,
int
numberofdofspernode);
40
~PetscMat
();
41
42
/*PetscMat specific routines*/
43
void
AllocationInfo
(
void
);
44
void
Echo
(
void
);
45
void
Assemble
(
void
);
46
IssmDouble
Norm
(
NormMode
norm_type);
47
void
GetSize
(
int
* pM,
int
* pN);
48
void
GetLocalSize
(
int
* pM,
int
* pN);
49
void
MatMult
(
PetscVec
* X,
PetscVec
* AX);
50
PetscMat
*
Duplicate
(
void
);
51
IssmDouble
*
ToSerial
(
void
);
52
void
SetValues
(
int
m,
int
* idxm,
int
n,
int
* idxn,
IssmDouble
* values,
InsMode
mode);
53
void
Convert
(
MatrixType
type);
54
void
SetZero
(
void
);
55
};
56
57
#endif //#ifndef _PETSCMAT_H_
PetscMat::~PetscMat
~PetscMat()
Definition:
PetscMat.cpp:99
IssmDouble
double IssmDouble
Definition:
types.h:37
PetscMat::AllocationInfo
void AllocationInfo(void)
Definition:
PetscMat.cpp:105
PetscMat::SetZero
void SetZero(void)
Definition:
PetscMat.cpp:195
PetscMat::GetLocalSize
void GetLocalSize(int *pM, int *pN)
Definition:
PetscMat.cpp:148
PetscMat::MatMult
void MatMult(PetscVec *X, PetscVec *AX)
Definition:
PetscMat.cpp:155
PetscMat::ToSerial
IssmDouble * ToSerial(void)
Definition:
PetscMat.cpp:173
MatrixType
MatrixType
Definition:
toolkitsenums.h:16
PetscMat::Norm
IssmDouble Norm(NormMode norm_type)
Definition:
PetscMat.cpp:132
PetscMat::SetValues
void SetValues(int m, int *idxm, int n, int *idxn, IssmDouble *values, InsMode mode)
Definition:
PetscMat.cpp:182
NormMode
NormMode
Definition:
toolkitsenums.h:15
PetscVec
Definition:
PetscVec.h:22
PetscMat::GetSize
void GetSize(int *pM, int *pN)
Definition:
PetscMat.cpp:142
InsMode
InsMode
Definition:
toolkitsenums.h:14
PetscMat::Assemble
void Assemble(void)
Definition:
PetscMat.cpp:124
PetscMat::Echo
void Echo(void)
Definition:
PetscMat.cpp:119
PetscMat::matrix
Mat matrix
Definition:
PetscMat.h:27
PetscMat::Convert
void Convert(MatrixType type)
Definition:
PetscMat.cpp:189
PetscMat
Definition:
PetscMat.h:24
PetscMat::PetscMat
PetscMat()
Definition:
PetscMat.cpp:21
PetscMat::Duplicate
PetscMat * Duplicate(void)
Definition:
PetscMat.cpp:163
Generated on Thu Jul 2 2020 08:09:22 for Ice Sheet System Model by
1.8.19