![Logo](alamo3.svg) |
Alamo
|
Go to the documentation of this file. 1 #ifndef SET_MATRIX4_DIAGONAL_H
2 #define SET_MATRIX4_DIAGONAL_H
17 Scalar operator () (
const int i,
const int j,
const int k,
const int l)
const
19 if (i == k && j == l)
return A(i, j);
33 zero.
A = Set::Matrix::Zero();
52 AMREX_GPU_HOST_DEVICE
void operator /= (
const Set::Scalar& alpha) { A /= alpha; }
60 if (std::isnan(A.lpNorm<2>()))
return true;
65 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
70 for (
int i = 0; i < AMREX_SPACEDIM; i++)
72 for (
int j = 0; j < AMREX_SPACEDIM; j++)
74 ret(i, j) = a.
A(i, j) * b(i, j);
81 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
86 for (
int i = 0; i < AMREX_SPACEDIM; i++)
87 for (
int j = 0; j < AMREX_SPACEDIM; j++)
88 ret(i) += a.
A(i, j) * b(i, j, j);
92 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
98 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
106 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
114 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
122 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
129 AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE
AMREX_FORCE_INLINE void operator+=(const OP_CLASS &rhs)
AMREX_FORCE_INLINE Quaternion operator+(const Quaternion a, const Quaternion b)
AMREX_FORCE_INLINE Quaternion operator-(const Quaternion a, const Quaternion b)
static Matrix4< AMREX_SPACEDIM, Sym::Diagonal > Zero()
bool contains_nan() const
AMREX_GPU_HOST_DEVICE Matrix4(Set::Matrix a_A)
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
Matrix< _Scalar, _Rows, _Cols > & operator*=(const amrex::Vector< amrex::Real > &x)
AMREX_FORCE_INLINE Quaternion operator*(const Set::Scalar alpha, const Quaternion b)
A collection of data types and symmetry-reduced data structures.
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, AMREX_SPACEDIM > Matrix
AMREX_GPU_HOST_DEVICE Matrix4()
AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE Matrix4< AMREX_SPACEDIM, Sym::Diagonal > operator/(const Matrix4< AMREX_SPACEDIM, Sym::Diagonal > &a, const Set::Scalar &b)
AMREX_FORCE_INLINE bool operator==(const Quaternion a, const Quaternion b)
void Print(std::ostream &os)