Block-Structured AMR Software Framework
amrex::algoim::ImplicitIntegral< M, N, Phi, F, S > Struct Template Reference

#include <AMReX_algoim_K.H>

Public Member Functions

AMREX_GPU_HOST_DEVICE bool prune () noexcept
 
AMREX_GPU_HOST_DEVICE void tensorProductIntegral () noexcept
 
AMREX_GPU_HOST_DEVICE void evalIntegrand (GpuArray< Real, N > x, Real w) const noexcept
 
template<int K = M, std::enable_if_t< K==1, int > = 0>
AMREX_GPU_HOST_DEVICE ImplicitIntegral (const Phi &phi_, F &f_, const GpuArray< bool, N > &free_, const GpuArray< PsiCode< N >, 1<<(N-1)> &psi_, int psiCount_) noexcept
 
template<int K = M, std::enable_if_t<(K >1), int > = 0>
AMREX_GPU_HOST_DEVICE ImplicitIntegral (const Phi &phi_, F &f_, const GpuArray< bool, N > &free_, const GpuArray< PsiCode< N >, 1<<(N-1)> &psi_, int psiCount_) noexcept
 

Public Attributes

const Phi * phi
 
F * f
 
GpuArray< bool, N > free
 
GpuArray< PsiCode< N >, 1<<(N - 1)> psi
 
int psiCount
 
BoundingBox< N > xrange
 
int e0 = -1
 
GpuArray< Interval, N > xint
 

Static Public Attributes

static constexpr int p = 4
 

Constructor & Destructor Documentation

◆ ImplicitIntegral() [1/2]

template<int M, int N, typename Phi , typename F , bool S>
template<int K = M, std::enable_if_t< K==1, int > = 0>
AMREX_GPU_HOST_DEVICE amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::ImplicitIntegral ( const Phi &  phi_,
F &  f_,
const GpuArray< bool, N > &  free_ 
)
inlinenoexcept

◆ ImplicitIntegral() [2/2]

template<int M, int N, typename Phi , typename F , bool S>
template<int K = M, std::enable_if_t<(K >1), int > = 0>
AMREX_GPU_HOST_DEVICE amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::ImplicitIntegral ( const Phi &  phi_,
F &  f_,
const GpuArray< bool, N > &  free_ 
)
inlinenoexcept

Member Function Documentation

◆ evalIntegrand()

template<int M, int N, typename Phi , typename F , bool S>
AMREX_GPU_HOST_DEVICE void amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::evalIntegrand ( GpuArray< Real, N >  x,
Real  w 
) const
inlinenoexcept

◆ prune()

template<int M, int N, typename Phi , typename F , bool S>
AMREX_GPU_HOST_DEVICE bool amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::prune ( )
inlinenoexcept

◆ tensorProductIntegral()

template<int M, int N, typename Phi , typename F , bool S>
AMREX_GPU_HOST_DEVICE void amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::tensorProductIntegral ( )
inlinenoexcept

Member Data Documentation

◆ e0

template<int M, int N, typename Phi , typename F , bool S>
int amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::e0 = -1

◆ f

template<int M, int N, typename Phi , typename F , bool S>
F* amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::f

◆ free

template<int M, int N, typename Phi , typename F , bool S>
GpuArray<bool,N> amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::free

◆ p

template<int M, int N, typename Phi , typename F , bool S>
constexpr int amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::p = 4
staticconstexpr

◆ phi

template<int M, int N, typename Phi , typename F , bool S>
const Phi* amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::phi

◆ psi

template<int M, int N, typename Phi , typename F , bool S>
GpuArray<PsiCode<N>,1 << (N - 1)> amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::psi

◆ psiCount

template<int M, int N, typename Phi , typename F , bool S>
int amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::psiCount

◆ xint

template<int M, int N, typename Phi , typename F , bool S>
GpuArray<Interval,N> amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::xint

◆ xrange

template<int M, int N, typename Phi , typename F , bool S>
BoundingBox<N> amrex::algoim::ImplicitIntegral< M, N, Phi, F, S >::xrange

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