libMesh
|
Class that encapsulates mapping (i.e. More...
#include <inf_fe_map.h>
Static Public Member Functions | |
static Point | map (const unsigned int dim, const Elem *inf_elem, const Point &reference_point) |
static Point | inverse_map (const unsigned int dim, const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true) |
static void | inverse_map (const unsigned int dim, const Elem *elem, const std::vector< Point > &physical_points, std::vector< Point > &reference_points, const Real tolerance=TOLERANCE, const bool secure=true) |
Takes a number points in physical space (in the physical_points vector) and finds their location on the reference element for the input element elem . More... | |
static Real | eval (Real v, Order o, unsigned int i) |
static Real | eval_deriv (Real v, Order o, unsigned int i) |
Class that encapsulates mapping (i.e.
from physical space to reference space and vice-versa) operations on infinite elements.
Definition at line 47 of file inf_fe_map.h.
v
. This method provides the approximation in radial direction for the overall shape functions, which is defined in InfFE::shape()
. This method is allowed to be static, since it is independent of dimension and base_family. It is templated, though, w.r.t. to radial FEFamily
.v
when T_radial == INFINITE_MAP. Currently, only one specific mapping shape is used. Namely the one by Marques JMMC, Owen DRJ: Infinite elements in quasi-static materially nonlinear problems, Computers and Structures, 1984. Definition at line 27 of file inf_fe_map_eval.C.
References libMesh::libmesh_assert().
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::eval(), and map().
v
. See eval
for details. Definition at line 45 of file inf_fe_map_eval.C.
References libMesh::libmesh_assert().
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::eval_deriv().
|
static |
p
located in physical space. First, the location in the base face is computed. This requires inverting the (possibly nonlinear) transformation map in the base, so it is not trivial. The optional parameter tolerance
defines how close is "good enough." The map inversion iteration computes the sequence \( \{ p_n \} \), and the iteration is terminated when \( \|p - p_n\| < \mbox{\texttt{tolerance}} \). Once the base face point is determined, the radial local coordinate is directly evaluated. If interpolated
is true, the interpolated distance from the base element to the infinite element origin is used for the map in radial direction. Definition at line 96 of file inf_fe_map.C.
References libMesh::TypeVector< T >::add_scaled(), libMesh::InfFEBase::build_elem(), dim, libMesh::FEMap::inverse_map(), libMesh::libmesh_assert(), libMesh::libmesh_isinf(), map(), libMesh::FE< Dim, T >::n_shape_functions(), libMesh::TypeVector< T >::norm(), libMesh::Elem::origin(), libMesh::Real, libMesh::FE< Dim, T >::shape(), libMesh::FE< Dim, T >::shape_deriv(), libMesh::TypeTensor< T >::solve(), and libMesh::TOLERANCE.
Referenced by libMesh::InfQuad4::contains_point(), libMesh::InfPrism::contains_point(), libMesh::InfHex::contains_point(), inverse_map(), libMesh::FEMap::inverse_map(), and libMesh::InfFE< Dim, T_radial, T_map >::inverse_map().
|
static |
Takes a number points in physical space (in the physical_points
vector) and finds their location on the reference element for the input element elem
.
The values on the reference element are returned in the vector reference_points
Definition at line 310 of file inf_fe_map.C.
References dim, and inverse_map().
|
static |
p
located on the reference element. Definition at line 40 of file inf_fe_map.C.
References libMesh::TypeVector< T >::add_scaled(), libMesh::InfFEBase::build_elem(), dim, eval(), libMesh::libmesh_assert(), libMesh::FEMap::map(), libMesh::InfFERadial::mapping_order(), libMesh::Elem::origin(), libMesh::Elem::point(), and libMesh::Real.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_functions(), inverse_map(), libMesh::FEMap::map(), and libMesh::InfFE< Dim, T_radial, T_map >::map().