Block-Structured AMR Software Framework
 
Loading...
Searching...
No Matches
amrex::LUSolver< N, T > Class Template Reference

#include <AMReX_LUSolver.H>

Public Member Functions

 LUSolver ()=default
 
__host__ __device__ 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)
 
__host__ __device__ void operator() (T *restrict x, T const *restrict b) const
 
__host__ __device__ Array2D< T, 0, N-1, 0, N-1, Order::Cinvert () const
 
__host__ __device__ T determinant () const
 

Private Member Functions

__host__ __device__ 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 >
__host__ __device__ amrex::LUSolver< N, T >::LUSolver ( Array2D< T, 0, N-1, 0, N-1, Order::C > const &  a_mat)
inline

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 >
__host__ __device__ void amrex::LUSolver< N, T >::define_innard ( )
inlineprivate

◆ determinant()

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

◆ invert()

template<int N, typename T >
__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 >
__host__ __device__ void amrex::LUSolver< N, T >::operator() ( T *restrict  x,
T const *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: