Go to the source code of this file.
Namespaces | |
| MathUtils | |
Enumerations | |
| enum | MathUtils::ComputeType { MathUtils::ComputeType::value, MathUtils::ComputeType::derivative } |
Functions | |
| Real | MathUtils::poly1Log (Real x, Real tol, unsigned int derivative_order) |
| Real | MathUtils::poly2Log (Real x, Real tol, unsigned int derivative_order) |
| Real | MathUtils::poly3Log (Real x, Real tol, unsigned int derivative_order) |
| Real | MathUtils::poly4Log (Real x, Real tol, unsigned int derivative_order) |
| Real | MathUtils::taylorLog (Real x) |
| Point | MathUtils::barycentricToCartesian2D (const Point &p0, const Point &p1, const Point &p2, const Real b0, const Real b1, const Real b2) |
| Evaluate Cartesian coordinates of any center point of a triangle given Barycentric coordinates of center point and Cartesian coordinates of triangle's vertices. More... | |
| Point | MathUtils::barycentricToCartesian3D (const Point &p0, const Point &p1, const Point &p2, const Point &p3, const Real b0, const Real b1, const Real b2, const Real b3) |
| Evaluate Cartesian coordinates of any center point of a tetrahedron given Barycentric coordinates of center point and Cartesian coordinates of tetrahedon's vertices. More... | |
| Point | MathUtils::circumcenter2D (const Point &p0, const Point &p1, const Point &p2) |
| Evaluate circumcenter of a triangle given three arbitrary points. More... | |
| Point | MathUtils::circumcenter3D (const Point &p0, const Point &p1, const Point &p2, const Point &p3) |
| Evaluate circumcenter of a tetrahedrom given four arbitrary points. More... | |
| template<typename T > | |
| T | MathUtils::round (T x) |
| template<typename T > | |
| T | MathUtils::sign (T x) |
| template<typename T > | |
| T | MathUtils::pow (T x, int e) |
| template<typename T > | |
| T | MathUtils::heavyside (T x) |
| template<typename T > | |
| T | MathUtils::regularizedHeavyside (T x, Real smoothing_length) |
| template<typename T > | |
| T | MathUtils::regularizedHeavysideDerivative (T x, Real smoothing_length) |
| template<typename T > | |
| T | MathUtils::positivePart (T x) |
| template<typename T > | |
| T | MathUtils::negativePart (T x) |
| template<typename T , typename T2 , typename T3 , typename std::enable_if< libMesh::ScalarTraits< T >::value &&libMesh::ScalarTraits< T2 >::value &&libMesh::ScalarTraits< T3 >::value, int >::type = 0> | |
| void | MathUtils::addScaled (const T &a, const T2 &b, T3 &result) |
| template<typename T , typename T2 , typename T3 , typename std::enable_if< libMesh::ScalarTraits< T >::value, int >::type = 0> | |
| void | MathUtils::addScaled (const T &scalar, const libMesh::NumericVector< T2 > &numeric_vector, libMesh::NumericVector< T3 > &result) |
| template<typename T , typename T2 , template< typename > class W, template< typename > class W2, typename std::enable_if< std::is_same< typename W< T >::index_type, unsigned int >::value &&std::is_same< typename W2< T2 >::index_type, unsigned int >::value, int >::type = 0> | |
| libMesh::CompareTypes< T, T2 >::supertype | MathUtils::dotProduct (const W< T > &a, const W2< T2 > &b) |
| template<typename C , typename T , typename R = typename libMesh::CompareTypes<typename C::value_type, T>::supertype> | |
| R | MathUtils::poly (const C &c, const T x, const bool derivative=false) |
| Evaluate a polynomial with the coefficients c at x. More... | |
| template<typename C , typename T , typename R = typename libMesh::CompareTypes<typename C::value_type, T>::supertype> | |
| R | MathUtils::polynomial (const C &c, const T x) |
| Evaluate a polynomial with the coefficients c at x. More... | |
| template<typename C , typename T , typename R = typename libMesh::CompareTypes<typename C::value_type, T>::supertype> | |
| R | MathUtils::polynomialDerivative (const C &c, const T x) |
| Returns the derivative of polynomial(c, x) with respect to x. More... | |
| template<typename T , typename T2 > | |
| T | MathUtils::clamp (const T &x, T2 lowerlimit, T2 upperlimit) |
| template<typename T , typename T2 > | |
| T | MathUtils::smootherStep (T x, T2 start, T2 end, bool derivative=false) |
| template<ComputeType compute_type, typename X , typename S , typename E > | |
| auto | MathUtils::smootherStep (const X &x, const S &start, const E &end) |
| template<typename T > | |
| void | MathUtils::mooseSetToZero (T &v) |
| Helper function templates to set a variable to zero. More... | |
| template<typename T > | |
| void | MathUtils::mooseSetToZero (T *&) |
| template<> | |
| void | MathUtils::mooseSetToZero (std::vector< Real > &vec) |
| std::vector< std::vector< unsigned int > > | MathUtils::multiIndex (unsigned int dim, unsigned int order) |
| generate a complete multi index table for given dimension and order i.e. More... | |
| template<ComputeType compute_type, typename X , typename X1 , typename X2 , typename Y1 , typename Y2 > | |
| auto | MathUtils::linearInterpolation (const X &x, const X1 &x1, const X2 &x2, const Y1 &y1, const Y2 &y2) |
| template<typename T1 , typename T2 > | |
| std::size_t | MathUtils::euclideanMod (T1 dividend, T2 divisor) |
| perform modulo operator for Euclidean division that ensures a non-negative result More... | |
| template<typename T > | |
| T | MathUtils::gradName (const T &base_prop_name) |
| automatic prefixing for naming material properties based on gradients of coupled variables/functors More... | |
| template<typename T > | |
| T | MathUtils::timeDerivName (const T &base_prop_name) |
| automatic prefixing for naming material properties based on time derivatives of coupled variables/functors More... | |
| void | MathUtils::kron (RealEigenMatrix &product, const RealEigenMatrix &mat_A, const RealEigenMatrix &mat_B) |
| Computes the Kronecker product of two matrices. More... | |
| std::vector< std::vector< unsigned int > > | multiIndexHelper (unsigned int N, unsigned int K) |
| A helper function for MathUtils::multiIndex. More... | |
Variables | |
| static constexpr Real | MathUtils::sqrt2 = 1.4142135623730951 |
| std::sqrt is not constexpr, so we add sqrt(2) as a constant (used in Mandel notation) More... | |
A helper function for MathUtils::multiIndex.
Definition at line 333 of file MathUtils.C.
Referenced by MathUtils::multiIndex().
1.8.14