File laplacexy2_hypre.hxx

class LaplaceXY2Hypre

Public Functions

LaplaceXY2Hypre(Mesh *m = nullptr, Options *opt = nullptr, const CELL_LOC loc = CELL_CENTRE)
~LaplaceXY2Hypre() = default
void setCoefs(const Field2D &A, const Field2D &B)

Set coefficients (A, B) in equation: Div( A * Grad_perp(x) ) + B*x = b

Field2D solve(Field2D &rhs, Field2D &x0)

Solve Laplacian in X-Y

Inputs

rhs - The field to be inverted. This must be allocated and contain valid data. x0 - Initial guess at the solution. If this is unallocated then an initial guess of zero will be used.

Returns

The solution as a Field2D. On failure an exception will be raised

Private Functions

MPI_Comm communicator()

Return the communicator for XY

Private Members

Mesh *localmesh

The mesh this operates on, provides metrics and communication.

Preconditioner function This is called by Hypre via a static function. and should not be called by external users

IndexerPtr<Field2D> indexConverter
bout::HypreMatrix<Field2D> M
bout::HypreVector<Field2D> x
bout::HypreVector<Field2D> b
bout::HypreSystem<Field2D> linearSystem
bool include_y_derivs
bool x_inner_dirichlet
bool x_outer_dirichlet
bool y_bndry_dirichlet
bool print_timing
CELL_LOC location