File laplacexy-hypre.hxx#
-
class LaplaceXY2Hypre : public LaplaceXY#
Public Functions
-
LaplaceXY2Hypre(Mesh *m = nullptr, Options *opt = nullptr, CELL_LOC loc = CELL_CENTRE)#
-
LaplaceXY2Hypre(const LaplaceXY2Hypre&) = delete#
-
LaplaceXY2Hypre(LaplaceXY2Hypre&&) = delete#
-
LaplaceXY2Hypre &operator=(const LaplaceXY2Hypre&) = delete#
-
LaplaceXY2Hypre &operator=(LaplaceXY2Hypre&&) = delete#
-
~LaplaceXY2Hypre() override = default#
-
virtual void setCoefs(const Field2D &A, const Field2D &B) override#
Set coefficients (A, B) in equation: Div( A * Grad_perp(x) ) + B*x = b
-
virtual Field2D solve(const Field2D &rhs, const Field2D &x0) override#
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 y_bndry_dirichlet#
-
bool print_timing#
-
LaplaceXY2Hypre(Mesh *m = nullptr, Options *opt = nullptr, CELL_LOC loc = CELL_CENTRE)#