File mumps_laplace.hxx

Defines

MUMPS_JOB_INIT
MUMPS_JOB_END
MUMPS_JOB_ANALYSIS
MUMPS_JOB_FACTORIZATION
MUMPS_JOB_SOLUTION
MUMPS_JOB_ANALYSIS_AND_FACTORIZATION
MUMPS_JOB_BOTH
MUMPS_JOB_ALL
class LaplaceMumps : public Laplacian

Public Functions

LaplaceMumps(Options *opt = nullptr, const CELL_LOC loc = CELL_CENTRE, Mesh *mesh_in = nullptr)
~LaplaceMumps()
void setCoefA(const Field2D &val)

Set coefficients for inversion. Re-builds matrices if necessary.

void setCoefC(const Field2D &val)
void setCoefC1(const Field2D &val)
void setCoefC2(const Field2D &val)
void setCoefD(const Field2D &val)
void setCoefEx(const Field2D &val)
void setCoefEz(const Field2D &val)
void setCoefA(const Field3D &val)
void setCoefC(const Field3D &val)
void setCoefC1(const Field3D &val)
void setCoefC2(const Field3D &val)
void setCoefD(const Field3D &val)
void setCoefEx(const Field3D &val)
void setCoefEz(const Field3D &val)
bool uses3DCoefs() const

Does this solver use Field3D coefficients (true) or only their DC component (false)

void setFlags(int f)
FieldPerp solve(const FieldPerp &b)
FieldPerp solve(const FieldPerp &b, const FieldPerp &x0)

Private Functions

void solve(BoutReal *rhs, int y)
void Coeffs(int x, int y, int z, BoutReal &A1, BoutReal &A2, BoutReal &A3, BoutReal &A4, BoutReal &A5)

Private Members

Field3D A
Field3D C1
Field3D C2
Field3D D
Field3D Ex
Field3D Ez
bool issetD
bool issetC
bool issetE
Array<BoutReal> rhs
Array<BoutReal> localrhs
int localrhssize
Array<int> localrhs_size_array
Array<int> rhs_positions
FieldPerp sol
int Istart
int Iend
int meshx
int meshz
int size
int localN
int nxguards
MPI_Comm comm
Options *opts
bool fourth_order
int implemented_flags
int implemented_boundary_flags
DMUMPS_STRUC_C mumps_struc