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: