Nektar++
Loading...
Searching...
No Matches
Namespaces | Macros
StdPrismExp.cpp File Reference
#include <LibUtilities/BasicUtils/ShapeType.hpp>
#include <LibUtilities/Foundations/ManagerAccess.h>
#include <LibUtilities/Foundations/NodalUtil.h>
#include <StdRegions/StdPrismExp.h>
#include <LibUtilities/BasicUtils/NekInline.hpp>
#include <StdRegions/Operators/SwitchLevel1.h>
#include <StdRegions/Operators/SwitchLevel2.h>
#include <StdRegions/Operators/BwdTransSumFacStdKernels.hpp>
#include <StdRegions/Operators/IProductWRTBaseSumFacStdKernels.hpp>

Go to the source code of this file.

Namespaces

namespace  Nektar
 
namespace  Nektar::StdRegions
 

Macros

#define BWDTRANS_DEF
 
#define BWDTRANS_Q(r, i)
 
#define BWDTRANS_M(r, i)
 
#define IPRODUCTWRTBASE_DEF
 
#define IPRODUCTWRTBASE_Q(r, i)
 
#define IPRODUCTWRTBASE_M(r, i)
 
#define IPRODUCTWRTBASE_DEF
 
#define IPRODUCTWRTBASE_Q(r, i)
 
#define IPRODUCTWRTBASE_M(r, i)
 

Macro Definition Documentation

◆ BWDTRANS_DEF

#define BWDTRANS_DEF
Value:
nmodes0, nmodes1, nmodes2, nquad0, nquad1, nquad2, isModified, \
(const vec_t *)base0.data(), (const vec_t *)base1.data(), \
(const vec_t *)base2.data(), wsp0.data(), wsp1.data(), \
(const vec_t *)inarray.data(), (vec_t *)outarray.data())
static NEK_FORCE_INLINE void BwdTransPrismKernel(const unsigned int nm0, const unsigned int nm1, const unsigned int nm2, const unsigned int nq0, const unsigned int nq1, const unsigned int nq2, const bool isModified, const simd_type *basis0, const simd_type *basis1, const simd_type *basis2, simd_type *fpq, simd_type *fp, const simd_type *in, simd_type *out)

◆ BWDTRANS_M

#define BWDTRANS_M (   r,
 
)
Value:
case NM(i): \
{ \
switch (nquad0) \
{ \
BOOST_PP_FOR_##r((NM(i), NM_P1(i), BOOST_PP_MUL(2, NM(i))), \
break; \
} \
} \
break;
#define BWDTRANS_DEF
#define BWDTRANS_Q(r, i)
#define NM(i)
#define NM_P1(i)
#define STDLEV2TEST1(r, state)
#define STDLEV2UPDATE1(r, state)

◆ BWDTRANS_Q

#define BWDTRANS_Q (   r,
 
)
Value:
case NQ(i): \
NM(i), NM(i), NM(i), NQ(i), NQ(i), NQ_M1(i), isModified, \
(const vec_t *)base0.data(), (const vec_t *)base1.data(), \
(const vec_t *)base2.data(), wsp0.data(), wsp1.data(), \
(const vec_t *)inarray.data(), (vec_t *)outarray.data()); \
break;
#define NQ(i)
#define NQ_M1(i)

◆ IPRODUCTWRTBASE_DEF [1/2]

#define IPRODUCTWRTBASE_DEF
Value:
IProductPrismKernel<false, false, true>( \
order0, order1, order2, nquad0, nquad1, nquad2, isModified, \
(const vec_t *)inarray.data(), (const vec_t *)base0.data(), \
(const vec_t *)base1.data(), (const vec_t *)base2.data(), \
(const vec_t *)m_weights[0].data(), \
(const vec_t *)m_weights[1].data(), \
(const vec_t *)m_weights[2].data(), (const vec_t *)jac.data(), \
(vec_t *)wsp0.data(), (vec_t *)wsp1.data(), (vec_t *)wsp2.data(), \
(vec_t *)outarray.data())

