#include <tensor_tools.h>

Public Types | |
| typedef T | value_type |
| typedef unsigned int | index_type |
Public Member Functions | |
| TypeVector () | |
| template<typename T2 > | |
| TypeVector (const TypeVector< T2 > &p) | |
| ~TypeVector () | |
| template<typename T2 > | |
| void | assign (const TypeVector< T2 > &) |
| template<typename Scalar > | |
| boostcopy::enable_if_c< ScalarTraits< Scalar >::value, TypeVector & >::type | operator= (const Scalar &libmesh_dbg_var(p)) |
| const T & | operator() (const unsigned int i) const |
| const T & | slice (const unsigned int i) const |
| T & | operator() (const unsigned int i) |
| T & | slice (const unsigned int i) |
| template<typename T2 > | |
| TypeVector< typename CompareTypes< T, T2 >::supertype > | operator+ (const TypeVector< T2 > &) const |
| template<typename T2 > | |
| const TypeVector< T > & | operator+= (const TypeVector< T2 > &) |
| template<typename T2 > | |
| void | add (const TypeVector< T2 > &) |
| template<typename T2 > | |
| void | add_scaled (const TypeVector< T2 > &, const T) |
| template<typename T2 > | |
| TypeVector< typename CompareTypes< T, T2 >::supertype > | operator- (const TypeVector< T2 > &) const |
| template<typename T2 > | |
| const TypeVector< T > & | operator-= (const TypeVector< T2 > &) |
| template<typename T2 > | |
| void | subtract (const TypeVector< T2 > &) |
| template<typename T2 > | |
| void | subtract_scaled (const TypeVector< T2 > &, const T) |
| TypeVector< T > | operator- () const |
| template<typename Scalar > | |
| boostcopy::enable_if_c< ScalarTraits< Scalar >::value, TypeVector< typename CompareTypes< T, Scalar >::supertype > >::type | operator* (const Scalar) const |
| const TypeVector< T > & | operator*= (const T) |
| template<typename Scalar > | |
| boostcopy::enable_if_c< ScalarTraits< Scalar >::value, TypeVector< typename CompareTypes< T, Scalar >::supertype > >::type | operator/ (const Scalar) const |
| const TypeVector< T > & | operator/= (const T) |
| template<typename T2 > | |
| CompareTypes< T, T2 >::supertype | operator* (const TypeVector< T2 > &) const |
| template<typename T2 > | |
| CompareTypes< T, T2 >::supertype | contract (const TypeVector< T2 > &) const |
| template<typename T2 > | |
| TypeVector< typename CompareTypes< T, T2 >::supertype > | cross (const TypeVector< T2 > &v) const |
| TypeVector< T > | unit () const |
| Real | size () const |
| Real | norm () const |
| Real | size_sq () const |
| Real | norm_sq () const |
| void | zero () |
| bool | relative_fuzzy_equals (const TypeVector< T > &rhs, Real tol=TOLERANCE) const |
| bool | absolute_fuzzy_equals (const TypeVector< T > &rhs, Real tol=TOLERANCE) const |
| bool | operator== (const TypeVector< T > &rhs) const |
| bool | operator!= (const TypeVector< T > &rhs) const |
| bool | operator< (const TypeVector< T > &rhs) const |
| bool | operator<= (const TypeVector< T > &rhs) const |
| bool | operator> (const TypeVector< T > &rhs) const |
| bool | operator>= (const TypeVector< T > &rhs) const |
| void | print (std::ostream &os=libMesh::out) const |
| void | write_unformatted (std::ostream &out, const bool newline=true) const |
| template<> | |
| bool | operator< (const TypeVector< Complex > &rhs) const |
| template<> | |
| bool | operator<= (const TypeVector< Complex > &rhs) const |
| template<> | |
| bool | operator> (const TypeVector< Complex > &rhs) const |
| template<> | |
| bool | operator>= (const TypeVector< Complex > &rhs) const |
Protected Member Functions | |
| TypeVector (const T x, const T y=0, const T z=0) | |
| template<typename Scalar1 , typename Scalar2 , typename Scalar3 > | |
| TypeVector (typename boostcopy::enable_if_c< ScalarTraits< Scalar1 >::value, const Scalar1 >::type x, typename boostcopy::enable_if_c< ScalarTraits< Scalar2 >::value, const Scalar2 >::type y=0, typename boostcopy::enable_if_c< ScalarTraits< Scalar3 >::value, const Scalar3 >::type z=0) | |
| template<typename Scalar > | |
| TypeVector (const Scalar x, typename boostcopy::enable_if_c< ScalarTraits< Scalar >::value, const Scalar >::type *sfinae=nullptr) | |
Protected Attributes | |
| T | _coords [LIBMESH_DIM] |
Friends | |
| template<typename T2 > | |
| class | TypeVector |
| class | TypeTensor< T > |
| std::ostream & | operator<< (std::ostream &os, const TypeVector< T > &t) |
This class defines a vector in LIBMESH_DIM dimensional space of type T. T may either be Real or Complex. Instead use one of the derived types such as Point or Node.
Definition at line 30 of file tensor_tools.h.
| typedef unsigned int libMesh::TypeVector< T >::index_type |
Helper typedef for generic index programming
Definition at line 110 of file type_vector.h.
| typedef T libMesh::TypeVector< T >::value_type |
Helper typedef for C++98 generic programming
Definition at line 105 of file type_vector.h.
|
inline |
Empty constructor. Gives the vector 0 in LIBMESH_DIM dimensions.
Definition at line 421 of file type_vector.h.
|
inlineprotected |
Constructor-from-T. By default sets higher dimensional entries to 0.
Definition at line 438 of file type_vector.h.
|
inlineprotected |
Constructor-from-scalars. By default sets higher dimensional entries to 0.
Definition at line 461 of file type_vector.h.
|
inlineprotected |
Constructor-from-scalar. Sets higher dimensional entries to 0. Necessary because for some reason the constructor-from-scalars alone is insufficient to let the compiler figure out TypeVector<Complex> v = 0;
Definition at line 491 of file type_vector.h.
|
inline |
|
inline |
|
inline |
true if two vectors are equal to within an absolute tolerance of tol. Definition at line 965 of file type_vector.h.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::LocationMap< T >::find(), libMesh::Elem::parent_bracketing_nodes(), and libMesh::ReplicatedMesh::stitching_helper().
|
inline |
Add to this vector without creating a temporary.
Definition at line 603 of file type_vector.h.
Referenced by libMesh::Elem::centroid(), libMesh::FE< Dim, LAGRANGE_VEC >::inverse_map(), libMesh::LaplaceMeshSmoother::smooth(), and libMesh::MeshTools::Modification::smooth().
|
inline |
Add a scaled value to this vector without creating a temporary.
Definition at line 627 of file type_vector.h.
Referenced by libMesh::MeshRefinement::add_node(), libMesh::HPCoarsenTest::add_projection(), libMesh::System::calculate_norm(), libMesh::Elem::coarsen(), libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::gradient(), libMesh::InfFE< Dim, T_radial, T_map >::inverse_map(), libMesh::InfFE< Dim, T_radial, T_map >::map(), libMesh::FE< Dim, LAGRANGE_VEC >::map(), libMesh::FE< Dim, LAGRANGE_VEC >::map_eta(), libMesh::FE< Dim, LAGRANGE_VEC >::map_xi(), libMesh::FE< Dim, LAGRANGE_VEC >::map_zeta(), libMesh::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::Elem::parent_bracketing_nodes(), libMesh::System::point_gradient(), libMesh::HPCoarsenTest::select_refinement(), and libMesh::MeshTools::Modification::smooth().
|
inline |
|
inline |
Definition at line 872 of file type_vector.h.
| TypeVector< typename CompareTypes< T, T2 >::supertype > libMesh::TypeVector< T >::cross | ( | const TypeVector< T2 > & | v | ) | const |
v. Definition at line 882 of file type_vector.h.
Referenced by libMesh::FEXYZMap::compute_face_map(), libMesh::FEMap::compute_face_map(), libMesh::Plane::create_from_three_points(), and libMesh::Quad4::volume().
|
inline |
Definition at line 912 of file type_vector.h.
Referenced by libMesh::Sphere::above_surface(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::System::calculate_norm(), libMesh::InfPrism::contains_point(), libMesh::InfHex::contains_point(), libMesh::FE< Dim, LAGRANGE_VEC >::inverse_map(), libMesh::InfFE< Dim, T_radial, T_map >::inverse_map(), libMesh::Tri3::min_and_max_angle(), libMesh::Tet4::min_and_max_angle(), libMesh::Sphere::on_surface(), libMesh::Tri::quality(), libMesh::MeshTools::Modification::smooth(), and libMesh::Sphere::surface_coords().
|
inline |
Definition at line 943 of file type_vector.h.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::System::calculate_norm(), libMesh::InfQuad4::contains_point(), libMesh::InfPrism::contains_point(), libMesh::InfHex::contains_point(), libMesh::ExactErrorEstimator::find_squared_element_error(), libMesh::Elem::hmax(), libMesh::Elem::hmin(), libMesh::TensorTools::norm_sq(), libMesh::HPCoarsenTest::select_refinement(), libMesh::Sphere::Sphere(), and libMesh::Edge3::volume().
|
inline |
Definition at line 1037 of file type_vector.h.
|
inline |
|
inline |
entry of the vector. Definition at line 553 of file type_vector.h.
|
inline |
Multiply this vector by a scalar value.
Definition at line 739 of file type_vector.h.
|
inline |
Definition at line 850 of file type_vector.h.
|
inline |
Multiply this vector by a scalar value.
Definition at line 776 of file type_vector.h.
|
inline |
Add two vectors.
Definition at line 566 of file type_vector.h.
|
inline |
|
inline |
Subtract from this vector.
Definition at line 652 of file type_vector.h.
|
inline |
Definition at line 711 of file type_vector.h.
|
inline |
Subtract from this vector.
Definition at line 678 of file type_vector.h.
|
inline |
Divide each entry of this vector by scalar value.
Definition at line 804 of file type_vector.h.
|
inline |
Divide each entry of this vector by scalar value.
Definition at line 833 of file type_vector.h.
| bool libMesh::TypeVector< Complex >::operator< | ( | const TypeVector< Complex > & | rhs | ) | const |
Definition at line 167 of file type_vector.C.
| bool libMesh::TypeVector< T >::operator< | ( | const TypeVector< T > & | rhs | ) | const |
true if this vector is "less" than rhs.Useful for sorting. Also used for choosing some arbitrary basis function orientations.
Definition at line 109 of file type_vector.C.
| bool libMesh::TypeVector< Complex >::operator<= | ( | const TypeVector< Complex > & | rhs | ) | const |
Definition at line 186 of file type_vector.C.
| bool libMesh::TypeVector< T >::operator<= | ( | const TypeVector< T > & | rhs | ) | const |
true if this vector is <= to rhs.Useful for sorting. Also used for choosing some arbitrary constraint equation directions.
Definition at line 123 of file type_vector.C.
|
inline |
Assignment-from-scalar operator. Used only to zero out vectors.
Definition at line 136 of file type_vector.h.
|
inline |
true if this(i)==rhs(i) for each component of the vector.absolute_fuzzy_equals() may be a more appropriate choice. Definition at line 1015 of file type_vector.h.
| bool libMesh::TypeVector< Complex >::operator> | ( | const TypeVector< Complex > & | rhs | ) | const |
Definition at line 205 of file type_vector.C.
| bool libMesh::TypeVector< T >::operator> | ( | const TypeVector< T > & | rhs | ) | const |
true if this vector is "greater" than rhs.Useful for sorting. Also used for choosing some arbitrary basis function orientations.
Definition at line 138 of file type_vector.C.
| bool libMesh::TypeVector< Complex >::operator>= | ( | const TypeVector< Complex > & | rhs | ) | const |
Definition at line 224 of file type_vector.C.
| bool libMesh::TypeVector< T >::operator>= | ( | const TypeVector< T > & | rhs | ) | const |
true if this vector is >= rhs.Useful for sorting. Also used for choosing some arbitrary constraint equation directions.
Definition at line 152 of file type_vector.C.
| void libMesh::TypeVector< T >::print | ( | std::ostream & | os = libMesh::out | ) | const |
|
inline |
true if two vectors are equal to within a relative tolerance of tol. Definition at line 990 of file type_vector.h.
Referenced by libMesh::Quad4::has_affine_map(), libMesh::Prism6::has_affine_map(), libMesh::Quad8::has_affine_map(), libMesh::Quad9::has_affine_map(), libMesh::Hex8::has_affine_map(), libMesh::Hex27::has_affine_map(), libMesh::Hex20::has_affine_map(), libMesh::Prism18::has_affine_map(), libMesh::Prism15::has_affine_map(), libMesh::Quad4::volume(), and libMesh::Tri6::volume().
|
inline |
Definition at line 901 of file type_vector.h.
Referenced by libMesh::DofMap::allgather_recursive_constraints(), libMesh::DofMap::get_info(), libMesh::FEInterface::inverse_map(), libMesh::FE< Dim, LAGRANGE_VEC >::inverse_map(), libMesh::InfFE< Dim, T_radial, T_map >::inverse_map(), and libMesh::DofMap::scatter_constraints().
|
inline |
Definition at line 932 of file type_vector.h.
|
inline |
Definition at line 143 of file type_vector.h.
|
inline |
Definition at line 149 of file type_vector.h.
|
inline |
Subtract from this vector without creating a temporary.
Definition at line 690 of file type_vector.h.
|
inline |
Subtract a scaled value from this vector without creating a temporary.
Definition at line 701 of file type_vector.h.
Referenced by libMesh::HPCoarsenTest::select_refinement().
| TypeVector< T > libMesh::TypeVector< T >::unit | ( | ) | const |
Definition at line 37 of file type_vector.C.
Referenced by libMesh::FEXYZMap::compute_face_map(), libMesh::FEMap::compute_face_map(), libMesh::Plane::create_from_point_normal(), libMesh::Plane::create_from_three_points(), libMesh::MeshTools::Modification::distort(), and libMesh::Sphere::unit_normal().
| void libMesh::TypeVector< T >::write_unformatted | ( | std::ostream & | out, |
| const bool | newline = true |
||
| ) | const |
Unformatted print to the stream out. Simply prints the elements of the vector separated by spaces. Also prints a newline by default, however, this behavior can be controlled with the newline parameter.
Definition at line 92 of file type_vector.C.
Referenced by libMesh::InfElemBuilder::build_inf_elem(), and libMesh::TecplotIO::write_ascii().
|
inline |
Set all entries of the vector to 0.
Definition at line 921 of file type_vector.h.
Referenced by libMesh::VectorValue< Real >::operator=(), and libMesh::TypeVector< Real >::operator=().
|
friend |
Formatted print as above but supports the syntax:
Definition at line 390 of file type_vector.h.
|
friend |
Definition at line 55 of file type_vector.h.
Definition at line 53 of file type_vector.h.
|
protected |
The coordinates of the TypeVector.
Definition at line 409 of file type_vector.h.
Referenced by libMesh::TypeTensor< T >::row().