Block-Structured AMR Software Framework
amrex::LUSolver< N, T > Class Template Reference

#include <AMReX_LUSolver.H>

Public Member Functions

 LUSolver ()=default
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE LUSolver (Array2D< T, 0, N-1, 0, N-1, Order::C > const &a_mat)
 
void define (Array2D< T, 0, N-1, 0, N-1, Order::C > const &a_mat)
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (T *AMREX_RESTRICT x, T const *AMREX_RESTRICT b) const
 
AMREX_GPU_HOST_DEVICE Array2D< T, 0, N-1, 0, N-1, Order::Cinvert () const
 
AMREX_GPU_HOST_DEVICEdeterminant () const
 

Private Member Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void define_innard ()
 

Private Attributes

Array2D< T, 0, N-1, 0, N-1, Order::Cm_mat
 
Array1D< int, 0, N-1 > m_piv
 
int m_npivs = 0
 

Constructor & Destructor Documentation

◆ LUSolver() [1/2]

template<int N, typename T >
amrex::LUSolver< N, T >::LUSolver ( )
default

◆ LUSolver() [2/2]

template<int N, typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::LUSolver< N, T >::LUSolver ( Array2D< T, 0, N-1, 0, N-1, Order::C > const &  a_mat)

Member Function Documentation

◆ define()

template<int N, typename T >
void amrex::LUSolver< N, T >::define ( Array2D< T, 0, N-1, 0, N-1, Order::C > const &  a_mat)

◆ define_innard()

template<int N, typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::LUSolver< N, T >::define_innard
private

◆ determinant()

template<int N, typename T >
AMREX_GPU_HOST_DEVICE T amrex::LUSolver< N, T >::determinant ( ) const
inline

◆ invert()

template<int N, typename T >
AMREX_GPU_HOST_DEVICE Array2D<T,0,N-1,0,N-1,Order::C> amrex::LUSolver< N, T >::invert ( ) const
inline

◆ operator()()

template<int N, typename T >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::LUSolver< N, T >::operator() ( T *AMREX_RESTRICT  x,
T const *AMREX_RESTRICT  b 
) const
inline

Member Data Documentation

◆ m_mat

template<int N, typename T >
Array2D<T, 0, N-1, 0, N-1, Order::C> amrex::LUSolver< N, T >::m_mat
private

◆ m_npivs

template<int N, typename T >
int amrex::LUSolver< N, T >::m_npivs = 0
private

◆ m_piv

template<int N, typename T >
Array1D<int, 0, N-1> amrex::LUSolver< N, T >::m_piv
private

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