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#
-
LaplaceXY2Hypre(Mesh *m = nullptr, Options *opt = nullptr, const CELL_LOC loc = CELL_CENTRE)#