|
| template<std::size_t N, std::size_t M, std::size_t R, std::size_t C> |
| FloatMatrixF< N, M > | oofem::assemble (const FloatMatrixF< R, C > &x, int const (&r)[R], int const (&c)[C]) |
| | Assemble components into zero matrix.
|
| template<std::size_t N, std::size_t M> |
| std::ostream & | oofem::operator<< (std::ostream &out, const FloatMatrixF< N, M > &x) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::operator* (double a, const FloatMatrixF< N, M > &x) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::operator* (const FloatMatrixF< N, M > &x, double a) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::operator/ (const FloatMatrixF< N, M > &x, double a) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::operator+ (const FloatMatrixF< N, M > &x, const FloatMatrixF< N, M > &y) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::operator- (const FloatMatrixF< N, M > &x, const FloatMatrixF< N, M > &y) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > & | oofem::operator+= (FloatMatrixF< N, M > &x, const FloatMatrixF< N, M > &y) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > & | oofem::operator-= (FloatMatrixF< N, M > &x, const FloatMatrixF< N, M > &y) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > & | oofem::operator*= (FloatMatrixF< N, M > &x, double a) |
| template<std::size_t N, std::size_t M> |
| bool | oofem::isfinite (const FloatMatrixF< N, M > &mat) |
| | Returns true if no element is not finite (NAN or infinite).
|
| template<std::size_t N, std::size_t NSD> |
| FloatMatrixF< N *3, NSD > | oofem::Nmatrix (const FloatArrayF< N > &n) |
| FloatMatrixF< 2, 2 > | oofem::local_cs (const FloatArrayF< 2 > &normal) |
| FloatMatrixF< 3, 3 > | oofem::local_cs (const FloatArrayF< 3 > &normal) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< M, N > | oofem::transpose (const FloatMatrixF< N, M > &mat) |
| | Constructs transposed matrix.
|
| template<std::size_t N, std::size_t M, std::size_t P> |
| FloatMatrixF< N, P > | oofem::dot (const FloatMatrixF< N, M > &a, const FloatMatrixF< M, P > &b) |
| | Computes \( a \cdot b \).
|
| template<std::size_t N, std::size_t M, std::size_t P> |
| FloatMatrixF< N, P > | oofem::dotT (const FloatMatrixF< N, M > &a, const FloatMatrixF< P, M > &b) |
| | Computes \( a \cdot b^{\mathrm{T}} \).
|
| template<std::size_t N, std::size_t M, std::size_t P> |
| FloatMatrixF< N, P > | oofem::Tdot (const FloatMatrixF< M, N > &a, const FloatMatrixF< M, P > &b) |
| | Computes \( a^{\mathrm{T}} \cdot b \).
|
| template<std::size_t N, std::size_t M> |
| FloatArrayF< N > | oofem::dot (const FloatMatrixF< N, M > &m, const FloatArrayF< M > &x) |
| | Computes $ m_ij x_j = m \cdot x $.
|
| template<std::size_t N, std::size_t M> |
| FloatArrayF< N > | oofem::dot (const FloatArrayF< M > &x, const FloatMatrixF< M, N > &m) |
| | Computes $ x_j m_ji = x \cdot m = m^{\mathrm{T}} \cdot x $.
|
| template<std::size_t N, std::size_t M> |
| FloatArrayF< N > | oofem::Tdot (const FloatMatrixF< M, N > &m, const FloatArrayF< M > &x) |
| | Computes $ x_j m_ji = x \cdot m = m^{\mathrm{T}} \cdot x $.
|
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::dyad (const FloatArrayF< N > &a, const FloatArrayF< M > &b) |
| | Computes the dyadic product \( m_{ij} = a_i b_j \).
|
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< M, M > | oofem::rotate (FloatMatrixF< N, N > &a, const FloatMatrixF< N, M > &r) |
| | Computes \( a = r^{\mathrm{T}} \cdot a \cdot r \).
|
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< M, M > | oofem::unrotate (FloatMatrixF< N, N > &a, const FloatMatrixF< M, N > &r) |
| | Computes \( a = r \cdot a \cdot r^{\mathrm{T}} \).
|
| template<std::size_t N, std::size_t M> |
| FloatArrayF< N > | oofem::column (const FloatMatrixF< N, M > &mat, std::size_t col) |
| FloatMatrixF< 3, 3 > | oofem::from_voigt_form_9 (const FloatArrayF< 9 > &v) |
| FloatArrayF< 9 > | oofem::to_voigt_form_33 (const FloatMatrixF< 3, 3 > &t) |
| FloatMatrixF< 3, 3 > | oofem::from_voigt_stress_6 (const FloatArrayF< 6 > &v) |
| FloatArrayF< 6 > | oofem::to_voigt_stress_33 (const FloatMatrixF< 3, 3 > &t) |
| FloatMatrixF< 3, 3 > | oofem::from_voigt_strain_6 (const FloatArrayF< 6 > &v) |
| FloatArrayF< 6 > | oofem::to_voigt_strain_33 (const FloatMatrixF< 3, 3 > &t) |
| template<std::size_t N> |
| FloatMatrixF< N, N > | oofem::diag (const FloatArrayF< N > &v) |
| template<std::size_t N> |
| FloatArrayF< N > | oofem::diag (const FloatMatrixF< N, N > &m) |
| template<std::size_t N, std::size_t M> |
| FloatArrayF< N *M > | oofem::flatten (const FloatMatrixF< N, M > &m) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::zero () |
| | Constructs a zero matrix (this is the default behavior when constructing a matrix, this is just for nicer syntax).
|
| template<std::size_t N> |
| FloatMatrixF< N, N > | oofem::eye () |
| | Constructs an identity matrix.
|
| template<std::size_t N, std::size_t NSD> |
| FloatMatrixF< NSD, N > | oofem::Nmatrix (const FloatArrayF< N > &n) |
| template<std::size_t N> |
| FloatMatrixF< 6, N *3 > | oofem::Bmatrix_3d (const FloatMatrixF< 3, N > &dN) |
| | Constructs the B matrix for 3D momentum balance problems.
|
| template<std::size_t N> |
| FloatMatrixF< 3, N *2 > | oofem::Bmatrix_2d (const FloatMatrixF< 2, N > &dN) |
| | Constructs the B matrix for plane stress momentum balance problems.
|
| template<std::size_t N> |
| double | oofem::trace (const FloatMatrixF< N, N > &mat) |
| template<std::size_t N> |
| double | oofem::frobeniusNorm (const FloatMatrixF< N, N > &mat) |
| template<std::size_t N> |
| double | oofem::norm (const FloatMatrixF< N, N > &mat, int p=1) |
| template<std::size_t N> |
| double | oofem::rcond (const FloatMatrixF< N, N > &mat, int p=1) |
| double | oofem::det (const FloatMatrixF< 2, 2 > &mat) |
| | Computes the determinant.
|
| double | oofem::det (const FloatMatrixF< 3, 3 > &mat) |
| | Computes the determinant.
|
| FloatMatrixF< 2, 2 > | oofem::inv_22 (const FloatMatrixF< 2, 2 > &mat, double) |
| | Computes the inverse.
|
| FloatMatrixF< 3, 3 > | oofem::inv_33 (const FloatMatrixF< 3, 3 > &mat, double) |
| | Computes the inverse.
|
| template<std::size_t N> |
| FloatMatrixF< N, N > | oofem::inv (const FloatMatrixF< N, N > &mat, double zeropiv=1e-24) |
| | Computes the inverse.
|
| template<std::size_t N> |
| std::pair< FloatArrayF< N >, FloatMatrixF< N, N > > | oofem::eig (const FloatMatrixF< N, N > &mat, int nf=9) |
| template<std::size_t N> |
| std::pair< FloatArrayF< N >, FloatMatrixF< N, N > > | oofem::eig_inverse (const FloatMatrixF< N, N > &mat) |
| template<std::size_t N> |
| void | oofem::orthogonalize (std::array< FloatArrayF< N >, N > &x) |
| template<std::size_t N> |
| std::pair< bool, FloatArrayF< N > > | oofem::solve_check (FloatMatrixF< N, N > mtrx, const FloatArrayF< N > &b, double zeropiv=1e-20) |
| template<std::size_t N> |
| FloatArrayF< N > | oofem::solve (FloatMatrixF< N, N > mtrx, const FloatArrayF< N > &b, double zeropiv=1e-20) |
| template<std::size_t N, std::size_t M> |
| FloatMatrixF< N, M > | oofem::solve (FloatMatrixF< N, N > mtrx, const FloatMatrixF< N, M > &B, double zeropiv=1e-20) |