Block-Structured AMR Software Framework
amrex::EB2::GeometryShop< F, R > Class Template Reference

#include <AMReX_EB2_GeometryShop.H>

Public Types

using FunctionType = F
 

Public Member Functions

 GeometryShop (F f)
 
 GeometryShop (F f, R r)
 
F const & GetImpFunc () const &
 
F && GetImpFunc () &&
 
int getBoxType_Cpu (const Box &bx, Geometry const &geom) const noexcept
 
template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
int getBoxType (const Box &bx, const Geometry &geom, RunOn run_on) const noexcept
 
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
int getBoxType (const Box &bx, const Geometry &geom, RunOn) const noexcept
 
template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
void fillFab (BaseFab< Real > &levelset, const Geometry &geom, RunOn run_on, Box const &bounding_box) const noexcept
 
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
void fillFab (BaseFab< Real > &levelset, const Geometry &geom, RunOn, Box const &bounding_box) const noexcept
 
void fillFab_Cpu (BaseFab< Real > &levelset, const Geometry &geom, Box const &bounding_box) const noexcept
 
template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
void getIntercept (Array< Array4< Real >, AMREX_SPACEDIM > const &inter_arr, Array< Array4< Type_t const >, AMREX_SPACEDIM > const &type_arr, Array4< Real const > const &, Geometry const &geom, RunOn run_on, Box const &bounding_box) const noexcept
 
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
void getIntercept (Array< Array4< Real >, AMREX_SPACEDIM > const &inter_arr, Array< Array4< Type_t const >, AMREX_SPACEDIM > const &type_arr, Array4< Real const > const &, Geometry const &geom, RunOn, Box const &bounding_box) const noexcept
 
void getIntercept_Cpu (Array4< Real > const &inter, Array4< Type_t const > const &type, Geometry const &geom, Box const &bounding_box, const int idim) const noexcept
 
void updateIntercept (Array< Array4< Real >, AMREX_SPACEDIM > const &inter_arr, Array< Array4< Type_t const >, AMREX_SPACEDIM > const &type_arr, Array4< Real const > const &lst, Geometry const &geom) const noexcept
 

Static Public Member Functions

template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
static constexpr bool isGPUable () noexcept
 
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
static constexpr bool isGPUable () noexcept
 

Static Public Attributes

static constexpr int in_fluid = -1
 
static constexpr int on_boundary = 0
 
static constexpr int in_body = 1
 
static constexpr int allregular = -1
 
static constexpr int mixedcells = 0
 
static constexpr int allcovered = 1
 

Private Attributes

m_f
 
m_resource
 

Member Typedef Documentation

◆ FunctionType

template<class F , class R = int>
using amrex::EB2::GeometryShop< F, R >::FunctionType = F

Constructor & Destructor Documentation

◆ GeometryShop() [1/2]

template<class F , class R = int>
amrex::EB2::GeometryShop< F, R >::GeometryShop ( f)
inlineexplicit

◆ GeometryShop() [2/2]

template<class F , class R = int>
amrex::EB2::GeometryShop< F, R >::GeometryShop ( f,
r 
)
inline

Member Function Documentation