◆ IPRODUCTWRTBASE_DEF [2/2]

#define IPRODUCTWRTBASE_DEF
Value:
IProductPrismKernel<false, false, false>( \
order0, order1, order2, nquad0, nquad1, nquad2, isModified, \
(const vec_t *)inarray.data(), (const vec_t *)base0.data(), \
(const vec_t *)base1.data(), (const vec_t *)base2.data(), \
(const vec_t *)m_weights[0].data(), \
(const vec_t *)m_weights[1].data(), \
(const vec_t *)m_weights[2].data(), (const vec_t *)jac.data(), \
(vec_t *)wsp0.data(), (vec_t *)wsp1.data(), (vec_t *)wsp2.data(), \
(vec_t *)outarray.data())

◆ IPRODUCTWRTBASE_M [1/2]

#define IPRODUCTWRTBASE_M (   r,
 
)
Value:
case NM(i): \
{ \
switch (nquad0) \
{ \
BOOST_PP_FOR_##r((NM(i), NM_P1(i), BOOST_PP_MUL(2, NM(i))), \
break; \
} \
} \
break;
#define IPRODUCTWRTBASE_DEF
#define IPRODUCTWRTBASE_Q(r, i)

◆ IPRODUCTWRTBASE_M [2/2]

#define IPRODUCTWRTBASE_M (   r,
 
)
Value:
case NM(i): \
{ \
switch (nquad0) \
{ \
BOOST_PP_FOR_##r((NM(i), NM_P1(i), BOOST_PP_MUL(2, NM(i))), \
break; \
} \
} \
break;

◆ IPRODUCTWRTBASE_Q [1/2]

#define IPRODUCTWRTBASE_Q (   r,
 
)
Value:
case NQ(i): \
IProductPrismKernel<false, false, true>( \
NM(i), NM(i), NM(i), NQ(i), NQ(i), NQ_M1(i), isModified, \
(const vec_t *)inarray.data(), (const vec_t *)base0.data(), \
(const vec_t *)base1.data(), (const vec_t *)base2.data(), \
(const vec_t *)m_weights[0].data(), \
(const vec_t *)m_weights[1].data(), \
(const vec_t *)m_weights[2].data(), (const vec_t *)jac.data(), \
(vec_t *)wsp0.data(), (vec_t *)wsp1.data(), (vec_t *)wsp2.data(), \
(vec_t *)outarray.data()); \
break;
static NEK_FORCE_INLINE void IProductPrismKernel(const unsigned int nm0, const unsigned int nm1, const unsigned int nm2, const unsigned int nq0, const unsigned int nq1, const unsigned int nq2, const bool isModified, const simd_type *in, const simd_type *basis0, const simd_type *basis1, const simd_type *basis2, const simd_type *w0, const simd_type *w1, const simd_type *w2, const simd_type *jac, simd_type *sums_kj, simd_type *sums_k, simd_type *corr_q, simd_type *out, typename simd_type::scalarType scale=1.0)

◆ IPRODUCTWRTBASE_Q [2/2]

#define IPRODUCTWRTBASE_Q (   r,
 
)
Value:
case NQ(i): \
IProductPrismKernel<false, false, false>( \
NM(i), NM(i), NM(i), NQ(i), NQ(i), NQ_M1(i), isModified, \
(const vec_t *)inarray.data(), (const vec_t *)base0.data(), \
(const vec_t *)base1.data(), (const vec_t *)base2.data(), \
(const vec_t *)m_weights[0].data(), \
(const vec_t *)m_weights[1].data(), \
(const vec_t *)m_weights[2].data(), (const vec_t *)jac.data(), \
(vec_t *)wsp0.data(), (vec_t *)wsp1.data(), (vec_t *)wsp2.data(), \
(vec_t *)outarray.data()); \
break;