Proto  3.2
Functions
Operator Namespace Reference

Functions

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _convolve (const BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_2nd)
 4th Order Convolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _convolve (BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_2nd)
 4th Order Convolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > convolve (const BoxData< T, C, MEM, D, E > &a_ctr)
 4th Order Convolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void convolve (BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_ctr)
 4th Order Convolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, Centering CTR>
void _convolve (LevelBoxData< T, C, MEM, CTR > &a_avg, const LevelBoxData< T, C, MEM, CTR > &a_ctr, const LevelBoxData< T, C, MEM, CTR > &a_2nd)
 4th Order Convolution (Level, In Place) More...
 
template<class T , unsigned int C, MemType MEM, Centering CTR>
void convolve (LevelBoxData< T, C, MEM, CTR > &a_avg, const LevelBoxData< T, C, MEM, CTR > &a_ctr)
 4th Order Convolution (Level, In Place) More...
 
template<class T , unsigned int C, MemType MEM, Centering CTR, typename Func , typename... Srcs>
void initConvolve (LevelBoxData< T, C, MEM, CTR > &a_data, Func &a_func, Srcs... a_srcs)
 Initialize and Convolve. More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _deconvolve (const BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_2nd)
 4th Order Deconvolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _deconvolve (BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_2nd)
 4th Order Deconvolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > deconvolve (const BoxData< T, C, MEM, D, E > &a_avg)
 4th Order Deconvolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void deconvolve (BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_avg)
 4th Order Deconvolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, Centering CTR>
void _deconvolve (LevelBoxData< T, C, MEM, CTR > &a_ctr, const LevelBoxData< T, C, MEM, CTR > &a_avg, const LevelBoxData< T, C, MEM, CTR > &a_2nd)
 4th Order Deconvolution (Level, In Place) More...
 
