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#