Alamo
Implicit.H
Go to the documentation of this file.
1#ifndef OPERATOR_IMPLICIT_IMPLICIT_H_
2#define OPERATOR_IMPLICIT_IMPLICIT_H_
3
4#include <AMReX_MLCellLinOp.H>
5#include <AMReX_Array.H>
6#include <limits>
7
8#include "Operator/Operator.H"
9
10
11using namespace amrex;
12
13namespace Operator
14{
15namespace Implicit
16{
17class Implicit : public Operator<Grid::Cell>
18{
19public:
21 Implicit (const Vector<Geometry>& a_geom,
22 const Vector<BoxArray>& a_grids,
23 const Vector<DistributionMapping>& a_dmap,
25 const LPInfo& a_info);
26 virtual ~Implicit () {};
27 Implicit (const Implicit&) = delete;
28 Implicit (Implicit&&) = delete;
29 Implicit& operator= (const Implicit&) = delete;
31
32protected:
33
34 virtual void Fapply (int amrlev, int mglev, MultiFab& out, const MultiFab& in) const final;
35 virtual void Fsmooth (int amrlev, int mglev, MultiFab& sol, const MultiFab& rsh, int redblack) const final;
36 virtual void FFlux (int amrlev, const MFIter& mfi,
37 const Array<FArrayBox*,AMREX_SPACEDIM>& flux,
38 const FArrayBox& sol, Location loc, const int face_only=0) const;
39 virtual int getNComp() const {return AMREX_SPACEDIM;};
40 virtual bool isCrossStencil () const { return false; }
41private:
42};
43}
44}
45#endif
Definition BC.H:42
Implicit(Implicit &&)=delete
virtual int getNComp() const
Definition Implicit.H:39
virtual void Fapply(int amrlev, int mglev, MultiFab &out, const MultiFab &in) const final
Definition Implicit.cpp:26
virtual bool isCrossStencil() const
Definition Implicit.H:40
Implicit & operator=(const Implicit &)=delete
virtual void Fsmooth(int amrlev, int mglev, MultiFab &sol, const MultiFab &rsh, int redblack) const final
Definition Implicit.cpp:37
virtual void FFlux(int amrlev, const MFIter &mfi, const Array< FArrayBox *, AMREX_SPACEDIM > &flux, const FArrayBox &sol, Location loc, const int face_only=0) const
Definition Implicit.cpp:47
Implicit(const Implicit &)=delete
Documentation for operator namespace.
Definition Diagonal.cpp:14