1#ifndef AMREX_HypreABecLap_H_
2#define AMREX_HypreABecLap_H_
3#include <AMReX_Config.H>
12#include <HYPRE_struct_ls.h>
61 int maxiter,
const BndryData& bndry,
int max_bndry_order)
override;
65 HYPRE_StructGrid grid =
nullptr;
66 HYPRE_StructMatrix A =
nullptr;
67 HYPRE_StructVector b =
nullptr;
68 HYPRE_StructVector x =
nullptr;
69 HYPRE_StructSolver solver =
nullptr;
Fixed-size array types for use on GPU and CPU.
Boundary data container that owns masks, boundary values, and metadata.
Problem-domain geometry: maps between index space and physical space.
Constants describing linear-operator boundary condition types.
Reference-counted collection of Boxes.
Definition AMReX_BoxArray.H:681
Calculates the distribution of FABs to MPI processes.
Definition AMReX_DistributionMapping.H:51
Rectangular problem domain geometry.
Definition AMReX_Geometry.H:87
HypreABecLap(HypreABecLap &&)=delete
HypreABecLap & operator=(HypreABecLap const &)=delete
void loadVectors(MultiFab &soln, const MultiFab &rhs)
Copy AMReX solution guess soln and RHS rhs into HYPRE vectors prior to a solve.
Definition AMReX_HypreABecLap.cpp:262
void prepareSolver()
Build the HYPRE structures and apply runtime parameters.
Definition AMReX_HypreABecLap.cpp:127
HypreABecLap(HypreABecLap const &)=delete
void solve(MultiFab &soln, const MultiFab &rhs, Real reltol, Real abstol, int maxiter, const BndryData &bndry, int max_bndry_order) override
Solve the struct-interface linear system with the configured coefficients.
Definition AMReX_HypreABecLap.cpp:33
~HypreABecLap() override
Definition AMReX_HypreABecLap.cpp:18
HypreABecLap(const BoxArray &grids, const DistributionMapping &dmap, const Geometry &geom_, MPI_Comm comm_)
Bind the solver to a single AMR level described by grids/dmap.
Definition AMReX_HypreABecLap.cpp:12
Hypre(const BoxArray &grids, const DistributionMapping &dmap, const Geometry &geom, MPI_Comm comm_)
Construct a HYPRE wrapper bound to the supplied grids.
Definition AMReX_Hypre.cpp:27
A collection (stored as an array) of FArrayBox objects.
Definition AMReX_MultiFab.H:40
amrex_real Real
Floating Point Type for Fields.
Definition AMReX_REAL.H:80
int MPI_Comm
Definition AMReX_ccse-mpi.H:51
Definition AMReX_Amr.cpp:50
BndryDataT< MultiFab > BndryData
Definition AMReX_BndryData.H:336