Block-Structured AMR Software Framework
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
AMReX_HypreABecLap2.H
Go to the documentation of this file.
1#ifndef AMREX_HYPREABECLAP2_H_
2#define AMREX_HYPREABECLAP2_H_
3#include <AMReX_Config.H>
4
5#include <AMReX_Hypre.H>
6
7#include "_hypre_sstruct_mv.h"
8#include "_hypre_sstruct_ls.h"
9
10namespace amrex
11{
12
13class HypreABecLap2 final
14 : public Hypre
15{
16public:
17
18 HypreABecLap2 (const BoxArray& grids, const DistributionMapping& dmap,
19 const Geometry& geom_, MPI_Comm comm_);
20 ~HypreABecLap2 () override;
21
22 HypreABecLap2 (HypreABecLap2 const&) = delete;
26
27 void solve (MultiFab& soln, const MultiFab& rhs, Real reltol, Real abstol,
28 int maxiter, const BndryData& bndry, int max_bndry_order) override;
29
30private :
31
32 HYPRE_SStructGrid hgrid = nullptr;
33 HYPRE_SStructStencil stencil = nullptr;
34 HYPRE_SStructGraph graph = nullptr;
35 HYPRE_SStructMatrix A = nullptr;
36 HYPRE_SStructVector b = nullptr;
37 HYPRE_SStructVector x = nullptr;
38 HYPRE_Solver solver = nullptr;
39
40 void getSolution (MultiFab& soln);
41
42public: // for cuda
43 void prepareSolver ();
44 void loadVectors (MultiFab& soln, const MultiFab& rhs);
45};
46
47}
48
49#endif
int MPI_Comm
Definition AMReX_ccse-mpi.H:47
A BndryData stores and manipulates boundary data information on each side of each box in a BoxArray.
Definition AMReX_BndryData.H:41
A collection of Boxes stored in an Array.
Definition AMReX_BoxArray.H:550
Calculates the distribution of FABs to MPI processes.
Definition AMReX_DistributionMapping.H:41
Rectangular problem domain geometry.
Definition AMReX_Geometry.H:73
Definition AMReX_HypreABecLap2.H:15
HYPRE_SStructGrid hgrid
Definition AMReX_HypreABecLap2.H:32
HYPRE_SStructMatrix A
Definition AMReX_HypreABecLap2.H:35
HYPRE_SStructVector x
Definition AMReX_HypreABecLap2.H:37
HYPRE_Solver solver
Definition AMReX_HypreABecLap2.H:38
void loadVectors(MultiFab &soln, const MultiFab &rhs)
Definition AMReX_HypreABecLap2.cpp:289
void getSolution(MultiFab &soln)
Definition AMReX_HypreABecLap2.cpp:119
void solve(MultiFab &soln, const MultiFab &rhs, Real reltol, Real abstol, int maxiter, const BndryData &bndry, int max_bndry_order) override
Definition AMReX_HypreABecLap2.cpp:38
HYPRE_SStructGraph graph
Definition AMReX_HypreABecLap2.H:34
HypreABecLap2 & operator=(HypreABecLap2 const &)=delete
HYPRE_SStructStencil stencil
Definition AMReX_HypreABecLap2.H:33
HypreABecLap2(HypreABecLap2 &&)=delete
~HypreABecLap2() override
Definition AMReX_HypreABecLap2.cpp:19
HypreABecLap2(HypreABecLap2 const &)=delete
HYPRE_SStructVector b
Definition AMReX_HypreABecLap2.H:36
void prepareSolver()
Definition AMReX_HypreABecLap2.cpp:148
Definition AMReX_Hypre.H:18
A collection (stored as an array) of FArrayBox objects.
Definition AMReX_MultiFab.H:38
Definition AMReX_Amr.cpp:49