Alamo
Diagonal.H
Go to the documentation of this file.
1 #ifndef AMREX_OPERATOR_DIAGONAL_H_
2 #define AMREX_OPERATOR_DIAGONAL_H_
3 
4 #include <AMReX_MLCellLinOp.H>
5 #include <AMReX_Array.H>
6 #include <limits>
7 
8 #include "Operator/Operator.H"
9 
10 
11 using namespace amrex;
12 
13 namespace Operator
14 {
15 class Diagonal : public Operator<Grid::Node>
16 {
17 public:
18  Diagonal () {}
19  Diagonal (const Vector<Geometry>& a_geom,
20  const Vector<BoxArray>& a_grids,
21  const Vector<DistributionMapping>& a_dmap,
22  const LPInfo& a_info);
23  virtual ~Diagonal ();
24  Diagonal (const Diagonal&) = delete;
25  Diagonal (Diagonal&&) = delete;
26  Diagonal& operator= (const Diagonal&) = delete;
27  Diagonal& operator= (Diagonal&&) = delete;
28 protected:
29 
30  virtual void Fapply (int amrlev, int mglev, MultiFab& out, const MultiFab& in) const override final;
31  virtual void Fsmooth (int amrlev, int mglev, MultiFab& sol, const MultiFab& rsh) const override final;
32  virtual int getNComp() const override {return AMREX_SPACEDIM;};
33  virtual void normalize (int /*amrlev*/, int /*mglev*/, MultiFab& /*mf*/) const override final {};
34  virtual void reflux (int /*crse_amrlev*/,
35  MultiFab& /*res*/, const MultiFab& /*crse_sol*/, const MultiFab& /*crse_rhs*/,
36  MultiFab& /*fine_res*/, MultiFab& /*fine_sol*/, const MultiFab& /*fine_rhs*/) const override {};
37 
38 };
39 }
40 #endif
Operator::Diagonal
Definition: Diagonal.H:15
Operator::Diagonal::reflux
virtual void reflux(int, MultiFab &, const MultiFab &, const MultiFab &, MultiFab &, MultiFab &, const MultiFab &) const override
Definition: Diagonal.H:34
Operator
Documentation for operator namespace.
Definition: Diagonal.cpp:13
Operator::Diagonal::Diagonal
Diagonal()
Definition: Diagonal.H:18
Operator::Diagonal::getNComp
virtual int getNComp() const override
Definition: Diagonal.H:32
Operator::Diagonal::normalize
virtual void normalize(int, int, MultiFab &) const override final
Definition: Diagonal.H:33
Set::Diagonal
@ Diagonal
Definition: Base.H:197