template<class T , unsigned int C, MemType MEM, Centering CTR>
void deconvolve (LevelBoxData< T, C, MEM, CTR > &a_ctr, const LevelBoxData< T, C, MEM, CTR > &a_avg)
 4th Order Deconvolution (Level, In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _convolveFace (const BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_2nd, int a_dir)
 4th Order Face Convolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _convolveFace (BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_2nd, int a_dir)
 4th Order Face Convolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > convolveFace (const BoxData< T, C, MEM, D, E > &a_ctr, int a_dir)
 4th Order Face Convolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void convolveFace (BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_ctr, int a_dir)
 4th Order Face Convolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _deconvolveFace (const BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_2nd, int a_dir)
 4th Order Face Deconvolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _deconvolveFace (BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_avg, const BoxData< T, C, MEM, D, E > &a_2nd, int a_dir)
 4th Order Face Deconvolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > deconvolveFace (const BoxData< T, C, MEM, D, E > &a_avg, int a_dir)
 4th Order Face Deconvolution More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void deconvolveFace (BoxData< T, C, MEM, D, E > &a_ctr, const BoxData< T, C, MEM, D, E > &a_avg, int a_dir)
 4th Order Face Deconvolution (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _cellProduct (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd)
 4th Order Cell Averaged Product More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _cellProduct (BoxData< T, C, MEM, D, E > &a_prod, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd)
 4th Order Cell Averaged Product (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > cellProduct (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg)
 4th Order Cell Averaged Product More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void cellProduct (BoxData< T, C, MEM, D, E > &a_product, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg)
 4th Order Cell Averaged Product (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _faceProduct (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd, int a_dir)
 4th Order Face Averaged Product More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _faceProduct (BoxData< T, C, MEM, D, E > &a_prod, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd, int a_dir)
 4th Order Face Averaged Product (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > faceProduct (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, int a_dir)
 4th Order Face Averaged Product More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void faceProduct (BoxData< T, C, MEM, D, E > &a_prod, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, int a_dir)
 4th Order Face Averaged Product (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _cellQuotient (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd)
 4th Order Cell Averaged Quotient More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _cellQuotient (BoxData< T, C, MEM, D, E > &a_quot, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd)
 4th Order Cell Averaged Quotient (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > cellQuotient (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg)
 4th Order Cell Averaged Quotient More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void cellQuotient (BoxData< T, C, MEM, D, E > &a_quot, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg)
 4th Order Cell Averaged Quotient (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _faceQuotient (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd, int a_dir)
 4th Order Face Averaged Quotient More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void _faceQuotient (BoxData< T, C, MEM, D, E > &a_quotient, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, const BoxData< T, C, MEM, D, E > &a_p2nd, const BoxData< T, C, MEM, D, E > &a_q2nd, int a_dir)
 4th Order Face Averaged Quotient (In Place) More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > faceQuotient (const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, int a_dir)
 4th Order Face Averaged Quotient More...
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void faceQuotient (BoxData< T, C, MEM, D, E > &a_quotient, const BoxData< T, C, MEM, D, E > &a_pavg, const BoxData< T, C, MEM, D, E > &a_qavg, int a_dir)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > _faceTensorProduct (const BoxData< T, C, MEM, D, E > &a_ql4, const BoxData< T, 1, MEM, 1, 1 > &a_qr4, const BoxData< T, C, MEM, D, E > &a_ql2, const BoxData< T, 1, MEM, 1, 1 > &a_qr2, int a_dir)
 4th Order Face Averaged Tensor Product More...
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void _faceTensorProduct (BoxData< T, C, MEM, D, E > &a_product, const BoxData< T, C, MEM, D, E > &a_ql4, const BoxData< T, 1, MEM, 1, 1 > &a_qr4, const BoxData< T, C, MEM, D, E > &a_ql2, const BoxData< T, 1, MEM, 1, 1 > &a_qr2, int a_dir)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > faceTensorProduct (const BoxData< T, C, MEM, D, E > &a_ql, const BoxData< T, 1, MEM, 1, 1 > &a_qr, int a_dir)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void faceTensorProduct (BoxData< T, C, MEM, D, E > &a_product, const BoxData< T, C, MEM, D, E > &a_ql, const BoxData< T, 1, MEM, 1, 1 > &a_qr, int a_dir)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > _faceTensorQuotient (const BoxData< T, C, MEM, D, E > &a_ql4, const BoxData< T, 1, MEM, 1, 1 > &a_qr4, const BoxData< T, C, MEM, D, E > &a_ql2, const BoxData< T, 1, MEM, 1, 1 > &a_qr2, int a_dir)
 4th Order Face Averaged Tensor Quotient More...
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void _faceTensorQuotient (BoxData< T, C, MEM, D, E > &a_quotient, const BoxData< T, C, MEM, D, E > &a_ql4, const BoxData< T, 1, MEM, 1, 1 > &a_qr4, const BoxData< T, C, MEM, D, E > &a_ql2, const BoxData< T, 1, MEM, 1, 1 > &a_qr2, int a_dir)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > faceTensorQuotient (const BoxData< T, C, MEM, D, E > &a_ql, const BoxData< T, 1, MEM, 1, 1 > &a_qr, int a_dir)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void faceTensorQuotient (BoxData< T, C, MEM, D, E > &a_quotient, const BoxData< T, C, MEM, D, E > &a_ql, const BoxData< T, 1, MEM, 1, 1 > &a_qr, int a_dir)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > _cellTensorQuotient (const BoxData< T, C, MEM, D, E > &a_ql4, const BoxData< T, 1, MEM, 1, 1 > &a_qr4, const BoxData< T, C, MEM, D, E > &a_ql2, const BoxData< T, 1, MEM, 1, 1 > &a_qr2)
 4th Order Cell Averaged Tensor Quotient More...
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void _cellTensorQuotient (BoxData< T, C, MEM, D, E > &a_quotient, const BoxData< T, C, MEM, D, E > &a_ql4, const BoxData< T, 1, MEM, 1, 1 > &a_qr4, const BoxData< T, C, MEM, D, E > &a_ql2, const BoxData< T, 1, MEM, 1, 1 > &a_qr2)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > cellTensorQuotient (const BoxData< T, C, MEM, D, E > &a_ql, const BoxData< T, 1, MEM, 1, 1 > &a_qr)
 
template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void cellTensorQuotient (BoxData< T, C, MEM, D, E > &a_quotient, const BoxData< T, C, MEM, D, E > &a_ql, const BoxData< T, 1, MEM, 1, 1 > &a_qr)
 
template<class T , MemType MEM>
BoxData< T, DIM, MEM > cofactor (const BoxData< T, DIM, MEM > &a_X, int a_dir)
 Cofactor Vector On Face. More...
 
template<class T , MemType MEM>
void cofactor (BoxData< T, DIM, MEM > &a_N, const BoxData< T, DIM, MEM > &a_X, int a_dir)
 Cofactor Vector On Face. More...
 
template<class T , MemType MEM>
BoxData< T, DIM, MEM > cofactor (const BoxData< T, DIM, MEM > &a_X, int a_dir, Array< T, DIM > a_dx)
 
template<class T , MemType MEM>
BoxData< T, DIM, MEM, DIM > cofactorMatrix (const FluxBoxData< T, DIM, MEM > &a_NTFaces, int a_dirNorm)
 Compute Matrix of Cofactors. More...
 
template<class T , MemType MEM>
void cofactorMatrix (BoxData< T, DIM, MEM, DIM > &a_NTMatrix, const FluxBoxData< T, DIM, MEM > &a_NTFaces, int a_dirNorm)
 
template<class T , MemType MEM>
BoxData< T, 1, MEM > jacobian (const BoxData< T, DIM, MEM > &a_X, const FluxBoxData< T, DIM, MEM > &a_NT)
 
template<class T , MemType MEM>
void jacobian (BoxData< T, 1, MEM > &a_J, const BoxData< T, DIM, MEM > &a_X, const FluxBoxData< T, DIM, MEM > &a_NT)
 
template<class T , MemType MEM>
BoxData< T, 3, MEM > _edgeCrossProduct3D (const BoxData< T, 3, MEM > &a_ql4, const BoxData< T, 3, MEM > &a_qr4, const BoxData< T, 3, MEM > &a_ql2, const BoxData< T, 3, MEM > &a_qr2, int a_dir)
 
template<class T , MemType MEM>
void _edgeCrossProduct3D (BoxData< T, 3, MEM > &a_product, const BoxData< T, 3, MEM > &a_ql4, const BoxData< T, 3, MEM > &a_qr4, const BoxData< T, 3, MEM > &a_ql2, const BoxData< T, 3, MEM > &a_qr2, int a_dir)
 
template<class T , MemType MEM>
BoxData< T, 3, MEM > edgeCrossProduct3D (const BoxData< T, 3, MEM > &a_ql, const BoxData< T, 3, MEM > &a_qr, int a_edgedir)
 
template<class T , MemType MEM>
void edgeCrossProduct3D (BoxData< T, 3, MEM > &a_product, const BoxData< T, 3, MEM > &a_ql, const BoxData< T, 3, MEM > &a_qr, int a_edgedir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > _cellMatrixProductAB (const BoxData< T, CL, MEM, DL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4, const BoxData< T, CL, MEM, DL, E > &a_ql2, const BoxData< T, CR, MEM, DR, E > &a_qr2)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > _faceMatrixProductAB (const BoxData< T, CL, MEM, DL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4, const BoxData< T, CL, MEM, DL, E > &a_ql2, const BoxData< T, CR, MEM, DR, E > &a_qr2, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void _faceMatrixProductAB (BoxData< T, CL, MEM, DR, E > &a_product, const BoxData< T, CL, MEM, DL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4, const BoxData< T, CL, MEM, DL, E > &a_ql2, const BoxData< T, CR, MEM, DR, E > &a_qr2, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > faceMatrixProductAB (const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void faceMatrixProductAB (BoxData< T, CL, MEM, DR, E > &a_product, const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, DL, MEM, DR, E > _faceMatrixProductATB (const BoxData< T, CL, MEM, DL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4, const BoxData< T, CL, MEM, DL, E > &a_ql2, const BoxData< T, CR, MEM, DR, E > &a_qr2, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void _faceMatrixProductATB (BoxData< T, DL, MEM, DR, E > &a_product, const BoxData< T, CL, MEM, DL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4, const BoxData< T, CL, MEM, DL, E > &a_ql2, const BoxData< T, CR, MEM, DR, E > &a_qr2, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, CR, E > _faceMatrixProductABT (const BoxData< T, CL, MEM, DL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4, const BoxData< T, CL, MEM, DL, E > &a_ql2, const BoxData< T, CR, MEM, DR, E > &a_qr2, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void _faceMatrixProductABT (BoxData< T, CL, MEM, CR, E > &a_product, const BoxData< T, CL, MEM, DL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4, const BoxData< T, CL, MEM, DL, E > &a_ql2, const BoxData< T, CR, MEM, DR, E > &a_qr2, int a_dir)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > _matrixProductAB (const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void _matrixProductAB (BoxData< T, CL, MEM, DR, E > &a_product, const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, DL, MEM, DR, E > matrixProductATB (const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void matrixProductATB (BoxData< T, DL, MEM, DR, E > &a_product, const BoxData< T, DL, MEM, CL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, CR, E > _matrixProductABT (const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void _matrixProductABT (BoxData< T, CL, MEM, CR, E > &a_product, const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > _product1D (const BoxData< T, C, MEM, D, E > &a_ql4, const BoxData< T, C, MEM, D, E > &a_qr4, const BoxData< T, C, MEM, D, E > &a_ql2, const BoxData< T, C, MEM, D, E > &a_qr2, int a_dir)
 
template<class T , unsigned int C, MemType MEM>
BoxData< T, C, MEM, DIM > _faceGradient (const BoxData< T, C, MEM > &phi, int a_dir, int a_order=4)
 
template<class T , unsigned int CFLUX, unsigned int CPRIM, MemType MEM>
BoxData< T, CFLUX, MEM > MHDSphericalFlux (const BoxData< T, CPRIM, MEM > &a_prim4, const BoxData< T, CPRIM, MEM > &a_prim2, const BoxData< T, DIM, MEM, DIM > &a_A4, const BoxData< T, DIM, MEM, DIM > &a_A2, const BoxData< T, 1, MEM > &a_DrDetA4, const BoxData< T, 1, MEM > &a_DrDetA2, const BoxData< T, DIM, MEM > &a_DrAdjA4, const BoxData< T, DIM, MEM > &a_DrAdjA2, const T &a_gamma, int a_dir)
 
template<class T , unsigned int C, MemType MEM>
BoxData< T, C, MEM, DIM > _faceGradxPhi (const BoxData< T, C, MEM > &a_phi4, const BoxData< T, C, MEM > &a_phi2, const BoxData< T, DIM, MEM, DIM > &a_NFace4, const BoxData< T, DIM, MEM, DIM > &a_NFace2, const BoxData< T, 1, MEM > &a_JFace4, const BoxData< T, 1, MEM > &a_JFace2, int a_dir)
 
template<class T , unsigned int C, MemType MEM>
void _faceGradxPhi (BoxData< T, C, MEM, DIM > &a_grad, const BoxData< T, C, MEM > &a_phi4, const BoxData< T, C, MEM > &a_phi2, const BoxData< T, DIM, MEM, DIM > &a_NFace4, const BoxData< T, DIM, MEM, DIM > &a_NFace2, const BoxData< T, 1, MEM > &a_JFace4, const BoxData< T, 1, MEM > &a_JFace2, int a_dir)
 
template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void spreadSlice (BoxData< T, C, MEM, D, E > &a_bd)
 Spreads a slice. More...
 
template<class T , MemType MEM>
void cubedSphereGeometry (BoxData< T, DIM, MEM > &a_X, FluxBoxData< T, DIM, MEM > &a_NT, BoxData< T, 1, MEM > &a_J, BoxData< T, 1, MEM > &a_radius, const Box &a_bx, T a_h)
 Calculation of equiangular cubed-sphere finite-volume metric terms using a semi-analytic approach. More...
 
template<class T , MemType MEM>
void cubedSphereGeometry (BoxData< T, DIM, MEM > &a_X, FluxBoxData< T, DIM, MEM > &a_NT, BoxData< T, 1, MEM > &a_J, BoxData< T, 1, MEM > &a_radius, const Box &a_bx, T a_h, int a_case)
 Cubed-sphere for each of the six patches that cover the cube. More...
 
template<class T , MemType MEM>
void cubedSphere_nSphere (BoxData< T, DIM, MEM > &a_nSphere, T a_h)
 
template<class T , MemType MEM>
void cubedSphere_edge1 (BoxData< T, DIM, MEM > &a_d1n_cross_n, T a_h)
 
template<class T , MemType MEM>
void cubedSphere_edge2 (BoxData< T, DIM, MEM > &a_n_cross_d2n, T a_h)
 
template<class T , MemType MEM>
void cubedSphereDetAFlux1 (BoxData< T, 1, MEM > &a_detAFlux1, T a_h)
 
template<class T , MemType MEM>
void cubedSphereDetAFlux2 (BoxData< T, 1, MEM > &a_detAFlux2, T a_h)
 
template<class T , MemType MEM>
BoxData< T, DIM, MEM, DIM > cofactorMatrix (const FluxBoxData< T, DIM, MEM > &a_NTFaces, int a_dirNorm, Array< T, DIM > a_dx)
 
template<class T , MemType MEM>
BoxData< T, 1, MEM > jacobian (const BoxData< T, DIM, MEM > &a_X, const FluxBoxData< T, DIM, MEM > &a_NT, Array< T, DIM > a_dx)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void matrixProductAB (BoxData< T, CL, MEM, DR, E > &a_qprod, const BoxData< T, DL, MEM, CL, E > &a_ql4, const BoxData< T, CR, MEM, DR, E > &a_qr4)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > _matrixProductAB2 (const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, DL, MEM, DR, E > _matrixProductATB2 (const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 
template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, CR, E > _matrixProductABT2 (const BoxData< T, CL, MEM, DL, E > &a_ql, const BoxData< T, CR, MEM, DR, E > &a_qr)
 

Function Documentation

◆ _convolve() [1/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_convolve ( const BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_2nd 
)
inline

4th Order Convolution

Compute the 4th order accurate average of a quantity over a cell. Distinguishes between 4th and 2nd order inputs.

Parameters
a_ctr4th order cell centered quantity
a_2nd2nd+ order cell centered quantity

◆ _convolve() [2/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_convolve ( BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_2nd 
)
inline

4th Order Convolution (In Place)

Compute the 4th order accurate average of a quantity over a cell. Distinguishes between 4th and 2nd order inputs.

Parameters
a_avg4th order cell averaged quantity (output)
a_ctr4th order cell centered quantity
a_2nd2nd+ order cell centered quantity

◆ convolve() [1/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::convolve ( const BoxData< T, C, MEM, D, E > &  a_ctr)
inline

4th Order Convolution

Compute the 4th order accurate average of a quantity over a cell. Equal to _convolve(ctr, ctr).

Parameters
a_ctr4th order cell centered quantity

◆ convolve() [2/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::convolve ( BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_ctr 
)
inline

4th Order Convolution (In Place)

Compute the 4th order accurate average of a quantity over a cell. Equal to _convolve(avg, ctr, ctr).

Parameters
a_avg4th order cell averaged quantity (output)
a_ctr4th order cell centered quantity

◆ _convolve() [3/3]

template<class T , unsigned int C, MemType MEM, Centering CTR>
void Operator::_convolve ( LevelBoxData< T, C, MEM, CTR > &  a_avg,
const LevelBoxData< T, C, MEM, CTR > &  a_ctr,
const LevelBoxData< T, C, MEM, CTR > &  a_2nd 
)
inline

4th Order Convolution (Level, In Place)

Compute the 4th order accurate average of a quantity over a level. Distinguishes between 4th and 2nd order inputs. TODO: implement appropriate behavior for non-cell centered LevelData

Parameters
a_avg4th order cell averaged quantity (output)
a_ctr4th order cell centered quantity
a_2nd2nd+ order cell centered quantity

◆ convolve() [3/3]

template<class T , unsigned int C, MemType MEM, Centering CTR>
void Operator::convolve ( LevelBoxData< T, C, MEM, CTR > &  a_avg,
const LevelBoxData< T, C, MEM, CTR > &  a_ctr 
)
inline

4th Order Convolution (Level, In Place)

Compute the 4th order accurate average of a quantity over a level. Equal to _convolve(avg, ctr, ctr). TODO: implement appropriate behavior for non-cell centered LevelData

Parameters
a_avg4th order cell averaged quantity (output)
a_ctr4th order cell centered quantity

◆ initConvolve()

template<class T , unsigned int C, MemType MEM, Centering CTR, typename Func , typename... Srcs>
void Operator::initConvolve ( LevelBoxData< T, C, MEM, CTR > &  a_data,
Func &  a_func,
Srcs...  a_srcs 
)
inline

Initialize and Convolve.

◆ _deconvolve() [1/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_deconvolve ( const BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_2nd 
)
inline

4th Order Deconvolution

Compute the 4th order accurate cell centered value of a quantity from its cell average. Distinguishes between 4th and 2nd order inputs

Parameters
a_avg4th order cell averaged quantity
a_2nd2nd+ order cell centered quantity

◆ _deconvolve() [2/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_deconvolve ( BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_2nd 
)
inline

4th Order Deconvolution (In Place)

Compute the 4th order accurate cell centered value of a quantity from its cell average. Distinguishes between 4th and 2nd order inputs

Parameters
a_ctr4th order cell centered quantity (output)
a_avg4th order cell averaged quantity
a_2nd2nd+ order cell centered quantity

◆ deconvolve() [1/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::deconvolve ( const BoxData< T, C, MEM, D, E > &  a_avg)
inline

4th Order Deconvolution

Compute the 4th order accurate cell centered value of a quantity from its cell average. Equal to _deconvolve(avg, avg).

Parameters
a_avg4th order cell averaged quantity

◆ deconvolve() [2/3]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::deconvolve ( BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_avg 
)
inline

4th Order Deconvolution (In Place)

Compute the 4th order accurate cell centered value of a quantity from its cell average. Equal to _deconvolve(ctr, avg, avg)

Parameters
a_ctr4th order cell centered quantity (output)
a_avg4th order cell averaged quantity

◆ _deconvolve() [3/3]

template<class T , unsigned int C, MemType MEM, Centering CTR>
void Operator::_deconvolve ( LevelBoxData< T, C, MEM, CTR > &  a_ctr,
const LevelBoxData< T, C, MEM, CTR > &  a_avg,
const LevelBoxData< T, C, MEM, CTR > &  a_2nd 
)
inline

4th Order Deconvolution (Level, In Place)

Compute the 4th order accurate cell centered quantity over a level. Distinguishes between 2nd and 4th order inputs. TODO: implement appropriate behavior for non-cell centered LevelData

Parameters
a_ctr4th order cell centered quantity (output)
a_avg4th order cell averaged quantity
a_2nd2nd+ order cell centered quantity

◆ deconvolve() [3/3]

template<class T , unsigned int C, MemType MEM, Centering CTR>
void Operator::deconvolve ( LevelBoxData< T, C, MEM, CTR > &  a_ctr,
const LevelBoxData< T, C, MEM, CTR > &  a_avg 
)
inline

4th Order Deconvolution (Level, In Place)

Compute the 4th order accurate cell centered quantity over a level. Equal to _deconvolve(ctr, avg, avg); TODO: implement appropriate behavior for non-cell centered LevelData

Parameters
a_ctr4th order cell centered quantity (output)
a_avg4th order cell averaged quantity

◆ _convolveFace() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_convolveFace ( const BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_2nd,
int  a_dir 
)
inline

4th Order Face Convolution

Compute the 4th order accurate average of a quantity over a face. Distinguishes between 2nd and 4th order inputs.

Parameters
a_ctr4th order face centered quantity
a_2nd2nd+ order face centered quantity
a_dirFace normal

◆ _convolveFace() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_convolveFace ( BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_2nd,
int  a_dir 
)
inline

4th Order Face Convolution (In Place)

Compute the 4th order accurate average of a quantity over a face. Distinguishes between 2nd and 4th order inputs.

Parameters
a_avg4th order face averaged quantity (output)
a_ctr4th order face centered quantity
a_2nd2nd+ order face centered quantity
a_dirFace normal

◆ convolveFace() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::convolveFace ( const BoxData< T, C, MEM, D, E > &  a_ctr,
int  a_dir 
)
inline

4th Order Face Convolution

Compute the 4th order accurate average of a quantity over a face. Equal to _convolveFace(ctr, ctr, dir);

Parameters
a_ctr4th order face centered quantity
a_dirFace normal

◆ convolveFace() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::convolveFace ( BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_ctr,
int  a_dir 
)
inline

4th Order Face Convolution (In Place)

Compute the 4th order accurate average of a quantity over a face. Equal to _convolveFace(avg, ctr, ctr, dir)

Parameters
a_avg4th order face averaged quantity (output)
a_ctr4th order face centered quantity
a_dirFace normal

◆ _deconvolveFace() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_deconvolveFace ( const BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_2nd,
int  a_dir 
)
inline

4th Order Face Deconvolution

Compute the 4th order accurate face centered value of a quantity from its face average. Distinguishes between 2nd and 4th order inputs.

Parameters
a_avg4th order face averaged quantity
a_2nd2nd+ order face averaged quantity
a_dirFace normal

◆ _deconvolveFace() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_deconvolveFace ( BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_avg,
const BoxData< T, C, MEM, D, E > &  a_2nd,
int  a_dir 
)
inline

4th Order Face Deconvolution (In Place)

Compute the 4th order accurate face centered value of a quantity from its face average. Distinguishes between 2nd and 4th order inputs.

Parameters
a_ctr4th order face centered quantity (output)
a_avg4th order face averaged quantity
a_2nd2nd+ order face averaged quantity
a_dirFace normal

◆ deconvolveFace() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::deconvolveFace ( const BoxData< T, C, MEM, D, E > &  a_avg,
int  a_dir 
)
inline

4th Order Face Deconvolution

Compute the 4th order accurate face centered value of a quantity from its face average. Equal to _deconvolveFace(avg, avg, dir)

Parameters
a_avg4th order face averaged quantity
a_dirFace normal

◆ deconvolveFace() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::deconvolveFace ( BoxData< T, C, MEM, D, E > &  a_ctr,
const BoxData< T, C, MEM, D, E > &  a_avg,
int  a_dir 
)
inline

4th Order Face Deconvolution (In Place)

Compute the 4th order accurate face centered value of a quantity from its face average. Equal to _deconvolveFace(ctr, avg, avg, dir)

Parameters
a_ctr4th order face centered quantity (output)
a_avg4th order face averaged quantity
a_dirFace normal

◆ _cellProduct() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_cellProduct ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd 
)
inline

4th Order Cell Averaged Product

Compute the 4th order accurate cell averaged product rule

*<Q> Distinguishes between 2nd and 4th order inputs.

Parameters
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q
a_p2nd2nd+ order cell centered quantity P
a_q2nd2nd+ order cell centered quantity Q

◆ _cellProduct() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_cellProduct ( BoxData< T, C, MEM, D, E > &  a_prod,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd 
)
inline

4th Order Cell Averaged Product (In Place)

Compute the 4th order accurate cell averaged product rule

*<Q> Distinguishes between 2nd and 4th order inputs.

Parameters
a_prod4th order cell averaged product P*Q (output)
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q
a_p2nd2nd+ order cell centered quantity P
a_q2nd2nd+ order cell centered quantity Q

◆ cellProduct() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::cellProduct ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg 
)
inline

4th Order Cell Averaged Product

Compute the 4th order accurate cell averaged product rule

*<Q> Equal to _cellProduct(pavg, qavg, pavg, qavg)

Parameters
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q

◆ cellProduct() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::cellProduct ( BoxData< T, C, MEM, D, E > &  a_product,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg 
)
inline

4th Order Cell Averaged Product (In Place)

Compute the 4th order accurate cell averaged product rule

*<Q> Equal to _cellProduct(prod, pavg, qavg, pavg, qavg)

Parameters
a_prod4th order cell averaged product P*Q (output)
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q

◆ _faceProduct() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_faceProduct ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd,
int  a_dir 
)
inline

4th Order Face Averaged Product

Compute the 4th order accurate face averaged product rule

_d * <Q>_d Distinguishes between 2nd and 4th order inputs.

Parameters
a_prod4th order face averaged product P*Q (output)
a_pavg4th order face averaged quantity P
a_qavg4th order face averaged quantity Q
a_p2nd2nd+ order face centered quantity P
a_q2nd2nd+ order face centered quantity Q
a_dirface normal

◆ _faceProduct() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_faceProduct ( BoxData< T, C, MEM, D, E > &  a_prod,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd,
int  a_dir 
)
inline

4th Order Face Averaged Product (In Place)

Compute the 4th order accurate face averaged product rule

_d * <Q>_d Distinguishes between 2nd and 4th order inputs.

Parameters
a_prod4th order face averaged product P*Q (output)
a_pavg4th order face averaged quantity P
a_qavg4th order face averaged quantity Q
a_p2nd2nd+ order face centered quantity P
a_q2nd2nd+ order face centered quantity Q
a_dirface normal

◆ faceProduct() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::faceProduct ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
int  a_dir 
)
inline

4th Order Face Averaged Product

Compute the 4th order accurate face averaged product rule

_d * <Q>_d Equal to _faceProduct(pavg, qavg, pavg, qavg, dir)

Parameters
a_pavg4th order face averaged quantity P
a_qavg4th order face averaged quantity Q
a_dirface normal

◆ faceProduct() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::faceProduct ( BoxData< T, C, MEM, D, E > &  a_prod,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
int  a_dir 
)
inline

4th Order Face Averaged Product (In Place)

Compute the 4th order accurate face averaged product rule

_d * <Q>_d Equal to _faceProduct(prod, pavg, qavg, pavg, qavg, dir)

Parameters
a_prod4th order face averaged product P*Q (output)
a_pavg4th order face averaged quantity P
a_qavg4th order face averaged quantity Q
a_dirface normal

◆ _cellQuotient() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_cellQuotient ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd 
)
inline

4th Order Cell Averaged Quotient

Compute the 4th order accurate cell averaged quotient rule

/ <Q> Distinguishes between 2nd and 4th order inputs.

Parameters
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q
a_p2nd2nd+ order cell centered quantity P
a_q2nd2nd+ order cell centered quantity Q

◆ _cellQuotient() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_cellQuotient ( BoxData< T, C, MEM, D, E > &  a_quot,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd 
)
inline

4th Order Cell Averaged Quotient (In Place)

Compute the 4th order accurate cell averaged quotient rule

/ <Q> Distinguishes between 2nd and 4th order inputs.

Parameters
a_quot4th order cell averaged quotient P / Q (output)
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q
a_p2nd2nd+ order cell centered quantity P
a_q2nd2nd+ order cell centered quantity Q

◆ cellQuotient() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::cellQuotient ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg 
)
inline

4th Order Cell Averaged Quotient

Compute the 4th order accurate cell averaged quotient rule

/ <Q> Equal to _cellQuotient(pavg, qavg, pavg, qavg)

Parameters
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q

◆ cellQuotient() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::cellQuotient ( BoxData< T, C, MEM, D, E > &  a_quot,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg 
)
inline

4th Order Cell Averaged Quotient (In Place)

Compute the 4th order accurate cell averaged quotient rule

/ <Q> Equal to _cellQuotient(qout, pavg, qavg, pavg, qavg)

Parameters
a_quot4th order cell averaged quotient P / Q (output)
a_pavg4th order cell averaged quantity P
a_qavg4th order cell averaged quantity Q

◆ _faceQuotient() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_faceQuotient ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd,
int  a_dir 
)
inline

4th Order Face Averaged Quotient

Compute the 4th order accurate face averaged quotient rule

_d / <Q>_d Distinguishes between 2nd and 4th order inputs.

Parameters
a_pavg4th order face averaged quantity P
a_qavg4th order face averaged quantity Q
a_p2nd2nd+ order face centered quantity P
a_q2nd2nd+ order face centered quantity Q
a_dirface normal

◆ _faceQuotient() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::_faceQuotient ( BoxData< T, C, MEM, D, E > &  a_quotient,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
const BoxData< T, C, MEM, D, E > &  a_p2nd,
const BoxData< T, C, MEM, D, E > &  a_q2nd,
int  a_dir 
)
inline

4th Order Face Averaged Quotient (In Place)

Compute the 4th order accurate face averaged quotient rule

_d / <Q>_d Distinguishes between 2nd and 4th order inputs.

Parameters
a_quot4th order face averaged quotient P / Q
a_pavg4th order face averaged quantity P
a_qavg4th order face averaged quantity Q
a_p2nd2nd+ order face centered quantity P
a_q2nd2nd+ order face centered quantity Q
a_dirface normal

◆ faceQuotient() [1/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::faceQuotient ( const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
int  a_dir 
)
inline

4th Order Face Averaged Quotient

Compute the 4th order accurate face averaged quotient rule

_d / <Q>_d Equal to _faceQuotient(pavg, qavg, pavg, qavg, dir)

Parameters
a_pavg4th order face averaged quantity P
a_qavg4th order face averaged quantity Q
a_dirface normal

◆ faceQuotient() [2/2]

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::faceQuotient ( BoxData< T, C, MEM, D, E > &  a_quotient,
const BoxData< T, C, MEM, D, E > &  a_pavg,
const BoxData< T, C, MEM, D, E > &  a_qavg,
int  a_dir 
)
inline

◆ _faceTensorProduct() [1/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > Operator::_faceTensorProduct ( const BoxData< T, C, MEM, D, E > &  a_ql4,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr4,
const BoxData< T, C, MEM, D, E > &  a_ql2,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr2,
int  a_dir 
)
inline

4th Order Face Averaged Tensor Product

Returns the 4th order accurate face averaged quotient rule <QR*QL> where QL is a tensor,and QR is a scalar. Distinguishes between 2nd and 4th order inputs.

Parameters
a_ql44th order face averaged tensor quantity QL
a_qr44th order face averaged scalar quantity QR
a_ql22nd+ order face centered quantity QL
a_qr22nd+ order face centered quantity QR
a_dirface normal

◆ _faceTensorProduct() [2/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void Operator::_faceTensorProduct ( BoxData< T, C, MEM, D, E > &  a_product,
const BoxData< T, C, MEM, D, E > &  a_ql4,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr4,
const BoxData< T, C, MEM, D, E > &  a_ql2,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr2,
int  a_dir 
)
inline

◆ faceTensorProduct() [1/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > Operator::faceTensorProduct ( const BoxData< T, C, MEM, D, E > &  a_ql,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr,
int  a_dir 
)
inline

◆ faceTensorProduct() [2/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void Operator::faceTensorProduct ( BoxData< T, C, MEM, D, E > &  a_product,
const BoxData< T, C, MEM, D, E > &  a_ql,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr,
int  a_dir 
)
inline

◆ _faceTensorQuotient() [1/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > Operator::_faceTensorQuotient ( const BoxData< T, C, MEM, D, E > &  a_ql4,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr4,
const BoxData< T, C, MEM, D, E > &  a_ql2,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr2,
int  a_dir 
)
inline

4th Order Face Averaged Tensor Quotient

Returns the 4th order accurate face averaged quotient rule <(1/QR)*QL> where QL is a tensor,and QR is a scalar. Distinguishes between 2nd and 4th order inputs.

Parameters
a_ql44th order face averaged tensor quantity QL
a_qr44th order face averaged scalar quantity QR
a_ql22nd+ order face centered quantity QL
a_qr22nd+ order face centered quantity QR
a_dirface normal

◆ _faceTensorQuotient() [2/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void Operator::_faceTensorQuotient ( BoxData< T, C, MEM, D, E > &  a_quotient,
const BoxData< T, C, MEM, D, E > &  a_ql4,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr4,
const BoxData< T, C, MEM, D, E > &  a_ql2,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr2,
int  a_dir 
)
inline

◆ faceTensorQuotient() [1/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > Operator::faceTensorQuotient ( const BoxData< T, C, MEM, D, E > &  a_ql,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr,
int  a_dir 
)
inline

◆ faceTensorQuotient() [2/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void Operator::faceTensorQuotient ( BoxData< T, C, MEM, D, E > &  a_quotient,
const BoxData< T, C, MEM, D, E > &  a_ql,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr,
int  a_dir 
)
inline

◆ _cellTensorQuotient() [1/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData< T, C, MEM, D, E > Operator::_cellTensorQuotient ( const BoxData< T, C, MEM, D, E > &  a_ql4,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr4,
const BoxData< T, C, MEM, D, E > &  a_ql2,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr2 
)
inline

4th Order Cell Averaged Tensor Quotient

Returns the 4th order accurate face averaged quotient rule <(1/QR) QL> where QL is a tensor,and QR is a scalar. Distinguishes between 2nd and 4th order inputs.

Parameters
a_ql44th order cell averaged tensor quantity QL
a_qr44th order cell averaged scalar quantity QR
a_ql22nd+ order cell centered quantity QL
a_qr22nd+ order cell centered quantity QR

◆ _cellTensorQuotient() [2/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void Operator::_cellTensorQuotient ( BoxData< T, C, MEM, D, E > &  a_quotient,
const BoxData< T, C, MEM, D, E > &  a_ql4,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr4,
const BoxData< T, C, MEM, D, E > &  a_ql2,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr2 
)
inline

◆ cellTensorQuotient() [1/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
BoxData<T,C,MEM,D,E> Operator::cellTensorQuotient ( const BoxData< T, C, MEM, D, E > &  a_ql,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr 
)
inline

◆ cellTensorQuotient() [2/2]

template<class T , unsigned int C, unsigned int D, unsigned int E, MemType MEM>
void Operator::cellTensorQuotient ( BoxData< T, C, MEM, D, E > &  a_quotient,
const BoxData< T, C, MEM, D, E > &  a_ql,
const BoxData< T, 1, MEM, 1, 1 > &  a_qr 
)
inline

◆ cofactor() [1/3]

template<class T , MemType MEM>
BoxData< T, DIM, MEM > Operator::cofactor ( const BoxData< T, DIM, MEM > &  a_X,
int  a_dir 
)
inline

Cofactor Vector On Face.

◆ cofactor() [2/3]

template<class T , MemType MEM>
void Operator::cofactor ( BoxData< T, DIM, MEM > &  a_N,
const BoxData< T, DIM, MEM > &  a_X,
int  a_dir 
)
inline

Cofactor Vector On Face.

Ghost cell info: DIM = 2: No ghost cells needed, but a_X must be node centered DIM = 3: 2 layers of ghost cells in all directions in addition to node centering

◆ cofactor() [3/3]

template<class T , MemType MEM>
BoxData< T, DIM, MEM > Operator::cofactor ( const BoxData< T, DIM, MEM > &  a_X,
int  a_dir,
Array< T, DIM >  a_dx 
)
inline

◆ cofactorMatrix() [1/3]

template<class T , MemType MEM>
BoxData< T, DIM, MEM, DIM > Operator::cofactorMatrix ( const FluxBoxData< T, DIM, MEM > &  a_NTFaces,
int  a_dirNorm 
)
inline

Compute Matrix of Cofactors.

Ghost info: For NTFaces[dir] : dir != norm -> 2 ghost cells in norm, 1 in dir, 0 in others

◆ cofactorMatrix() [2/3]

template<class T , MemType MEM>
void Operator::cofactorMatrix ( BoxData< T, DIM, MEM, DIM > &  a_NTMatrix,
const FluxBoxData< T, DIM, MEM > &  a_NTFaces,
int  a_dirNorm 
)
inline

◆ jacobian() [1/3]

template<class T , MemType MEM>
BoxData< T, 1, MEM > Operator::jacobian ( const BoxData< T, DIM, MEM > &  a_X,
const FluxBoxData< T, DIM, MEM > &  a_NT 
)
inline

◆ jacobian() [2/3]

template<class T , MemType MEM>
void Operator::jacobian ( BoxData< T, 1, MEM > &  a_J,
const BoxData< T, DIM, MEM > &  a_X,
const FluxBoxData< T, DIM, MEM > &  a_NT 
)
inline

◆ _edgeCrossProduct3D() [1/2]

template<class T , MemType MEM>
BoxData< T, 3, MEM > Operator::_edgeCrossProduct3D ( const BoxData< T, 3, MEM > &  a_ql4,
const BoxData< T, 3, MEM > &  a_qr4,
const BoxData< T, 3, MEM > &  a_ql2,
const BoxData< T, 3, MEM > &  a_qr2,
int  a_dir 
)
inline

◆ _edgeCrossProduct3D() [2/2]

template<class T , MemType MEM>
void Operator::_edgeCrossProduct3D ( BoxData< T, 3, MEM > &  a_product,
const BoxData< T, 3, MEM > &  a_ql4,
const BoxData< T, 3, MEM > &  a_qr4,
const BoxData< T, 3, MEM > &  a_ql2,
const BoxData< T, 3, MEM > &  a_qr2,
int  a_dir 
)
inline

◆ edgeCrossProduct3D() [1/2]

template<class T , MemType MEM>
BoxData< T, 3, MEM > Operator::edgeCrossProduct3D ( const BoxData< T, 3, MEM > &  a_ql,
const BoxData< T, 3, MEM > &  a_qr,
int  a_edgedir 
)
inline

◆ edgeCrossProduct3D() [2/2]

template<class T , MemType MEM>
void Operator::edgeCrossProduct3D ( BoxData< T, 3, MEM > &  a_product,
const BoxData< T, 3, MEM > &  a_ql,
const BoxData< T, 3, MEM > &  a_qr,
int  a_edgedir 
)
inline

◆ _cellMatrixProductAB()

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > Operator::_cellMatrixProductAB ( const BoxData< T, CL, MEM, DL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4,
const BoxData< T, CL, MEM, DL, E > &  a_ql2,
const BoxData< T, CR, MEM, DR, E > &  a_qr2 
)
inline

◆ _faceMatrixProductAB() [1/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > Operator::_faceMatrixProductAB ( const BoxData< T, CL, MEM, DL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4,
const BoxData< T, CL, MEM, DL, E > &  a_ql2,
const BoxData< T, CR, MEM, DR, E > &  a_qr2,
int  a_dir 
)
inline

◆ _faceMatrixProductAB() [2/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::_faceMatrixProductAB ( BoxData< T, CL, MEM, DR, E > &  a_product,
const BoxData< T, CL, MEM, DL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4,
const BoxData< T, CL, MEM, DL, E > &  a_ql2,
const BoxData< T, CR, MEM, DR, E > &  a_qr2,
int  a_dir 
)
inline

◆ faceMatrixProductAB() [1/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, DR, E > Operator::faceMatrixProductAB ( const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr,
int  a_dir 
)
inline

◆ faceMatrixProductAB() [2/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::faceMatrixProductAB ( BoxData< T, CL, MEM, DR, E > &  a_product,
const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr,
int  a_dir 
)
inline

◆ _faceMatrixProductATB() [1/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, DL, MEM, DR, E > Operator::_faceMatrixProductATB ( const BoxData< T, CL, MEM, DL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4,
const BoxData< T, CL, MEM, DL, E > &  a_ql2,
const BoxData< T, CR, MEM, DR, E > &  a_qr2,
int  a_dir 
)
inline

◆ _faceMatrixProductATB() [2/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::_faceMatrixProductATB ( BoxData< T, DL, MEM, DR, E > &  a_product,
const BoxData< T, CL, MEM, DL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4,
const BoxData< T, CL, MEM, DL, E > &  a_ql2,
const BoxData< T, CR, MEM, DR, E > &  a_qr2,
int  a_dir 
)
inline

◆ _faceMatrixProductABT() [1/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData< T, CL, MEM, CR, E > Operator::_faceMatrixProductABT ( const BoxData< T, CL, MEM, DL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4,
const BoxData< T, CL, MEM, DL, E > &  a_ql2,
const BoxData< T, CR, MEM, DR, E > &  a_qr2,
int  a_dir 
)
inline

◆ _faceMatrixProductABT() [2/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::_faceMatrixProductABT ( BoxData< T, CL, MEM, CR, E > &  a_product,
const BoxData< T, CL, MEM, DL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4,
const BoxData< T, CL, MEM, DL, E > &  a_ql2,
const BoxData< T, CR, MEM, DR, E > &  a_qr2,
int  a_dir 
)
inline

◆ _matrixProductAB() [1/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData<T,CL,MEM,DR,E> Operator::_matrixProductAB ( const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)
inline

◆ _matrixProductAB() [2/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::_matrixProductAB ( BoxData< T, CL, MEM, DR, E > &  a_product,
const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)
inline

◆ matrixProductATB() [1/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData<T,DL,MEM,DR,E> Operator::matrixProductATB ( const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)
inline

◆ matrixProductATB() [2/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::matrixProductATB ( BoxData< T, DL, MEM, DR, E > &  a_product,
const BoxData< T, DL, MEM, CL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)
inline

◆ _matrixProductABT() [1/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData<T,CL,MEM,CR,E> Operator::_matrixProductABT ( const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)
inline

◆ _matrixProductABT() [2/2]

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::_matrixProductABT ( BoxData< T, CL, MEM, CR, E > &  a_product,
const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)
inline

◆ _product1D()

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
BoxData< T, C, MEM, D, E > Operator::_product1D ( const BoxData< T, C, MEM, D, E > &  a_ql4,
const BoxData< T, C, MEM, D, E > &  a_qr4,
const BoxData< T, C, MEM, D, E > &  a_ql2,
const BoxData< T, C, MEM, D, E > &  a_qr2,
int  a_dir 
)
inline

◆ _faceGradient()

template<class T , unsigned int C, MemType MEM>
BoxData< T, C, MEM, DIM > Operator::_faceGradient ( const BoxData< T, C, MEM > &  phi,
int  a_dir,
int  a_order = 4 
)
inline

◆ MHDSphericalFlux()

template<class T , unsigned int CFLUX, unsigned int CPRIM, MemType MEM>
BoxData< T, CFLUX, MEM > Operator::MHDSphericalFlux ( const BoxData< T, CPRIM, MEM > &  a_prim4,
const BoxData< T, CPRIM, MEM > &  a_prim2,
const BoxData< T, DIM, MEM, DIM > &  a_A4,
const BoxData< T, DIM, MEM, DIM > &  a_A2,
const BoxData< T, 1, MEM > &  a_DrDetA4,
const BoxData< T, 1, MEM > &  a_DrDetA2,
const BoxData< T, DIM, MEM > &  a_DrAdjA4,
const BoxData< T, DIM, MEM > &  a_DrAdjA2,
const T &  a_gamma,
int  a_dir 
)
inline

◆ _faceGradxPhi() [1/2]

template<class T , unsigned int C, MemType MEM>
BoxData< T, C, MEM, DIM > Operator::_faceGradxPhi ( const BoxData< T, C, MEM > &  a_phi4,
const BoxData< T, C, MEM > &  a_phi2,
const BoxData< T, DIM, MEM, DIM > &  a_NFace4,
const BoxData< T, DIM, MEM, DIM > &  a_NFace2,
const BoxData< T, 1, MEM > &  a_JFace4,
const BoxData< T, 1, MEM > &  a_JFace2,
int  a_dir 
)
inline

◆ _faceGradxPhi() [2/2]

template<class T , unsigned int C, MemType MEM>
void Operator::_faceGradxPhi ( BoxData< T, C, MEM, DIM > &  a_grad,
const BoxData< T, C, MEM > &  a_phi4,
const BoxData< T, C, MEM > &  a_phi2,
const BoxData< T, DIM, MEM, DIM > &  a_NFace4,
const BoxData< T, DIM, MEM, DIM > &  a_NFace2,
const BoxData< T, 1, MEM > &  a_JFace4,
const BoxData< T, 1, MEM > &  a_JFace2,
int  a_dir 
)
inline

◆ spreadSlice()

template<class T , unsigned int C, MemType MEM, unsigned int D, unsigned int E>
void Operator::spreadSlice ( BoxData< T, C, MEM, D, E > &  a_bd)
inline

Spreads a slice.

◆ cubedSphereGeometry() [1/2]

template<class T , MemType MEM>
void Operator::cubedSphereGeometry ( BoxData< T, DIM, MEM > &  a_X,
FluxBoxData< T, DIM, MEM > &  a_NT,
BoxData< T, 1, MEM > &  a_J,
BoxData< T, 1, MEM > &  a_radius,
const Box a_bx,
a_h 
)
inline

Calculation of equiangular cubed-sphere finite-volume metric terms using a semi-analytic approach.

Calculation of equiangular cubed-sphere finite-volume metric terms using a semi-analytic approach - the only numerical quadratures that appear are integrals along coordinate lines. The mapping is given by

\[ \textbf{X}(\xi_0,\xi_1,\xi_2) = r(\xi_0) \frac{(1,tan(\alpha), tan(\beta))}{(1 + tan(\alpha)^2 + tan(\beta)^2)^{\frac{1}{2}}} , \alpha = (\xi_1 - \frac{1}{2} ) \frac{\pi}{2}, \beta = (\xi_2 - \frac{1}{2} ) \frac{\pi}{2} \]

Parameters
a_bxcell-centered Box that define where the metric terms are being computed.
a_hmesh spacing in \( \xi \) space.
a_radius\(r(\textbf{p} ~ {a\_h})\) for Points \(\textbf{p}\) corresponding to the corners of a_bx.
a_Xthe mapping \(\textbf{X}(\textbf{p} ~ \text{a_h} ) \) for Points corresponding to the corners of a_bx.
a_NT[d]for d = 0,1,2, the average of the d-th row of the cofactor matrix over the d-faces of a_bx.
a_Jthe average of the \( \det ( \nabla_\xi\textbf{X} )\) over the control volumes centered at the points in a_bx. For more details, see ref[].

◆ cubedSphereGeometry() [2/2]

template<class T , MemType MEM>
void Operator::cubedSphereGeometry ( BoxData< T, DIM, MEM > &  a_X,
FluxBoxData< T, DIM, MEM > &  a_NT,
BoxData< T, 1, MEM > &  a_J,
BoxData< T, 1, MEM > &  a_radius,
const Box a_bx,
a_h,
int  a_case 
)
inline

Cubed-sphere for each of the six patches that cover the cube.

Cubed-sphere for each of the patches that covers the cube. Arguments the same as above, with an additional argument a_case = 0, ..., 5 for the patch index.

\[ \textbf{X}_c(\Xi ) = \textbf{X}(\Xi) \cdot P_c \\ \{P_c\} = \left[ \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & -1 \\ -1 & 0 & 0 \end{pmatrix} \text{ , } \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix} \text{ , } \begin{pmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 0 & 0 \end{pmatrix} \text{ , } \begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \text{ , } \begin{pmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix} \text{ , } \begin{pmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 1 \end{pmatrix}\right] \]

◆ cubedSphere_nSphere()

template<class T , MemType MEM>
void Operator::cubedSphere_nSphere ( BoxData< T, DIM, MEM > &  a_nSphere,
a_h 
)
inline

◆ cubedSphere_edge1()

template<class T , MemType MEM>
void Operator::cubedSphere_edge1 ( BoxData< T, DIM, MEM > &  a_d1n_cross_n,
a_h 
)
inline

◆ cubedSphere_edge2()

template<class T , MemType MEM>
void Operator::cubedSphere_edge2 ( BoxData< T, DIM, MEM > &  a_n_cross_d2n,
a_h 
)
inline

◆ cubedSphereDetAFlux1()

template<class T , MemType MEM>
void Operator::cubedSphereDetAFlux1 ( BoxData< T, 1, MEM > &  a_detAFlux1,
a_h 
)
inline

◆ cubedSphereDetAFlux2()

template<class T , MemType MEM>
void Operator::cubedSphereDetAFlux2 ( BoxData< T, 1, MEM > &  a_detAFlux2,
a_h 
)

◆ cofactorMatrix() [3/3]

template<class T , MemType MEM>
BoxData<T,DIM,MEM,DIM> Operator::cofactorMatrix ( const FluxBoxData< T, DIM, MEM > &  a_NTFaces,
int  a_dirNorm,
Array< T, DIM >  a_dx 
)

◆ jacobian() [3/3]

template<class T , MemType MEM>
BoxData<T,1,MEM> Operator::jacobian ( const BoxData< T, DIM, MEM > &  a_X,
const FluxBoxData< T, DIM, MEM > &  a_NT,
Array< T, DIM >  a_dx 
)

◆ matrixProductAB()

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
void Operator::matrixProductAB ( BoxData< T, CL, MEM, DR, E > &  a_qprod,
const BoxData< T, DL, MEM, CL, E > &  a_ql4,
const BoxData< T, CR, MEM, DR, E > &  a_qr4 
)

◆ _matrixProductAB2()

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData<T,CL,MEM,DR,E> Operator::_matrixProductAB2 ( const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)

◆ _matrixProductATB2()

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData<T,DL,MEM,DR,E> Operator::_matrixProductATB2 ( const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)

◆ _matrixProductABT2()

template<class T , unsigned int CL, unsigned int DL, unsigned int CR, unsigned int DR, unsigned int E, MemType MEM>
BoxData<T,CL,MEM,CR,E> Operator::_matrixProductABT2 ( const BoxData< T, CL, MEM, DL, E > &  a_ql,
const BoxData< T, CR, MEM, DR, E > &  a_qr 
)