Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::MLAlgMG::Impl Struct Reference

Public Member Functions

 Impl (int mglev, BoxArray const &grids, DistributionMapping const &dmap, Geometry const &geom, iMultiFab const &owner_mask, iMultiFab const &dirichlet_mask, MLNodeLinOp const &linop)
 Impl (int mglev, BoxArray const &grids, DistributionMapping const &dmap, Geometry const &geom, FabFactory< FArrayBox > const &factory, iMultiFab const *overset_mask, Real ascalar, Real bscalar, MultiFab const *acoef, Array< MultiFab const *, 3 > const &bcoef, MultiFab const *eb_bcoef, LayoutData< GpuArray< int, 2 *3 > > const &bctype, LayoutData< GpuArray< Real, 2 *3 > > const &bcl, int maxorder)
void defineNodal (BoxArray const &grids, DistributionMapping const &dmap, iMultiFab const &owner_mask, iMultiFab const &dirichlet_mask)
void defineCell (BoxArray const &grids, DistributionMapping const &dmap, FabFactory< FArrayBox > const &factory, iMultiFab const *overset_mask, Real ascalar, Real bscalar, MultiFab const *acoef, Array< MultiFab const *, 3 > const &bcoef, MultiFab const *eb_bcoef, LayoutData< GpuArray< int, 2 *3 > > const &bctype, LayoutData< GpuArray< Real, 2 *3 > > const &bcl, int maxorder)
void assembleNodal (MLNodeLinOp const &linop)
void assembleCell (FabFactory< FArrayBox > const &factory, iMultiFab const *overset_mask, Real ascalar, Real bscalar, MultiFab const &acoef, Array< MultiFab const *, 3 > const &bcoef, MultiFab const *eb_bcoef, LayoutData< GpuArray< int, 2 *3 > > const &bctype, LayoutData< GpuArray< Real, 2 *3 > > const &bcl, int maxorder)
void loadRHS (MultiFab const &rhs)
void getSolution (MultiFab &soln)

Public Attributes

int m_mglev = 0
bool m_nodal = true
MLNodeLinOp const * m_nodelinop = nullptr
Geometry m_geom
iMultiFab m_lid
FabArray< BaseFab< Long > > m_gid
LayoutData< Long > m_nrows_grid
LayoutData< Long > m_row_begin
Long m_nrows_proc = 0
MultiFab m_tmp
iMultiFab const * m_overset_mask = nullptr
iMultiFab m_osm_grown
FabArray< EBCellFlagFab > const * m_flags = nullptr
MultiFab const * m_vfrac = nullptr
AlgPartition m_part
SpMatrix< Real > m_A
AlgVector< Real > m_x
AlgVector< Real > m_b
AlgMG< Real > m_solver

Constructor & Destructor Documentation

◆ Impl() [1/2]

amrex::MLAlgMG::Impl::Impl ( int mglev,
BoxArray const & grids,
DistributionMapping const & dmap,
Geometry const & geom,
iMultiFab const & owner_mask,
iMultiFab const & dirichlet_mask,
MLNodeLinOp const & linop )

◆ Impl() [2/2]

amrex::MLAlgMG::Impl::Impl ( int mglev,
BoxArray const & grids,
DistributionMapping const & dmap,
Geometry const & geom,
FabFactory< FArrayBox > const & factory,
iMultiFab const * overset_mask,
Real ascalar,
Real bscalar,
MultiFab const * acoef,
Array< MultiFab const *, 3 > const & bcoef,
MultiFab const * eb_bcoef,
LayoutData< GpuArray< int, 2 *3 > > const & bctype,
LayoutData< GpuArray< Real, 2 *3 > > const & bcl,
int maxorder )

Member Function Documentation

◆ assembleCell()

void amrex::MLAlgMG::Impl::assembleCell ( FabFactory< FArrayBox > const & factory,
iMultiFab const * overset_mask,
Real ascalar,
Real bscalar,
MultiFab const & acoef,
Array< MultiFab const *, 3 > const & bcoef,
MultiFab const * eb_bcoef,
LayoutData< GpuArray< int, 2 *3 > > const & bctype,
LayoutData< GpuArray< Real, 2 *3 > > const & bcl,
int maxorder )

◆ assembleNodal()

void amrex::MLAlgMG::Impl::assembleNodal ( MLNodeLinOp const & linop)

◆ defineCell()

void amrex::MLAlgMG::Impl::defineCell ( BoxArray const & grids,
DistributionMapping const & dmap,
FabFactory< FArrayBox > const & factory,
iMultiFab const * overset_mask,
Real ascalar,
Real bscalar,
MultiFab const * acoef,
Array< MultiFab const *, 3 > const & bcoef,
MultiFab const * eb_bcoef,
LayoutData< GpuArray< int, 2 *3 > > const & bctype,
LayoutData< GpuArray< Real, 2 *3 > > const & bcl,
int maxorder )

◆ defineNodal()

void amrex::MLAlgMG::Impl::defineNodal ( BoxArray const & grids,
DistributionMapping const & dmap,
iMultiFab const & owner_mask,
iMultiFab const & dirichlet_mask )

◆ getSolution()

void amrex::MLAlgMG::Impl::getSolution ( MultiFab & soln)

◆ loadRHS()

void amrex::MLAlgMG::Impl::loadRHS ( MultiFab const & rhs)

Member Data Documentation

◆ m_A

SpMatrix<Real> amrex::MLAlgMG::Impl::m_A

◆ m_b

AlgVector<Real> amrex::MLAlgMG::Impl::m_b

◆ m_flags

FabArray<EBCellFlagFab> const* amrex::MLAlgMG::Impl::m_flags = nullptr

◆ m_geom

Geometry amrex::MLAlgMG::Impl::m_geom

◆ m_gid

FabArray<BaseFab<Long> > amrex::MLAlgMG::Impl::m_gid

◆ m_lid

iMultiFab amrex::MLAlgMG::Impl::m_lid

◆ m_mglev

int amrex::MLAlgMG::Impl::m_mglev = 0

◆ m_nodal

bool amrex::MLAlgMG::Impl::m_nodal = true

◆ m_nodelinop

MLNodeLinOp const* amrex::MLAlgMG::Impl::m_nodelinop = nullptr

◆ m_nrows_grid

LayoutData<Long> amrex::MLAlgMG::Impl::m_nrows_grid

◆ m_nrows_proc

Long amrex::MLAlgMG::Impl::m_nrows_proc = 0

◆ m_osm_grown

iMultiFab amrex::MLAlgMG::Impl::m_osm_grown

◆ m_overset_mask

iMultiFab const* amrex::MLAlgMG::Impl::m_overset_mask = nullptr

◆ m_part

AlgPartition amrex::MLAlgMG::Impl::m_part

◆ m_row_begin

LayoutData<Long> amrex::MLAlgMG::Impl::m_row_begin

◆ m_solver

AlgMG<Real> amrex::MLAlgMG::Impl::m_solver

◆ m_tmp

MultiFab amrex::MLAlgMG::Impl::m_tmp

◆ m_vfrac

MultiFab const* amrex::MLAlgMG::Impl::m_vfrac = nullptr

◆ m_x

AlgVector<Real> amrex::MLAlgMG::Impl::m_x

The documentation for this struct was generated from the following file: