Go to the documentation of this file.
20 #ifndef LIBMESH_VECTOR_VALUE_H
21 #define LIBMESH_VECTOR_VALUE_H
24 #include "libmesh/type_vector.h"
41 class VectorValue :
public TypeVector<T>
63 template <
typename Scalar1,
typename Scalar2,
typename Scalar3>
66 const Scalar1>::type & x,
69 const Scalar2>::type & y = 0,
72 const Scalar3>::type & z = 0);
81 template <
typename Scalar>
85 const Scalar>::type * sfinae =
nullptr);
91 template <
typename T2>
97 template <
typename T2>
100 #ifdef LIBMESH_USE_COMPLEX_NUMBERS
107 const TypeVector<Real> & p_im);
113 template <
typename Scalar>
114 typename boostcopy::enable_if_c<
118 { libmesh_assert_equal_to (p, Scalar(0)); this->
zero();
return *
this; }
137 template <
typename T>
145 template <
typename T>
156 template <
typename T>
157 template <
typename Scalar1,
typename Scalar2,
typename Scalar3>
161 const Scalar1>::type & x,
164 const Scalar2>::type & y,
167 const Scalar3>::type & z) :
173 template <
typename T>
174 template <
typename Scalar>
179 const Scalar>::type * ) :
184 template <
typename T>
185 template <
typename T2>
194 template <
typename T>
195 template <
typename T2>
202 #ifdef LIBMESH_USE_COMPLEX_NUMBERS
203 template <
typename T>
217 #endif // LIBMESH_VECTOR_VALUE_H
RealVectorValue RealGradient
The libMesh namespace provides an interface to certain functionality in the library.
void zero()
Set all entries of the vector to 0.
VectorValue< Real > RealVectorValue
Useful typedefs to allow transparent switching between Real and Complex data types.
This class defines a vector in LIBMESH_DIM dimensional Real or Complex space.
VectorValue()
Empty constructor.
std::complex< Real > Complex
NumberVectorValue Gradient
VectorValue< Number > NumberVectorValue
boostcopy::enable_if_c< ScalarTraits< Scalar >::value, VectorValue & >::type operator=(const Scalar &libmesh_dbg_var(p))
Assignment-from-scalar operator.
This class defines a vector in LIBMESH_DIM dimensional space of type T.