Go to the documentation of this file.
25 #ifndef LOCATION_NORMAL_HPP_INCLUDED
26 #define LOCATION_NORMAL_HPP_INCLUDED
28 #include "../core/element.hpp"
36 template <
class Space>
43 typedef typename space_t::location_t
x_t;
51 template <
class elem_t>
78 template <
class Space>
86 typedef typename space_t::location_t
x_t;
94 template <
class elem_t>
97 , m_jac_vector(elem.get_normal(xi))
98 , m_jac(m_jac_vector.norm())
99 , m_unit_normal(m_jac_vector / m_jac)
109 , m_jac_vector(jac_vector)
110 , m_jac(m_jac_vector.norm())
111 , m_unit_normal(m_jac_vector / m_jac)
118 return m_unit_normal;
144 template <
class Space>
154 typedef typename space_t::location_t location_t;
160 template <
class elem_t>
163 m_jac(elem.get_dx(xi).determinant())
187 typedef location_input<space_1d<> > location_input_1d;
188 typedef location_input<space_2d<> > location_input_2d;
189 typedef location_input<space_3d<> > location_input_3d;
191 typedef location_normal_jacobian_input<space_2d<> > location_normal_input_2d;
192 typedef location_normal_jacobian_input<space_3d<> > location_normal_input_3d;
197 #endif // LOCATION_NORMAL_HPP_INCLUDED
space_t::scalar_t scalar_t
the scalar type
class describing a volume element that has no normal vector
a class representing a Jacobian input used for volume elements
location_normal_jacobian_input(elem_t const &elem, typename elem_t::xi_t const &xi)
constructor
Space space_t
template parameter as nested type
space_t::location_t x_t
the location type
a class representing a normal + Jacobian input
Space space_t
template parameter as nested type
const scalar_t & get_jacobian(void) const
return the Jacobian
Space space_t
template parameter as nested type
space_t::scalar_t scalar_t
the scalar type
location_input(x_t const &x)
constructor from location
location_volume_jacobian_input(location_t const &x, scalar_t const &jac)
constructor
location_volume_jacobian_input(elem_t const &elem, typename elem_t::xi_t const &xi)
constructor
space_t::scalar_t scalar_t
the scalar type
const x_t & get_x(void) const
return the location
const x_t & get_jacobian_vector() const
return the jacobian
location_normal_jacobian_input(x_t const &x, x_t const &jac_vector)
constructor from location and jacobian vector
domain_t::xi_t xi_t
type of the shape functions' independent variable
space_t::location_t x_t
the location type
location_input(elem_t const &elem, typename elem_t::xi_t const &xi)
constructor
const scalar_t & get_jacobian(void) const
return the Jacobian
a class representing a simple location
const x_t & get_unit_normal(void) const
return the unit normal vector