Block-Structured AMR Software Framework
AMReX_FabArray.H File Reference
#include <AMReX_Config.H>
#include <AMReX_BLassert.H>
#include <AMReX_Array.H>
#include <AMReX_Vector.H>
#include <AMReX_Box.H>
#include <AMReX.H>
#include <AMReX_BoxArray.H>
#include <AMReX_BoxDomain.H>
#include <AMReX_FabFactory.H>
#include <AMReX_DistributionMapping.H>
#include <AMReX_Geometry.H>
#include <AMReX_GpuComplex.H>
#include <AMReX_ParallelDescriptor.H>
#include <AMReX_Utility.H>
#include <AMReX_ccse-mpi.H>
#include <AMReX_BLProfiler.H>
#include <AMReX_Periodicity.H>
#include <AMReX_Print.H>
#include <AMReX_FabArrayBase.H>
#include <AMReX_MFIter.H>
#include <AMReX_MakeType.H>
#include <AMReX_TypeTraits.H>
#include <AMReX_LayoutData.H>
#include <AMReX_BaseFab.H>
#include <AMReX_BaseFabUtility.H>
#include <AMReX_MFParallelFor.H>
#include <AMReX_TagParallelFor.H>
#include <AMReX_ParReduce.H>
#include <AMReX_Gpu.H>
#include <algorithm>
#include <cstring>
#include <limits>
#include <map>
#include <memory>
#include <utility>
#include <set>
#include <string>
#include <vector>
#include <AMReX_FabArrayCommI.H>

Go to the source code of this file.

Classes

struct  amrex::MFInfo
 FabArray memory allocation information. More...
 
struct  amrex::TheFaArenaDeleter
 
struct  amrex::FBData< FAB >
 
struct  amrex::PCData< FAB >
 
struct  amrex::MultiArray4< T >
 
class  amrex::FabArray< FAB >
 An Array of FortranArrayBox(FAB)-like Objects. More...
 
struct  amrex::FabArray< FAB >::FABType
 
struct  amrex::FabArray< FAB >::ShMem
 for shared memory More...
 

Namespaces

 amrex
 

Typedefs

using amrex::TheFaArenaPointer = std::unique_ptr< char, TheFaArenaDeleter >
 
using amrex::cMultiFab = FabArray< BaseFab< GpuComplex< Real > > >
 

Functions

template<typename T , std::enable_if_t<!IsBaseFab< T >::value, int > = 0>
Long amrex::nBytesOwned (T const &) noexcept
 
template<typename T >
Long amrex::nBytesOwned (BaseFab< T > const &fab) noexcept
 
template<class DFAB , class SFAB , std::enable_if_t< std::conjunction_v< IsBaseFab< DFAB >, IsBaseFab< SFAB >, std::is_convertible< typename SFAB::value_type, typename DFAB::value_type >>, int > BAR = 0>
void amrex::Copy (FabArray< DFAB > &dst, FabArray< SFAB > const &src, int srccomp, int dstcomp, int numcomp, int nghost)
 
template<class DFAB , class SFAB , std::enable_if_t< std::conjunction_v< IsBaseFab< DFAB >, IsBaseFab< SFAB >, std::is_convertible< typename SFAB::value_type, typename DFAB::value_type >>, int > BAR = 0>
void amrex::Copy (FabArray< DFAB > &dst, FabArray< SFAB > const &src, int srccomp, int dstcomp, int numcomp, const IntVect &nghost)
 
template<class FAB , class bar = std::enable_if_t<IsBaseFab<FAB>::value>>
void amrex::Add (FabArray< FAB > &dst, FabArray< FAB > const &src, int srccomp, int dstcomp, int numcomp, int nghost)
 
template<class FAB , class bar = std::enable_if_t<IsBaseFab<FAB>::value>>
void amrex::Add (FabArray< FAB > &dst, FabArray< FAB > const &src, int srccomp, int dstcomp, int numcomp, const IntVect &nghost)