|
template<typename T1 > |
auto | MoFEM::getVectorAdaptor (T1 ptr, const size_t n) |
| Get Vector adaptor.
|
|
template<typename T1 > |
auto | MoFEM::getMatrixAdaptor (T1 ptr, const size_t n, const size_t m) |
| Get Matrix adaptor.
|
|
template<class X > |
std::string | MoFEM::toString (X x) |
|
template<int S = 1, class T , class A > |
static auto | MoFEM::getFTensor0FromVec (ublas::vector< T, A > &data) |
| Get tensor rank 0 (scalar) form data vector.
|
|
template<int Tensor_Dim, int S = 1, class T , class L , class A > |
FTensor::Tensor1< FTensor::PackPtr< T *, S >, Tensor_Dim > | MoFEM::getFTensor1FromMat (ublas::matrix< T, L, A > &data) |
| Get tensor rank 1 (vector) form data matrix.
|
|
template<int Tensor_Dim, int S = 1> |
auto | MoFEM::getFTensor1FromMat (MatrixDouble &data) |
| Get tensor rank 1 (vector) form data matrix (specialization)
|
|
template<int Tensor_Dim1, int Tensor_Dim2> |
FTensor::Tensor2< FTensor::PackPtr< double *, 1 >, Tensor_Dim1, Tensor_Dim2 > | MoFEM::getFTensor2FromMat (MatrixDouble &data) |
| Get tensor rank 2 (matrix) form data matrix.
|
|
template<int Tensor_Dim1, int Tensor_Dim2> |
FTensor::Tensor2< FTensor::PackPtr< double *, 1 >, Tensor_Dim1, Tensor_Dim2 > | MoFEM::getFTensor2FromVec (VectorDouble &data) |
|
template<> |
FTensor::Tensor2< FTensor::PackPtr< double *, 1 >, 1, 1 > | MoFEM::getFTensor2FromVec (VectorDouble &data) |
|
template<int Tensor_Dim, int S, class T , class L , class A > |
static auto | MoFEM::getFTensor2SymmetricFromMat (ublas::matrix< T, L, A > &data) |
| Get symmetric tensor rank 2 (matrix) form data matrix.
|
|
template<int Tensor_Dim, int S = 1> |
static auto | MoFEM::getFTensor2SymmetricFromMat (MatrixDouble &data) |
|
template<int Tensor_Dim01, int Tensor_Dim23, int S = 1, class T , class L , class A > |
static FTensor::Ddg< FTensor::PackPtr< T *, 1 >, Tensor_Dim01, Tensor_Dim23 > | MoFEM::getFTensor4DdgFromMat (ublas::matrix< T, L, A > &data) |
| Get symmetric tensor rank 4 on first two and last indices from form data matrix.
|
|
template<int Tensor_Dim01, int Tensor_Dim23, int S = 1> |
static auto | MoFEM::getFTensor4DdgFromMat (MatrixDouble &data) |
|
template<int Tensor_Dim01, int Tensor_Dim2, int S = 1, class T , class L , class A > |
static FTensor::Dg< FTensor::PackPtr< T *, 1 >, Tensor_Dim01, Tensor_Dim2 > | MoFEM::getFTensor3DgFromMat (ublas::matrix< T, L, A > &data) |
| Get symmetric tensor rank 3 on the first two indices from form data matrix.
|
|
template<int Tensor_Dim01, int Tensor_Dim2, int S = 1> |
static auto | MoFEM::getFTensor3DgFromMat (MatrixDouble &data) |
|
template<int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int Tensor_Dim3, int S = 1, class T , class L , class A > |
static FTensor::Tensor4< FTensor::PackPtr< T *, 1 >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2, Tensor_Dim3 > | MoFEM::getFTensor4FromMat (ublas::matrix< T, L, A > &data) |
| Get tensor rank 4 (non symmetric) form data matrix.
|
|
template<int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int Tensor_Dim3, int S = 1> |
static auto | MoFEM::getFTensor4FromMat (MatrixDouble &data) |
|
template<int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int S = 1, class T , class L , class A > |
static FTensor::Tensor3< FTensor::PackPtr< T *, 1 >, Tensor_Dim0, Tensor_Dim1, Tensor_Dim2 > | MoFEM::getFTensor3FromMat (ublas::matrix< T, L, A > &data) |
| Get tensor rank 3 (non symmetries) form data matrix.
|
|
template<int Tensor_Dim0, int Tensor_Dim1, int Tensor_Dim2, int S = 1> |
static auto | MoFEM::getFTensor3FromMat (MatrixDouble &data) |
|
template<int DIM, int S = DIM> |
FTensor::Tensor1< FTensor::PackPtr< double *, S >, DIM > | MoFEM::getFTensor1FromPtr (double *ptr) |
| Make Tensor1 from pointer.
|
|
template<int DIM, int S = DIM> |
FTensor::Tensor1< FTensor::PackPtr< adouble *, S >, DIM > | MoFEM::getFTensor1FromPtr (adouble *ptr) |
|
template<int DIM, int S = DIM> |
FTensor::Tensor1< FTensor::PackPtr< std::complex< double > *, S >, DIM > | MoFEM::getFTensor1FromPtr (std::complex< double > *ptr) |
|
template<int DIM1, int DIM2, int S = DIM1 * DIM2> |
auto | MoFEM::getFTensor2FromPtr (double *ptr) |
| Make Tensor2 from pointer.
|
|
template<int DIM1, int DIM2, int S = DIM1 * DIM2> |
auto | MoFEM::getFTensor2FromPtr (std::complex< double > *ptr) |
| Make Tensor2 from pointer.
|
|
template<int DIM1, int DIM2> |
FTensor::Tensor2< FTensor::PackPtr< double *, DIM1 *DIM2 >, DIM1, DIM2 > | MoFEM::getFTensor2HVecFromPtr (double *ptr) |
| Make Tensor2 for HVec base from pointer.
|
|
template<> |
FTensor::Tensor2< FTensor::PackPtr< double *, 6 >, 3, 2 > | MoFEM::getFTensor2HVecFromPtr< 3, 2 > (double *ptr) |
|
template<> |
FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > | MoFEM::getFTensor2HVecFromPtr< 3, 3 > (double *ptr) |
|
template<int DIM1, int DIM2, int DIM3> |
FTensor::Tensor3< FTensor::PackPtr< double *, DIM1 *DIM2 *DIM3 >, DIM1, DIM2, DIM3 > | MoFEM::getFTensor3FromPtr (double *ptr) |
|
template<> |
FTensor::Tensor3< FTensor::PackPtr< double *, 12 >, 3, 2, 2 > | MoFEM::getFTensor3FromPtr< 3, 2, 2 > (double *ptr) |
|
template<> |
FTensor::Tensor3< FTensor::PackPtr< double *, 27 >, 3, 3, 3 > | MoFEM::getFTensor3FromPtr< 3, 3, 3 > (double *ptr) |
|
template<> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, 6 >, 3 > | MoFEM::getFTensor2SymmetricFromPtr< 3 > (double *ptr) |
|
template<> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, 3 >, 2 > | MoFEM::getFTensor2SymmetricFromPtr< 2 > (double *ptr) |
|
template<int DIM> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< adouble *,(DIM *(DIM+1))/2 >, DIM > | MoFEM::getFTensor2SymmetricFromPtr (adouble *ptr) |
| Make symmetric Tensor2 from pointer.
|
|
template<> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< adouble *, 6 >, 3 > | MoFEM::getFTensor2SymmetricFromPtr< 3 > (adouble *ptr) |
|
template<> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< adouble *, 3 >, 2 > | MoFEM::getFTensor2SymmetricFromPtr< 2 > (adouble *ptr) |
|
template<int DIM> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, DIM *DIM >, DIM > | MoFEM::getFTensor2SymmetricLowerFromPtr (double *ptr) |
| Make symmetric Tensor2 from pointer, taking lower triangle of matrix.
|
|
template<> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, 9 >, 3 > | MoFEM::getFTensor2SymmetricLowerFromPtr< 3 > (double *ptr) |
|
template<> |
FTensor::Tensor2_symmetric< FTensor::PackPtr< double *, 4 >, 2 > | MoFEM::getFTensor2SymmetricLowerFromPtr< 2 > (double *ptr) |
|
template<int DIM, int S> |
auto | MoFEM::getFTensor1FromArray (VectorDouble &data) |
| Get FTensor1 from array.
|
|
template<int DIM, int S = 0> |
auto | MoFEM::getFTensor1FromArray (VectorDouble3 &data) |
| Get FTensor1 from array.
|
|
template<> |
auto | MoFEM::getFTensor1FromArray< 3, 0 > (VectorDouble3 &data) |
|
template<int DIM, int S> |
FTensor::Tensor1< FTensor::PackPtr< double *, S >, DIM > | MoFEM::getFTensor1FromMat (MatrixDouble &data, const size_t rr) |
|
template<> |
FTensor::Tensor1< FTensor::PackPtr< double *, 1 >, 2 > | MoFEM::getFTensor1FromMat (MatrixDouble &data, const size_t rr) |
|
template<> |
FTensor::Tensor1< FTensor::PackPtr< double *, 1 >, 3 > | MoFEM::getFTensor1FromMat (MatrixDouble &data, const size_t rr) |
|
template<> |
FTensor::Tensor1< FTensor::PackPtr< double *, 1 >, 4 > | MoFEM::getFTensor1FromMat (MatrixDouble &data, const size_t rr) |
|
template<> |
FTensor::Tensor1< FTensor::PackPtr< double *, 1 >, 9 > | MoFEM::getFTensor1FromMat (MatrixDouble &data, const size_t rr) |
|
template<int DIM, int S> |
FTensor::Tensor1< FTensor::PackPtr< double *, S >, DIM > | MoFEM::getFTensor1FromArrayDiag (MatrixDouble &data, const size_t rr) |
| Get FTensor1 from array.
|
|
template<> |
FTensor::Tensor1< FTensor::PackPtr< double *, 2 >, 2 > | MoFEM::getFTensor1FromArrayDiag (MatrixDouble &data, const size_t rr) |
|
template<> |
FTensor::Tensor1< FTensor::PackPtr< double *, 3 >, 3 > | MoFEM::getFTensor1FromArrayDiag (MatrixDouble &data, const size_t rr) |
|
template<int DIM1, int DIM2, int S> |
FTensor::Tensor2< FTensor::PackPtr< double *, S >, DIM1, DIM2 > | MoFEM::getFTensor2FromArray (MatrixDouble &data, const size_t rr, const size_t cc=0) |
|
template<int DIM1, int DIM2> |
FTensor::Tensor2< double *, DIM1, DIM2 > | MoFEM::getFTensor2FromArray (MatrixDouble &data, const size_t rr, const size_t cc, const int ss) |
|
template<int S, typename T , typename L , typename A > |
auto | MoFEM::getFTensor2FromArray2by2 (ublas::matrix< T, L, A > &data, const FTensor::Number< S > &, const size_t rr, const size_t cc=0) |
|
template<int S, typename T , typename L , typename A > |
auto | MoFEM::getFTensor2FromArray3by3 (ublas::matrix< T, L, A > &data, const FTensor::Number< S > &, const size_t rr, const size_t cc=0) |
|
template<int DIM1, int DIM2, int S> |
auto | MoFEM::getFTensor2FromArray (MatrixADouble &data, const size_t rr) |
|
MoFEMErrorCode | MoFEM::computeMatrixInverse (MatrixDouble &mat) |
| compute matrix inverse with lapack dgetri
|
|
MoFEMErrorCode | MoFEM::solveLinearSystem (MatrixDouble &mat, VectorDouble &f) |
| solve linear system with lapack dgesv
|
|
MoFEMErrorCode | MoFEM::solveLinearSystem (const MatrixDouble &mat, VectorDouble &f) |
| Solve linear system of equations using Lapack.
|
|
MoFEMErrorCode | MoFEM::computeEigenValuesSymmetric (const MatrixDouble &mat, VectorDouble &eig, MatrixDouble &eigen_vec) |
| compute eigenvalues of a symmetric matrix using lapack dsyev
|
|
template<int DIM, typename T1 , typename T2 > |
MoFEMErrorCode | MoFEM::computeEigenValuesSymmetric (FTensor::Tensor2< T1, DIM, DIM > &eigen_vec, FTensor::Tensor1< T2, DIM > &eig) |
| compute eigenvalues of a symmetric matrix using lapack dsyev
|
|
template<int DIM, typename T1 , typename T2 , typename T3 > |
MoFEMErrorCode | MoFEM::computeEigenValuesSymmetric (const FTensor::Tensor2_symmetric< T1, DIM > &mat, FTensor::Tensor1< T2, DIM > &eig, FTensor::Tensor2< T3, DIM, DIM > &eigen_vec) |
| compute eigenvalues of a symmetric tensor using lapack dsyev
|
|
template<typename T > |
static auto | MoFEM::determinantTensor3by3 (T &t) |
| Calculate the determinant of a 3x3 matrix or a tensor of rank 2.
|
|
template<typename T > |
static auto | MoFEM::determinantTensor2by2 (T &t) |
| Calculate the determinant of a 2x2 matrix or a tensor of rank 2.
|
|
template<typename T , int DIM> |
static auto | MoFEM::determinantTensor (FTensor::Tensor2< T, DIM, DIM > &t) |
| Calculate the determinant of a tensor of rank DIM.
|
|
template<typename T , int DIM> |
static auto | MoFEM::determinantTensor (FTensor::Tensor2_symmetric< T, DIM > &t) |
| Calculate the determinant of a tensor of rank DIM.
|
|
template<int Tensor_Dim, class T , class L , class A > |
MoFEMErrorCode | MoFEM::invertTensor3by3 (ublas::matrix< T, L, A > &jac_data, ublas::vector< T, A > &det_data, ublas::matrix< T, L, A > &inv_jac_data) |
| Calculate inverse of tensor rank 2 at integration points.
|
|
template<> |
MoFEMErrorCode | MoFEM::invertTensor3by3< 3, double, ublas::row_major, DoubleAllocator > (MatrixDouble &jac_data, VectorDouble &det_data, MatrixDouble &inv_jac_data) |
|
template<class T1 , class T2 > |
MoFEMErrorCode | MoFEM::determinantTensor3by3 (T1 &t, T2 &det) |
| Calculate determinant 3 by 3.
|
|
template<class T1 , class T2 > |
MoFEMErrorCode | MoFEM::determinantTensor2by2 (T1 &t, T2 &det) |
| Calculate determinant 2 by 2.
|
|
template<class T1 , class T2 , class T3 > |
MoFEMErrorCode | MoFEM::invertTensor3by3 (T1 &t, T2 &det, T3 &inv_t) |
| Calculate matrix inverse 3 by 3.
|
|
template<class T1 , class T2 , class T3 > |
MoFEMErrorCode | MoFEM::invertTensor2by2 (T1 &t, T2 &det, T3 &inv_t) |
| Calculate matrix inverse 2 by 2.
|
|
template<typename T1 , typename T2 , typename T3 , int DIM> |
static MoFEMErrorCode | MoFEM::invertTensor (FTensor::Tensor2< T1, DIM, DIM > &t, T2 &det, FTensor::Tensor2< T3, DIM, DIM > &inv_t) |
|
template<typename T1 , typename T2 , typename T3 , int DIM> |
static MoFEMErrorCode | MoFEM::invertTensor (FTensor::Tensor2_symmetric< T1, DIM > &t, T2 &det, FTensor::Tensor2_symmetric< T3, DIM > &inv_t) |
|
template<typename Extractor , typename Iterator > |
moab::Range::iterator | MoFEM::insertOrdered (Range &r, Extractor, Iterator begin_iter, Iterator end_iter) |
| Insert ordered mofem multi-index into range.
|
|
template<typename MI , typename MO = Modify_change_nothing> |
MoFEMErrorCode | MoFEM::reconstructMultiIndex (const MI &mi, MO &&mo=Modify_change_nothing()) |
| Template used to reconstruct multi-index.
|
|
auto | MoFEM::get_temp_meshset_ptr (moab::Interface &moab) |
| Create smart pointer to temporary meshset.
|
|
auto | MoFEM::id_from_handle (const EntityHandle h) |
|
auto | MoFEM::type_from_handle (const EntityHandle h) |
| get type from entity handle
|
|
auto | MoFEM::ent_form_type_and_id (const EntityType type, const EntityID id) |
| get entity handle from type and id
|
|
auto | MoFEM::dimension_from_handle (const EntityHandle h) |
| get entity dimension form handle
|
|
auto | MoFEM::type_name_from_handle (const EntityHandle h) |
| get entity type name from handle
|
|
auto | MoFEM::field_bit_from_bit_number (const int bit_number) |
| get field bit id from bit number
|
|
template<typename I > |
auto | MoFEM::rangeInserter (const I f, const I s, boost::function< bool(I it)> tester, boost::function< MoFEMErrorCode(I f, I s)> inserter) |
| Insert ranges.
|
|
template<typename Dest = void, typename... Arg> |
constexpr auto | MoFEM::make_array (Arg &&...arg) |
| Create Array.
|
|