◆ fillFab() [1/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
void amrex::EB2::GeometryShop< F, R >::fillFab ( BaseFab< Real > &  levelset,
const Geometry geom,
RunOn  run_on,
Box const &  bounding_box 
) const
inlinenoexcept

◆ fillFab() [2/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
void amrex::EB2::GeometryShop< F, R >::fillFab ( BaseFab< Real > &  levelset,
const Geometry geom,
RunOn  ,
Box const &  bounding_box 
) const
inlinenoexcept

◆ fillFab_Cpu()

template<class F , class R = int>
void amrex::EB2::GeometryShop< F, R >::fillFab_Cpu ( BaseFab< Real > &  levelset,
const Geometry geom,
Box const &  bounding_box 
) const
inlinenoexcept

◆ getBoxType() [1/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
int amrex::EB2::GeometryShop< F, R >::getBoxType ( const Box bx,
const Geometry geom,
RunOn  run_on 
) const
inlinenoexcept

◆ getBoxType() [2/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
int amrex::EB2::GeometryShop< F, R >::getBoxType ( const Box bx,
const Geometry geom,
RunOn   
) const
inlinenoexcept

◆ getBoxType_Cpu()

template<class F , class R = int>
int amrex::EB2::GeometryShop< F, R >::getBoxType_Cpu ( const Box bx,
Geometry const &  geom 
) const
inlinenoexcept

◆ GetImpFunc() [1/2]

template<class F , class R = int>
F&& amrex::EB2::GeometryShop< F, R >::GetImpFunc ( ) &&
inline

◆ GetImpFunc() [2/2]

template<class F , class R = int>
F const& amrex::EB2::GeometryShop< F, R >::GetImpFunc ( ) const &
inline

◆ getIntercept() [1/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
void amrex::EB2::GeometryShop< F, R >::getIntercept ( Array< Array4< Real >, AMREX_SPACEDIM > const &  inter_arr,
Array< Array4< Type_t const >, AMREX_SPACEDIM > const &  type_arr,
Array4< Real const > const &  ,
Geometry const &  geom,
RunOn  run_on,
Box const &  bounding_box 
) const
inlinenoexcept

◆ getIntercept() [2/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
void amrex::EB2::GeometryShop< F, R >::getIntercept ( Array< Array4< Real >, AMREX_SPACEDIM > const &  inter_arr,
Array< Array4< Type_t const >, AMREX_SPACEDIM > const &  type_arr,
Array4< Real const > const &  ,
Geometry const &  geom,
RunOn  ,
Box const &  bounding_box 
) const
inlinenoexcept

◆ getIntercept_Cpu()

template<class F , class R = int>
void amrex::EB2::GeometryShop< F, R >::getIntercept_Cpu ( Array4< Real > const &  inter,
Array4< Type_t const > const &  type,
Geometry const &  geom,
Box const &  bounding_box,
const int  idim 
) const
inlinenoexcept

◆ isGPUable() [1/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t< IsGPUable< U >::value > * FOO = nullptr>
static constexpr bool amrex::EB2::GeometryShop< F, R >::isGPUable ( )
inlinestaticconstexprnoexcept

◆ isGPUable() [2/2]

template<class F , class R = int>
template<class U = F, std::enable_if_t<!IsGPUable< U >::value > * BAR = nullptr>
static constexpr bool amrex::EB2::GeometryShop< F, R >::isGPUable ( )
inlinestaticconstexprnoexcept

◆ updateIntercept()

template<class F , class R = int>
void amrex::EB2::GeometryShop< F, R >::updateIntercept ( Array< Array4< Real >, AMREX_SPACEDIM > const &  inter_arr,
Array< Array4< Type_t const >, AMREX_SPACEDIM > const &  type_arr,
Array4< Real const > const &  lst,
Geometry const &  geom 
) const
inlinenoexcept

Member Data Documentation

◆ allcovered

template<class F , class R = int>
constexpr int amrex::EB2::GeometryShop< F, R >::allcovered = 1
staticconstexpr

◆ allregular

template<class F , class R = int>
constexpr int amrex::EB2::GeometryShop< F, R >::allregular = -1
staticconstexpr

◆ in_body

template<class F , class R = int>
constexpr int amrex::EB2::GeometryShop< F, R >::in_body = 1
staticconstexpr

◆ in_fluid

template<class F , class R = int>
constexpr int amrex::EB2::GeometryShop< F, R >::in_fluid = -1
staticconstexpr

◆ m_f

template<class F , class R = int>
F amrex::EB2::GeometryShop< F, R >::m_f
private

◆ m_resource

template<class F , class R = int>
R amrex::EB2::GeometryShop< F, R >::m_resource
private

◆ mixedcells

template<class F , class R = int>
constexpr int amrex::EB2::GeometryShop< F, R >::mixedcells = 0
staticconstexpr

◆ on_boundary

template<class F , class R = int>
constexpr int amrex::EB2::GeometryShop< F, R >::on_boundary = 0
staticconstexpr

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