libMesh::FE< Dim, T > Class Template Reference

Template class which generates the different FE families and orders. More...

#include <fe.h>

Inheritance diagram for libMesh::FE< Dim, T >:

Public Types

typedef FEGenericBase< typename FEOutputType< T >::type >::OutputShape OutputShape
 
typedef TensorTools::IncrementRank< OutputShape >::type OutputGradient
 
typedef TensorTools::IncrementRank< OutputGradient >::type OutputTensor
 
typedef TensorTools::DecrementRank< OutputShape >::type OutputDivergence
 
typedef TensorTools::MakeNumber< OutputShape >::type OutputNumber
 
typedef TensorTools::IncrementRank< OutputNumber >::type OutputNumberGradient
 
typedef TensorTools::IncrementRank< OutputNumberGradient >::type OutputNumberTensor
 
typedef TensorTools::DecrementRank< OutputNumber >::type OutputNumberDivergence
 

Public Member Functions

 FE (const FEType &fet)
 
virtual unsigned int n_shape_functions () const libmesh_override
 
virtual FEContinuity get_continuity () const libmesh_override
 
virtual bool is_hierarchic () const libmesh_override
 
virtual void reinit (const Elem *elem, const std::vector< Point > *const pts=libmesh_nullptr, const std::vector< Real > *const weights=libmesh_nullptr) libmesh_override
 
virtual void reinit (const Elem *elem, const unsigned int side, const Real tolerance=TOLERANCE, const std::vector< Point > *const pts=libmesh_nullptr, const std::vector< Real > *const weights=libmesh_nullptr) libmesh_override
 
virtual void edge_reinit (const Elem *elem, const unsigned int edge, const Real tolerance=TOLERANCE, const std::vector< Point > *const pts=libmesh_nullptr, const std::vector< Real > *const weights=libmesh_nullptr) libmesh_override
 
virtual void side_map (const Elem *elem, const Elem *side, const unsigned int s, const std::vector< Point > &reference_side_points, std::vector< Point > &reference_points) libmesh_override
 
virtual void attach_quadrature_rule (QBase *q) libmesh_override
 
virtual unsigned int n_quadrature_points () const libmesh_override
 
virtual bool shapes_need_reinit () const libmesh_override
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order order, const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *libmesh_dbg_var(elem), const Order, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *libmesh_dbg_var(elem), const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *libmesh_dbg_var(elem), const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order order, const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order order, const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order order, const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order order, const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
RealGradient shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
void nodal_soln (const Elem *, const Order, const std::vector< Number > &, std::vector< Number > &)
 
template<>
void nodal_soln (const Elem *, const Order, const std::vector< Number > &, std::vector< Number > &)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType, const Order)
 
template<>
unsigned int n_dofs (const ElemType, const Order)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
RealGradient shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
RealGradient shape (const Elem *, const Order, const unsigned int, const Point &)
 
template<>
RealGradient shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
RealGradient shape (const Elem *, const Order, const unsigned int, const Point &)
 
template<>
RealGradient shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
RealGradient shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &)
 
template<>
RealGradient shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_second_deriv (const Elem *elem, const Order order, const unsigned int libmesh_dbg_var(i), const unsigned int libmesh_dbg_var(j), const Point &)
 
template<>
RealGradient shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
RealGradient shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
RealGradient shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
RealGradient shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
RealGradient shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &libmesh_dbg_var(p))
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType, const Order o)
 
template<>
unsigned int n_dofs (const ElemType, const Order o)
 
template<>
unsigned int n_dofs (const ElemType, const Order o)
 
template<>
unsigned int n_dofs (const ElemType, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType type, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType type, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
void nodal_soln (const Elem *elem, const Order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void side_map (const Elem *, const Elem *, const unsigned int, const std::vector< Point > &, std::vector< Point > &)
 
template<>
void edge_reinit (Elem const *, unsigned int, Real, const std::vector< Point > *const, const std::vector< Real > *const)
 
template<>
Point inverse_map (const Elem *, const Point &, const Real, const bool)
 
template<>
void inverse_map (const Elem *, const std::vector< Point > &, std::vector< Point > &, Real, bool)
 
template<>
unsigned int n_dofs (const ElemType, const Order)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_per_elem (const ElemType, const Order)
 
template<>
void dofs_on_side (const Elem *const, const Order, unsigned int, std::vector< unsigned int > &di)
 
template<>
void dofs_on_edge (const Elem *const, const Order, unsigned int, std::vector< unsigned int > &di)
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool shapes_need_reinit () const
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const Point &p)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
void nodal_soln (const Elem *elem, const Order order, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_at_node (const ElemType, const Order, const unsigned int)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
FEContinuity get_continuity () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
bool is_hierarchic () const
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
void compute_constraints (DofConstraints &, DofMap &, const unsigned int, const Elem *)
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
bool shapes_need_reinit () const
 
template<>
Real shape (const ElemType, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape (const Elem *, const Order, const unsigned int libmesh_dbg_var(i), const Point &)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const Point &point_in)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &point_in)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int libmesh_dbg_var(j), const Point &point_in)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const Point &point_in)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &point_in)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &point_in)
 
template<>
Real shape (const ElemType, const Order, const unsigned int, const Point &)
 
template<>
Real shape (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const Point &point_in)
 
template<>
Real shape_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &point_in)
 
template<>
Real shape_second_deriv (const ElemType, const Order, const unsigned int, const unsigned int, const Point &)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order libmesh_dbg_var(order), const unsigned int i, const unsigned int j, const Point &point_in)
 
template<>
Real shape (const Elem *elem, const Order order, const unsigned int i, const Point &p)
 
template<>
Real shape_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
template<>
Real shape_second_deriv (const Elem *elem, const Order order, const unsigned int i, const unsigned int j, const Point &p)
 
const std::vector< std::vector< OutputShape > > & get_phi () const
 
const std::vector< std::vector< OutputGradient > > & get_dphi () const
 
const std::vector< std::vector< OutputShape > > & get_curl_phi () const
 
const std::vector< std::vector< OutputDivergence > > & get_div_phi () const
 
const std::vector< std::vector< OutputShape > > & get_dphidx () const
 
const std::vector< std::vector< OutputShape > > & get_dphidy () const
 
const std::vector< std::vector< OutputShape > > & get_dphidz () const
 
const std::vector< std::vector< OutputShape > > & get_dphidxi () const
 
const std::vector< std::vector< OutputShape > > & get_dphideta () const
 
const std::vector< std::vector< OutputShape > > & get_dphidzeta () const
 
const std::vector< std::vector< OutputTensor > > & get_d2phi () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidx2 () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidxdy () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidxdz () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidy2 () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidydz () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidz2 () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidxi2 () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidxideta () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidxidzeta () const
 
const std::vector< std::vector< OutputShape > > & get_d2phideta2 () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidetadzeta () const
 
const std::vector< std::vector< OutputShape > > & get_d2phidzeta2 () const
 
const std::vector< OutputGradient > & get_dphase () const
 
const std::vector< Real > & get_Sobolev_weight () const
 
const std::vector< RealGradient > & get_Sobolev_dweight () const
 
void print_phi (std::ostream &os) const
 
void print_dphi (std::ostream &os) const
 
void print_d2phi (std::ostream &os) const
 
const std::vector< Point > & get_xyz () const
 
const std::vector< Real > & get_JxW () const
 
const std::vector< RealGradient > & get_dxyzdxi () const
 
const std::vector< RealGradient > & get_dxyzdeta () const
 
const std::vector< RealGradient > & get_dxyzdzeta () const
 
const std::vector< RealGradient > & get_d2xyzdxi2 () const
 
const std::vector< RealGradient > & get_d2xyzdeta2 () const
 
const std::vector< RealGradient > & get_d2xyzdzeta2 () const
 
const std::vector< RealGradient > & get_d2xyzdxideta () const
 
const std::vector< RealGradient > & get_d2xyzdxidzeta () const
 
const std::vector< RealGradient > & get_d2xyzdetadzeta () const
 
const std::vector< Real > & get_dxidx () const
 
const std::vector< Real > & get_dxidy () const
 
const std::vector< Real > & get_dxidz () const
 
const std::vector< Real > & get_detadx () const
 
const std::vector< Real > & get_detady () const
 
const std::vector< Real > & get_detadz () const
 
const std::vector< Real > & get_dzetadx () const
 
const std::vector< Real > & get_dzetady () const
 
const std::vector< Real > & get_dzetadz () const
 
const std::vector< std::vector< Point > > & get_tangents () const
 
const std::vector< Point > & get_normals () const
 
const std::vector< Real > & get_curvatures () const
 
ElemType get_type () const
 
unsigned int get_p_level () const
 
FEType get_fe_type () const
 
Order get_order () const
 
void set_fe_order (int new_order)
 
FEFamily get_family () const
 
const FEMapget_fe_map () const
 
void print_JxW (std::ostream &os) const
 
void print_xyz (std::ostream &os) const
 
void print_info (std::ostream &os) const
 

Static Public Member Functions

static OutputShape shape (const ElemType t, const Order o, const unsigned int i, const Point &p)
 
static OutputShape shape (const Elem *elem, const Order o, const unsigned int i, const Point &p)
 
static OutputShape shape_deriv (const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
 
static OutputShape shape_deriv (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p)
 
static OutputShape shape_second_deriv (const ElemType t, const Order o, const unsigned int i, const unsigned int j, const Point &p)
 
static OutputShape shape_second_deriv (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p)
 
static void nodal_soln (const Elem *elem, const Order o, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln)
 
static unsigned int n_shape_functions (const ElemType t, const Order o)
 
static unsigned int n_dofs (const ElemType t, const Order o)
 
static unsigned int n_dofs_at_node (const ElemType t, const Order o, const unsigned int n)
 
static unsigned int n_dofs_per_elem (const ElemType t, const Order o)
 
static void dofs_on_side (const Elem *const elem, const Order o, unsigned int s, std::vector< unsigned int > &di)
 
static void dofs_on_edge (const Elem *const elem, const Order o, unsigned int e, std::vector< unsigned int > &di)
 
static Point inverse_map (const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true)
 
static void inverse_map (const Elem *elem, const std::vector< Point > &physical_points, std::vector< Point > &reference_points, const Real tolerance=TOLERANCE, const bool secure=true)
 
static void compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
static Point map (const Elem *elem, const Point &reference_point)
 
static Point map_xi (const Elem *elem, const Point &reference_point)
 
static Point map_eta (const Elem *elem, const Point &reference_point)
 
static Point map_zeta (const Elem *elem, const Point &reference_point)
 
static UniquePtr< FEGenericBasebuild (const unsigned int dim, const FEType &type)
 
static UniquePtr< FEGenericBasebuild_InfFE (const unsigned int dim, const FEType &type)
 
static void compute_proj_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
 
static void coarsened_dof_values (const NumericVector< Number > &global_vector, const DofMap &dof_map, const Elem *coarse_elem, DenseVector< Number > &coarse_dofs, const unsigned int var, const bool use_old_dof_indices=false)
 
static void coarsened_dof_values (const NumericVector< Number > &global_vector, const DofMap &dof_map, const Elem *coarse_elem, DenseVector< Number > &coarse_dofs, const bool use_old_dof_indices=false)
 
static void compute_periodic_constraints (DofConstraints &constraints, DofMap &dof_map, const PeriodicBoundaries &boundaries, const MeshBase &mesh, const PointLocatorBase *point_locator, const unsigned int variable_number, const Elem *elem)
 
static bool on_reference_element (const Point &p, const ElemType t, const Real eps=TOLERANCE)
 
static void get_refspace_nodes (const ElemType t, std::vector< Point > &nodes)
 
static void compute_node_constraints (NodeConstraints &constraints, const Elem *elem)
 
static void compute_periodic_node_constraints (NodeConstraints &constraints, const PeriodicBoundaries &boundaries, const MeshBase &mesh, const PointLocatorBase *point_locator, const Elem *elem)
 
static void print_info (std::ostream &out=libMesh::out)
 
static std::string get_info ()
 
static unsigned int n_objects ()
 
static void enable_print_counter_info ()
 
static void disable_print_counter_info ()
 

Protected Types

typedef std::map< std::string, std::pair< unsigned int, unsigned int > > Counts
 

Protected Member Functions

virtual void init_shape_functions (const std::vector< Point > &qp, const Elem *e)
 
virtual void init_base_shape_functions (const std::vector< Point > &qp, const Elem *e) libmesh_override
 
void determine_calculations ()
 
virtual void compute_shape_functions (const Elem *elem, const std::vector< Point > &qp)
 
void increment_constructor_count (const std::string &name)
 
void increment_destructor_count (const std::string &name)
 

Protected Attributes

std::vector< Pointcached_nodes
 
ElemType last_side
 
unsigned int last_edge
 
UniquePtr< FETransformationBase< FEOutputType< T >::type > > _fe_trans
 
std::vector< std::vector< OutputShape > > phi
 
std::vector< std::vector< OutputGradient > > dphi
 
std::vector< std::vector< OutputShape > > curl_phi
 
std::vector< std::vector< OutputDivergence > > div_phi
 
std::vector< std::vector< OutputShape > > dphidxi
 
std::vector< std::vector< OutputShape > > dphideta
 
std::vector< std::vector< OutputShape > > dphidzeta
 
std::vector< std::vector< OutputShape > > dphidx
 
std::vector< std::vector< OutputShape > > dphidy
 
std::vector< std::vector< OutputShape > > dphidz
 
std::vector< std::vector< OutputTensor > > d2phi
 
std::vector< std::vector< OutputShape > > d2phidxi2
 
std::vector< std::vector< OutputShape > > d2phidxideta
 
std::vector< std::vector< OutputShape > > d2phidxidzeta
 
std::vector< std::vector< OutputShape > > d2phideta2
 
std::vector< std::vector< OutputShape > > d2phidetadzeta
 
std::vector< std::vector< OutputShape > > d2phidzeta2
 
std::vector< std::vector< OutputShape > > d2phidx2
 
std::vector< std::vector< OutputShape > > d2phidxdy
 
std::vector< std::vector< OutputShape > > d2phidxdz
 
std::vector< std::vector< OutputShape > > d2phidy2
 
std::vector< std::vector< OutputShape > > d2phidydz
 
std::vector< std::vector< OutputShape > > d2phidz2
 
std::vector< OutputGradientdphase
 
std::vector< RealGradientdweight
 
std::vector< Realweight
 
UniquePtr< FEMap_fe_map
 
const unsigned int dim
 
bool calculations_started
 
bool calculate_phi
 
bool calculate_dphi
 
bool calculate_d2phi
 
bool calculate_curl_phi
 
bool calculate_div_phi
 
bool calculate_dphiref
 
FEType fe_type
 
ElemType elem_type
 
unsigned int _p_level
 
QBaseqrule
 
bool shapes_on_quadrature
 

Static Protected Attributes

static Counts _counts
 
static Threads::atomic< unsigned int > _n_objects
 
static Threads::spin_mutex _mutex
 
static bool _enable_print_counter = true
 

Friends

template<unsigned int friend_Dim, FEFamily friend_T_radial, InfMapType friend_T_map>
class InfFE
 

Detailed Description

template<unsigned int Dim, FEFamily T>
class libMesh::FE< Dim, T >

Template class which generates the different FE families and orders.

A specific instatiation of the FEBase class. This class is templated, and specific template instantiations will result in different Finite Element families. Full specialization of the template for specific dimensions(Dim) and families (T) provide support for specific finite element types. The use of templates allows for compile-time optimization, however it requires that the specific finite element family and dimension is also known at compile time. If this is too restricting for your application you can use the FEBase::build() member to create abstract (but still optimized) finite elements.

Author
Benjamin S. Kirk
Date
2002-2007

Definition at line 89 of file fe.h.

Member Typedef Documentation

typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts
protectedinherited

Data structure to log the information. The log is identified by the class name.

Definition at line 119 of file reference_counter.h.

Definition at line 123 of file fe_base.h.

Definition at line 121 of file fe_base.h.

Definition at line 124 of file fe_base.h.

Definition at line 127 of file fe_base.h.

Definition at line 125 of file fe_base.h.

Definition at line 126 of file fe_base.h.

template<unsigned int Dim, FEFamily T>
typedef FEGenericBase<typename FEOutputType<T>::type>::OutputShape libMesh::FE< Dim, T >::OutputShape

Definition at line 101 of file fe.h.

Definition at line 122 of file fe_base.h.

Constructor & Destructor Documentation

template<unsigned int Dim, FEFamily T>
libMesh::FE< Dim, T >::FE ( const FEType fet)
inlineexplicit

Constructor.

Definition at line 1052 of file fe.h.

References libMesh::FEAbstract::get_family().

1052  :
1053  FEGenericBase<typename FEOutputType<T>::type> (Dim,fet),
1056 {
1057  // Sanity check. Make sure the
1058  // Family specified in the template instantiation
1059  // matches the one in the FEType object
1060  libmesh_assert_equal_to (T, this->get_family());
1061 }
unsigned int last_edge
Definition: fe.h:482
const unsigned int invalid_uint
Definition: libmesh.h:184
FEFamily get_family() const
Definition: fe_abstract.h:441
ElemType last_side
Definition: fe.h:480

Member Function Documentation

template<unsigned int Dim, FEFamily T>
void libMesh::FE< Dim, T >::attach_quadrature_rule ( QBase q)
virtual

Provides the class with the quadrature rule, which provides the locations (on a reference element) where the shape functions are to be calculated.

Implements libMesh::FEAbstract.

Reimplemented in libMesh::FESubdivision.

Definition at line 44 of file fe.C.

References libMesh::INVALID_ELEM, and libMesh::libmesh_assert().

45 {
46  libmesh_assert(q);
47  this->qrule = q;
48  // make sure we don't cache results from a previous quadrature rule
49  this->elem_type = INVALID_ELEM;
50  return;
51 }
libmesh_assert(j)
static UniquePtr<FEGenericBase> libMesh::FEGenericBase< FEOutputType< T >::type >::build ( const unsigned int  dim,
const FEType type 
)
staticinherited

Builds a specific finite element type. A UniquePtr<FEGenericBase> is returned to prevent a memory leak. This way the user need not remember to delete the object.

The build call will fail if the OutputType of this class is not compatible with the output required for the requested type

static UniquePtr<FEGenericBase> libMesh::FEGenericBase< FEOutputType< T >::type >::build_InfFE ( const unsigned int  dim,
const FEType type 
)
staticinherited

Builds a specific infinite element type. A UniquePtr<FEGenericBase> is returned to prevent a memory leak. This way the user need not remember to delete the object.

The build call will fail if the OutputShape of this class is not compatible with the output required for the requested type

static void libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values ( const NumericVector< Number > &  global_vector,
const DofMap dof_map,
const Elem coarse_elem,
DenseVector< Number > &  coarse_dofs,
const unsigned int  var,
const bool  use_old_dof_indices = false 
)
staticinherited

Creates a local projection on coarse_elem, based on the DoF values in global_vector for it's children. Computes a vector of coefficients corresponding to dof_indices for only the single given var

static void libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values ( const NumericVector< Number > &  global_vector,
const DofMap dof_map,
const Elem coarse_elem,
DenseVector< Number > &  coarse_dofs,
const bool  use_old_dof_indices = false 
)
staticinherited

Creates a local projection on coarse_elem, based on the DoF values in global_vector for it's children. Computes a vector of coefficients corresponding to all dof_indices.

template<>
void libMesh::FE< 2, SCALAR >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 122 of file fe_scalar.C.

126 { }
template<>
void libMesh::FE< 3, SCALAR >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 129 of file fe_scalar.C.

133 { }
template<>
void libMesh::FE< 2, L2_HIERARCHIC >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 208 of file fe_l2_hierarchic.C.

212 { }
template<>
void libMesh::FE< 3, L2_HIERARCHIC >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 215 of file fe_l2_hierarchic.C.

219 { }
template<>
void libMesh::FE< 2, CLOUGH >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 313 of file fe_clough.C.

317 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 3, CLOUGH >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 320 of file fe_clough.C.

324 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 2, HERMITE >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 354 of file fe_hermite.C.

358 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 3, HERMITE >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 361 of file fe_hermite.C.

365 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 2, HIERARCHIC >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 381 of file fe_hierarchic.C.

385 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 3, HIERARCHIC >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 388 of file fe_hierarchic.C.

392 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<unsigned int Dim, FEFamily T>
static void libMesh::FE< Dim, T >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)
static

Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number, using element-specific optimizations if possible.

Referenced by libMesh::FEInterface::compute_constraints().

template<>
void libMesh::FE< 2, MONOMIAL >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 417 of file fe_monomial.C.

417 {}
template<>
void libMesh::FE< 3, MONOMIAL >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 418 of file fe_monomial.C.

418 {}
template<>
void libMesh::FE< 2, BERNSTEIN >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 444 of file fe_bernstein.C.

448 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 3, BERNSTEIN >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 451 of file fe_bernstein.C.

455 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 2, L2_LAGRANGE >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 496 of file fe_l2_lagrange.C.

500 { }
template<>
void libMesh::FE< 3, L2_LAGRANGE >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 503 of file fe_l2_lagrange.C.

507 { }
template<>
void libMesh::FE< 0, NEDELEC_ONE >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 569 of file fe_nedelec_one.C.

573 { NEDELEC_LOW_D_ERROR_MESSAGE }
template<>
void libMesh::FE< 1, NEDELEC_ONE >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 576 of file fe_nedelec_one.C.

580 { NEDELEC_LOW_D_ERROR_MESSAGE }
template<>
void libMesh::FE< 2, NEDELEC_ONE >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 583 of file fe_nedelec_one.C.

587 { nedelec_one_compute_constraints(constraints, dof_map, variable_number, elem, /*Dim=*/2); }
template<>
void libMesh::FE< 3, NEDELEC_ONE >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 590 of file fe_nedelec_one.C.

594 { nedelec_one_compute_constraints(constraints, dof_map, variable_number, elem, /*Dim=*/3); }
template<>
void libMesh::FE< 2, LAGRANGE >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 901 of file fe_lagrange.C.

905 { lagrange_compute_constraints(constraints, dof_map, variable_number, elem, /*Dim=*/2); }
template<>
void libMesh::FE< 3, LAGRANGE >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 908 of file fe_lagrange.C.

912 { lagrange_compute_constraints(constraints, dof_map, variable_number, elem, /*Dim=*/3); }
template<>
void libMesh::FE< 2, XYZ >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 932 of file fe_xyz.C.

932 {}
template<>
void libMesh::FE< 3, XYZ >::compute_constraints ( DofConstraints ,
DofMap ,
const unsigned  int,
const Elem  
)

Definition at line 933 of file fe_xyz.C.

933 {}
template<>
void libMesh::FE< 2, LAGRANGE_VEC >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 950 of file fe_lagrange_vec.C.

References libMesh::FEGenericBase< OutputType >::compute_proj_constraints().

954 { //libmesh_not_implemented();
955  FEVectorBase::compute_proj_constraints(constraints, dof_map, variable_number, elem);
956 }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
Definition: fe_base.C:1374
template<>
void libMesh::FE< 3, LAGRANGE_VEC >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 959 of file fe_lagrange_vec.C.

References libMesh::FEGenericBase< OutputType >::compute_proj_constraints().

963 { //libmesh_not_implemented();
964  FEVectorBase::compute_proj_constraints(constraints, dof_map, variable_number, elem);
965 }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
Definition: fe_base.C:1374
template<>
void libMesh::FE< 2, SZABAB >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 1293 of file fe_szabab.C.

1297 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
template<>
void libMesh::FE< 3, SZABAB >::compute_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)

Definition at line 1300 of file fe_szabab.C.

1304 { compute_proj_constraints(constraints, dof_map, variable_number, elem); }
static void compute_proj_constraints(DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem)
void libMesh::FEAbstract::compute_node_constraints ( NodeConstraints constraints,
const Elem elem 
)
staticinherited

Computes the nodal constraint contributions (for non-conforming adapted meshes), using Lagrange geometry

Definition at line 791 of file fe_abstract.C.

References std::abs(), libMesh::Elem::build_side_ptr(), libMesh::Elem::default_order(), libMesh::Elem::dim(), libMesh::FEAbstract::fe_type, libMesh::FEInterface::inverse_map(), libMesh::LAGRANGE, libMesh::Elem::level(), libMesh::libmesh_assert(), libmesh_nullptr, libMesh::FEInterface::n_dofs(), libMesh::Elem::n_sides(), libMesh::Elem::neighbor_ptr(), libMesh::Elem::parent(), libMesh::Real, libMesh::remote_elem, libMesh::FEInterface::shape(), libMesh::Threads::spin_mtx, and libMesh::Elem::subactive().

793 {
794  libmesh_assert(elem);
795 
796  const unsigned int Dim = elem->dim();
797 
798  // Only constrain elements in 2,3D.
799  if (Dim == 1)
800  return;
801 
802  // Only constrain active and ancestor elements
803  if (elem->subactive())
804  return;
805 
806  // We currently always use LAGRANGE mappings for geometry
807  const FEType fe_type(elem->default_order(), LAGRANGE);
808 
809  std::vector<const Node *> my_nodes, parent_nodes;
810 
811  // Look at the element faces. Check to see if we need to
812  // build constraints.
813  for (unsigned int s=0; s<elem->n_sides(); s++)
814  if (elem->neighbor_ptr(s) != libmesh_nullptr &&
815  elem->neighbor_ptr(s) != remote_elem)
816  if (elem->neighbor_ptr(s)->level() < elem->level()) // constrain dofs shared between
817  { // this element and ones coarser
818  // than this element.
819  // Get pointers to the elements of interest and its parent.
820  const Elem * parent = elem->parent();
821 
822  // This can't happen... Only level-0 elements have NULL
823  // parents, and no level-0 elements can be at a higher
824  // level than their neighbors!
825  libmesh_assert(parent);
826 
827  const UniquePtr<const Elem> my_side (elem->build_side_ptr(s));
828  const UniquePtr<const Elem> parent_side (parent->build_side_ptr(s));
829 
830  const unsigned int n_side_nodes = my_side->n_nodes();
831 
832  my_nodes.clear();
833  my_nodes.reserve (n_side_nodes);
834  parent_nodes.clear();
835  parent_nodes.reserve (n_side_nodes);
836 
837  for (unsigned int n=0; n != n_side_nodes; ++n)
838  my_nodes.push_back(my_side->node_ptr(n));
839 
840  for (unsigned int n=0; n != n_side_nodes; ++n)
841  parent_nodes.push_back(parent_side->node_ptr(n));
842 
843  for (unsigned int my_side_n=0;
844  my_side_n < n_side_nodes;
845  my_side_n++)
846  {
847  libmesh_assert_less (my_side_n, FEInterface::n_dofs(Dim-1, fe_type, my_side->type()));
848 
849  const Node * my_node = my_nodes[my_side_n];
850 
851  // The support point of the DOF
852  const Point & support_point = *my_node;
853 
854  // Figure out where my node lies on their reference element.
855  const Point mapped_point = FEInterface::inverse_map(Dim-1, fe_type,
856  parent_side.get(),
857  support_point);
858 
859  // Compute the parent's side shape function values.
860  for (unsigned int their_side_n=0;
861  their_side_n < n_side_nodes;
862  their_side_n++)
863  {
864  libmesh_assert_less (their_side_n, FEInterface::n_dofs(Dim-1, fe_type, parent_side->type()));
865 
866  const Node * their_node = parent_nodes[their_side_n];
867  libmesh_assert(their_node);
868 
869  const Real their_value = FEInterface::shape(Dim-1,
870  fe_type,
871  parent_side->type(),
872  their_side_n,
873  mapped_point);
874 
875  const Real their_mag = std::abs(their_value);
876 #ifdef DEBUG
877  // Protect for the case u_i ~= u_j,
878  // in which case i better equal j.
879  if (their_mag > 0.999)
880  {
881  libmesh_assert_equal_to (my_node, their_node);
882  libmesh_assert_less (std::abs(their_value - 1.), 0.001);
883  }
884  else
885 #endif
886  // To make nodal constraints useful for constructing
887  // sparsity patterns faster, we need to get EVERY
888  // POSSIBLE constraint coupling identified, even if
889  // there is no coupling in the isoparametric
890  // Lagrange case.
891  if (their_mag < 1.e-5)
892  {
893  // since we may be running this method concurrently
894  // on multiple threads we need to acquire a lock
895  // before modifying the shared constraint_row object.
896  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
897 
898  // A reference to the constraint row.
899  NodeConstraintRow & constraint_row = constraints[my_node].first;
900 
901  constraint_row.insert(std::make_pair (their_node,
902  0.));
903  }
904  // To get nodal coordinate constraints right, only
905  // add non-zero and non-identity values for Lagrange
906  // basis functions.
907  else // (1.e-5 <= their_mag <= .999)
908  {
909  // since we may be running this method concurrently
910  // on multiple threads we need to acquire a lock
911  // before modifying the shared constraint_row object.
912  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
913 
914  // A reference to the constraint row.
915  NodeConstraintRow & constraint_row = constraints[my_node].first;
916 
917  constraint_row.insert(std::make_pair (their_node,
918  their_value));
919  }
920  }
921  }
922  }
923 }
double abs(double a)
static unsigned int n_dofs(const unsigned int dim, const FEType &fe_t, const ElemType t)
Definition: fe_interface.C:414
const class libmesh_nullptr_t libmesh_nullptr
libmesh_assert(j)
spin_mutex spin_mtx
Definition: threads.C:29
static Real shape(const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const Point &p)
Definition: fe_interface.C:628
static Point inverse_map(const unsigned int dim, const FEType &fe_t, const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true)
Definition: fe_interface.C:556
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::map< const Node *, Real, std::less< const Node * >, Threads::scalable_allocator< std::pair< const Node *const, Real > > > NodeConstraintRow
Definition: dof_map.h:136
const RemoteElem * remote_elem
Definition: remote_elem.C:57
static void libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints ( DofConstraints constraints,
DofMap dof_map,
const PeriodicBoundaries boundaries,
const MeshBase mesh,
const PointLocatorBase point_locator,
const unsigned int  variable_number,
const Elem elem 
)
staticinherited

Computes the constraint matrix contributions (for meshes with periodic boundary conditions) corresponding to variable number var_number, using generic projections.

void libMesh::FEAbstract::compute_periodic_node_constraints ( NodeConstraints constraints,
const PeriodicBoundaries boundaries,
const MeshBase mesh,
const PointLocatorBase point_locator,
const Elem elem 
)
staticinherited

Computes the node position constraint equation contributions (for meshes with periodic boundary conditions)

Definition at line 934 of file fe_abstract.C.

References libMesh::Elem::active(), libMesh::PeriodicBoundaries::boundary(), libMesh::BoundaryInfo::boundary_ids(), libMesh::Elem::build_side_ptr(), libMesh::Elem::default_order(), libMesh::Elem::dim(), libMesh::FEAbstract::fe_type, libMesh::MeshBase::get_boundary_info(), libMesh::PeriodicBoundaryBase::get_corresponding_pos(), libMesh::invalid_uint, libMesh::FEInterface::inverse_map(), libMesh::LAGRANGE, libMesh::Elem::level(), libMesh::libmesh_assert(), libMesh::FEInterface::n_dofs(), libMesh::Elem::n_sides(), libMesh::PeriodicBoundaries::neighbor(), libMesh::Elem::neighbor_ptr(), libMesh::PeriodicBoundaryBase::pairedboundary, libMesh::Real, libMesh::FEInterface::shape(), libMesh::BoundaryInfo::side_with_boundary_id(), and libMesh::Threads::spin_mtx.

939 {
940  // Only bother if we truly have periodic boundaries
941  if (boundaries.empty())
942  return;
943 
944  libmesh_assert(elem);
945 
946  // Only constrain active elements with this method
947  if (!elem->active())
948  return;
949 
950  const unsigned int Dim = elem->dim();
951 
952  // We currently always use LAGRANGE mappings for geometry
953  const FEType fe_type(elem->default_order(), LAGRANGE);
954 
955  std::vector<const Node *> my_nodes, neigh_nodes;
956 
957  // Look at the element faces. Check to see if we need to
958  // build constraints.
959  std::vector<boundary_id_type> bc_ids;
960  for (unsigned short int s=0; s<elem->n_sides(); s++)
961  {
962  if (elem->neighbor_ptr(s))
963  continue;
964 
965  mesh.get_boundary_info().boundary_ids (elem, s, bc_ids);
966  for (std::vector<boundary_id_type>::const_iterator id_it=bc_ids.begin(); id_it!=bc_ids.end(); ++id_it)
967  {
968  const boundary_id_type boundary_id = *id_it;
969  const PeriodicBoundaryBase * periodic = boundaries.boundary(boundary_id);
970  if (periodic)
971  {
972  libmesh_assert(point_locator);
973 
974  // Get pointers to the element's neighbor.
975  const Elem * neigh = boundaries.neighbor(boundary_id, *point_locator, elem, s);
976 
977  // h refinement constraints:
978  // constrain dofs shared between
979  // this element and ones as coarse
980  // as or coarser than this element.
981  if (neigh->level() <= elem->level())
982  {
983  unsigned int s_neigh =
984  mesh.get_boundary_info().side_with_boundary_id(neigh, periodic->pairedboundary);
985  libmesh_assert_not_equal_to (s_neigh, libMesh::invalid_uint);
986 
987 #ifdef LIBMESH_ENABLE_AMR
988  libmesh_assert(neigh->active());
989 #endif // #ifdef LIBMESH_ENABLE_AMR
990 
991  const UniquePtr<const Elem> my_side (elem->build_side_ptr(s));
992  const UniquePtr<const Elem> neigh_side (neigh->build_side_ptr(s_neigh));
993 
994  const unsigned int n_side_nodes = my_side->n_nodes();
995 
996  my_nodes.clear();
997  my_nodes.reserve (n_side_nodes);
998  neigh_nodes.clear();
999  neigh_nodes.reserve (n_side_nodes);
1000 
1001  for (unsigned int n=0; n != n_side_nodes; ++n)
1002  my_nodes.push_back(my_side->node_ptr(n));
1003 
1004  for (unsigned int n=0; n != n_side_nodes; ++n)
1005  neigh_nodes.push_back(neigh_side->node_ptr(n));
1006 
1007  // Make sure we're not adding recursive constraints
1008  // due to the redundancy in the way we add periodic
1009  // boundary constraints, or adding constraints to
1010  // nodes that already have AMR constraints
1011  std::vector<bool> skip_constraint(n_side_nodes, false);
1012 
1013  for (unsigned int my_side_n=0;
1014  my_side_n < n_side_nodes;
1015  my_side_n++)
1016  {
1017  libmesh_assert_less (my_side_n, FEInterface::n_dofs(Dim-1, fe_type, my_side->type()));
1018 
1019  const Node * my_node = my_nodes[my_side_n];
1020 
1021  // Figure out where my node lies on their reference element.
1022  const Point neigh_point = periodic->get_corresponding_pos(*my_node);
1023 
1024  const Point mapped_point = FEInterface::inverse_map(Dim-1, fe_type,
1025  neigh_side.get(),
1026  neigh_point);
1027 
1028  // If we've already got a constraint on this
1029  // node, then the periodic constraint is
1030  // redundant
1031  {
1032  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
1033 
1034  if (constraints.count(my_node))
1035  {
1036  skip_constraint[my_side_n] = true;
1037  continue;
1038  }
1039  }
1040 
1041  // Compute the neighbors's side shape function values.
1042  for (unsigned int their_side_n=0;
1043  their_side_n < n_side_nodes;
1044  their_side_n++)
1045  {
1046  libmesh_assert_less (their_side_n, FEInterface::n_dofs(Dim-1, fe_type, neigh_side->type()));
1047 
1048  const Node * their_node = neigh_nodes[their_side_n];
1049 
1050  // If there's a constraint on an opposing node,
1051  // we need to see if it's constrained by
1052  // *our side* making any periodic constraint
1053  // on us recursive
1054  {
1055  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
1056 
1057  if (!constraints.count(their_node))
1058  continue;
1059 
1060  const NodeConstraintRow & their_constraint_row =
1061  constraints[their_node].first;
1062 
1063  for (unsigned int orig_side_n=0;
1064  orig_side_n < n_side_nodes;
1065  orig_side_n++)
1066  {
1067  libmesh_assert_less (orig_side_n, FEInterface::n_dofs(Dim-1, fe_type, my_side->type()));
1068 
1069  const Node * orig_node = my_nodes[orig_side_n];
1070 
1071  if (their_constraint_row.count(orig_node))
1072  skip_constraint[orig_side_n] = true;
1073  }
1074  }
1075  }
1076  }
1077  for (unsigned int my_side_n=0;
1078  my_side_n < n_side_nodes;
1079  my_side_n++)
1080  {
1081  libmesh_assert_less (my_side_n, FEInterface::n_dofs(Dim-1, fe_type, my_side->type()));
1082 
1083  if (skip_constraint[my_side_n])
1084  continue;
1085 
1086  const Node * my_node = my_nodes[my_side_n];
1087 
1088  // Figure out where my node lies on their reference element.
1089  const Point neigh_point = periodic->get_corresponding_pos(*my_node);
1090 
1091  // Figure out where my node lies on their reference element.
1092  const Point mapped_point = FEInterface::inverse_map(Dim-1, fe_type,
1093  neigh_side.get(),
1094  neigh_point);
1095 
1096  for (unsigned int their_side_n=0;
1097  their_side_n < n_side_nodes;
1098  their_side_n++)
1099  {
1100  libmesh_assert_less (their_side_n, FEInterface::n_dofs(Dim-1, fe_type, neigh_side->type()));
1101 
1102  const Node * their_node = neigh_nodes[their_side_n];
1103  libmesh_assert(their_node);
1104 
1105  const Real their_value = FEInterface::shape(Dim-1,
1106  fe_type,
1107  neigh_side->type(),
1108  their_side_n,
1109  mapped_point);
1110 
1111  // since we may be running this method concurrently
1112  // on multiple threads we need to acquire a lock
1113  // before modifying the shared constraint_row object.
1114  {
1115  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
1116 
1117  NodeConstraintRow & constraint_row =
1118  constraints[my_node].first;
1119 
1120  constraint_row.insert(std::make_pair(their_node,
1121  their_value));
1122  }
1123  }
1124  }
1125  }
1126  }
1127  }
1128  }
1129 }
static unsigned int n_dofs(const unsigned int dim, const FEType &fe_t, const ElemType t)
Definition: fe_interface.C:414
const unsigned int invalid_uint
Definition: libmesh.h:184
MeshBase & mesh
libmesh_assert(j)
spin_mutex spin_mtx
Definition: threads.C:29
int8_t boundary_id_type
Definition: id_types.h:51
static Real shape(const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const Point &p)
Definition: fe_interface.C:628
static Point inverse_map(const unsigned int dim, const FEType &fe_t, const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true)
Definition: fe_interface.C:556
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::map< const Node *, Real, std::less< const Node * >, Threads::scalable_allocator< std::pair< const Node *const, Real > > > NodeConstraintRow
Definition: dof_map.h:136
static void libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints ( DofConstraints constraints,
DofMap dof_map,
const unsigned int  variable_number,
const Elem elem 
)
staticinherited

Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number, using generic projections.

virtual void libMesh::FEGenericBase< FEOutputType< T >::type >::compute_shape_functions ( const Elem elem,
const std::vector< Point > &  qp 
)
protectedvirtualinherited

After having updated the jacobian and the transformation from local to global coordinates in FEAbstract::compute_map(), the first derivatives of the shape functions are transformed to global coordinates, giving dphi, dphidx, dphidy, and dphidz. This method should rarely be re-defined in derived classes, but still should be usable for children. Therefore, keep it protected.

Implements libMesh::FEAbstract.

Reimplemented in libMesh::FEXYZ< Dim >.

void libMesh::FEGenericBase< FEOutputType< T >::type >::determine_calculations ( )
protectedinherited

Determine which values are to be calculated, for both the FE itself and for the FEMap.

Referenced by libMesh::FESubdivision::attach_quadrature_rule().

void libMesh::ReferenceCounter::disable_print_counter_info ( )
staticinherited
template<unsigned int Dim, FEFamily T>
void libMesh::FE< Dim, T >::dofs_on_edge ( const Elem *const  elem,
const Order  o,
unsigned int  e,
std::vector< unsigned int > &  di 
)
static

Fills the vector di with the local degree of freedom indices associated with edge e of element elem

On a p-refined element, o should be the base order of the element.

Definition at line 89 of file fe.C.

References libMesh::Elem::is_node_on_edge(), libMesh::libmesh_assert(), libMesh::Elem::n_edges(), n_nodes, libMesh::Elem::n_nodes(), libMesh::Elem::p_level(), and libMesh::Elem::type().

93 {
94  libmesh_assert(elem);
95  libmesh_assert_less (e, elem->n_edges());
96 
97  di.clear();
98  unsigned int nodenum = 0;
99  const unsigned int n_nodes = elem->n_nodes();
100  for (unsigned int n = 0; n != n_nodes; ++n)
101  {
102  const unsigned int n_dofs = n_dofs_at_node(elem->type(),
103  static_cast<Order>(o + elem->p_level()), n);
104  if (elem->is_node_on_edge(n, e))
105  for (unsigned int i = 0; i != n_dofs; ++i)
106  di.push_back(nodenum++);
107  else
108  nodenum += n_dofs;
109  }
110 }
static unsigned int n_dofs(const ElemType t, const Order o)
static unsigned int n_dofs_at_node(const ElemType t, const Order o, const unsigned int n)
libmesh_assert(j)
const dof_id_type n_nodes
Definition: tecplot_io.C:67
template<>
void libMesh::FE< 2, SUBDIVISION >::dofs_on_edge ( const Elem const,
const Order  ,
unsigned  int,
std::vector< unsigned int > &  di 
)

Definition at line 925 of file fe_subdivision_2D.C.

925 { di.resize(0); }
template<unsigned int Dim, FEFamily T>
void libMesh::FE< Dim, T >::dofs_on_side ( const Elem *const  elem,
const Order  o,
unsigned int  s,
std::vector< unsigned int > &  di 
)
static

Fills the vector di with the local degree of freedom indices associated with side s of element elem

On a p-refined element, o should be the base order of the element.

Definition at line 63 of file fe.C.

References libMesh::Elem::is_node_on_side(), libMesh::libmesh_assert(), n_nodes, libMesh::Elem::n_nodes(), libMesh::Elem::n_sides(), libMesh::Elem::p_level(), and libMesh::Elem::type().

67 {
68  libmesh_assert(elem);
69  libmesh_assert_less (s, elem->n_sides());
70 
71  di.clear();
72  unsigned int nodenum = 0;
73  const unsigned int n_nodes = elem->n_nodes();
74  for (unsigned int n = 0; n != n_nodes; ++n)
75  {
76  const unsigned int n_dofs = n_dofs_at_node(elem->type(),
77  static_cast<Order>(o + elem->p_level()), n);
78  if (elem->is_node_on_side(n, s))
79  for (unsigned int i = 0; i != n_dofs; ++i)
80  di.push_back(nodenum++);
81  else
82  nodenum += n_dofs;
83  }
84 }
static unsigned int n_dofs(const ElemType t, const Order o)
static unsigned int n_dofs_at_node(const ElemType t, const Order o, const unsigned int n)
libmesh_assert(j)
const dof_id_type n_nodes
Definition: tecplot_io.C:67
template<>
void libMesh::FE< 2, SUBDIVISION >::dofs_on_side ( const Elem const,
const Order  ,
unsigned  int,
std::vector< unsigned int > &  di 
)

Definition at line 924 of file fe_subdivision_2D.C.

924 { di.resize(0); }
template<unsigned int Dim, FEFamily T>
void libMesh::FE< Dim, T >::edge_reinit ( const Elem elem,
const unsigned int  edge,
const Real  tolerance = TOLERANCE,
const std::vector< Point > *const  pts = libmesh_nullptr,
const std::vector< Real > *const  weights = libmesh_nullptr 
)
virtual

Reinitializes all the physical element-dependent data based on the edge. The tolerance paremeter is passed to the involved call to inverse_map(). By default the shape functions and associated data are computed at the quadrature points specified by the quadrature rule qrule, but may be any points specified on the reference side element specified in the optional argument pts.

Implements libMesh::FEAbstract.

Definition at line 260 of file fe_boundary.C.

References libMesh::Elem::build_edge_ptr(), libMesh::libmesh_assert(), libmesh_nullptr, libMesh::Elem::p_level(), and libMesh::Elem::type().

Referenced by libMesh::FEMap::compute_edge_map().

265 {
266  libmesh_assert(elem);
268  // We don't do this for 1D elements!
269  libmesh_assert_not_equal_to (Dim, 1);
270 
271  // We're (possibly re-) calculating now! Time to determine what.
272  // FIXME - we currently just assume that we're using JxW and calling
273  // edge_map later.
274  this->_fe_map->calculations_started = false;
275  this->_fe_map->get_JxW();
276  this->_fe_map->get_xyz();
277  this->determine_calculations();
278 
279  // Build the side of interest
280  const UniquePtr<const Elem> edge(elem->build_edge_ptr(e));
281 
282  // Initialize the shape functions at the user-specified
283  // points
284  if (pts != libmesh_nullptr)
285  {
286  // The shape functions do not correspond to the qrule
287  this->shapes_on_quadrature = false;
288 
289  // Initialize the edge shape functions
290  this->_fe_map->template init_edge_shape_functions<Dim> (*pts, edge.get());
291 
292  // Compute the Jacobian*Weight on the face for integration
293  if (weights != libmesh_nullptr)
294  {
295  this->_fe_map->compute_edge_map (Dim, *weights, edge.get());
296  }
297  else
298  {
299  std::vector<Real> dummy_weights (pts->size(), 1.);
300  this->_fe_map->compute_edge_map (Dim, dummy_weights, edge.get());
301  }
302  }
303  // If there are no user specified points, we use the
304  // quadrature rule
305  else
306  {
307  // initialize quadrature rule
308  this->qrule->init(edge->type(), elem->p_level());
309 
310  if (this->qrule->shapes_need_reinit())
311  this->shapes_on_quadrature = false;
312 
313  // We might not need to reinitialize the shape functions
314  if ((this->get_type() != elem->type()) ||
315  (edge->type() != static_cast<int>(last_edge)) || // Comparison between enum and unsigned, cast the unsigned to int
316  this->shapes_need_reinit() ||
317  !this->shapes_on_quadrature)
318  {
319  // Set the element type
320  this->elem_type = elem->type();
321 
322  // Set the last_edge
323  last_edge = edge->type();
324 
325  // Initialize the edge shape functions
326  this->_fe_map->template init_edge_shape_functions<Dim> (this->qrule->get_points(), edge.get());
327  }
328 
329  // Compute the Jacobian*Weight on the face for integration
330  this->_fe_map->compute_edge_map (Dim, this->qrule->get_weights(), edge.get());
331 
332  // The shape functions correspond to the qrule
333  this->shapes_on_quadrature = true;
334  }
335 
336  // make a copy of the Jacobian for integration
337  const std::vector<Real> JxW_int(this->_fe_map->get_JxW());
338 
339  // Find where the integration points are located on the
340  // full element.
341  std::vector<Point> qp;
342  this->inverse_map (elem, this->_fe_map->get_xyz(), qp, tolerance);
343 
344  // compute the shape function and derivative values
345  // at the points qp
346  this->reinit (elem, &qp);
347 
348  // copy back old data
349  this->_fe_map->get_JxW() = JxW_int;
350 }
virtual void init(const ElemType type=INVALID_ELEM, unsigned int p_level=0)
Definition: quadrature.C:28
virtual bool shapes_need_reinit()
Definition: quadrature.h:217
unsigned int last_edge
Definition: fe.h:482
virtual bool shapes_need_reinit() const libmesh_override
const class libmesh_nullptr_t libmesh_nullptr
libmesh_assert(j)
ElemType get_type() const
Definition: fe_abstract.h:404
const std::vector< Real > & get_weights() const
Definition: quadrature.h:140
UniquePtr< FEMap > _fe_map
Definition: fe_abstract.h:511
virtual void reinit(const Elem *elem, const std::vector< Point > *const pts=libmesh_nullptr, const std::vector< Real > *const weights=libmesh_nullptr) libmesh_override
Definition: fe.C:115
const std::vector< Point > & get_points() const
Definition: quadrature.h:128
static Point inverse_map(const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true)
Definition: fe_map.C:1566
template<>
void libMesh::FE< 2, SUBDIVISION >::edge_reinit ( Elem const *  ,
unsigned  int,
Real  ,
const std::vector< Point > *  const,
const std::vector< Real > *  const 
)

Definition at line 884 of file fe_subdivision_2D.C.

889 {
890  libmesh_not_implemented();
891 }
void libMesh::ReferenceCounter::enable_print_counter_info ( )
staticinherited

Methods to enable/disable the reference counter output from print_info()

Definition at line 101 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter.

Referenced by libMesh::ReferenceCounter::n_objects().

102 {
103  _enable_print_counter = true;
104  return;
105 }
template<>
FEContinuity libMesh::FE< 0, SCALAR >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 107 of file fe_scalar.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 1, SCALAR >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 108 of file fe_scalar.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 2, SCALAR >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 109 of file fe_scalar.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 3, SCALAR >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 110 of file fe_scalar.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 0, L2_HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 194 of file fe_l2_hierarchic.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 1, L2_HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 195 of file fe_l2_hierarchic.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 2, L2_HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 196 of file fe_l2_hierarchic.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 3, L2_HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 197 of file fe_l2_hierarchic.C.

References libMesh::DISCONTINUOUS.

template<unsigned int Dim, FEFamily T>
virtual FEContinuity libMesh::FE< Dim, T >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

template<>
FEContinuity libMesh::FE< 0, CLOUGH >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 299 of file fe_clough.C.

References libMesh::C_ONE.

299 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 1, CLOUGH >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 300 of file fe_clough.C.

References libMesh::C_ONE.

300 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 2, CLOUGH >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 301 of file fe_clough.C.

References libMesh::C_ONE.

301 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 3, CLOUGH >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 302 of file fe_clough.C.

References libMesh::C_ONE.

302 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 0, HERMITE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 339 of file fe_hermite.C.

References libMesh::C_ONE.

339 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 1, HERMITE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 340 of file fe_hermite.C.

References libMesh::C_ONE.

340 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 2, HERMITE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 341 of file fe_hermite.C.

References libMesh::C_ONE.

341 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 3, HERMITE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 342 of file fe_hermite.C.

References libMesh::C_ONE.

342 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 0, HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 367 of file fe_hierarchic.C.

References libMesh::C_ZERO.

367 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 1, HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 368 of file fe_hierarchic.C.

References libMesh::C_ZERO.

368 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 2, HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 369 of file fe_hierarchic.C.

References libMesh::C_ZERO.

369 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 3, HIERARCHIC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 370 of file fe_hierarchic.C.

References libMesh::C_ZERO.

370 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 0, MONOMIAL >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 400 of file fe_monomial.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 1, MONOMIAL >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 401 of file fe_monomial.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 2, MONOMIAL >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 402 of file fe_monomial.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 3, MONOMIAL >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 403 of file fe_monomial.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 0, BERNSTEIN >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 430 of file fe_bernstein.C.

References libMesh::C_ZERO.

430 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 1, BERNSTEIN >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 431 of file fe_bernstein.C.

References libMesh::C_ZERO.

431 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 2, BERNSTEIN >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 432 of file fe_bernstein.C.

References libMesh::C_ZERO.

432 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 3, BERNSTEIN >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 433 of file fe_bernstein.C.

References libMesh::C_ZERO.

433 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 0, L2_LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 475 of file fe_l2_lagrange.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 1, L2_LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 476 of file fe_l2_lagrange.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 2, L2_LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 477 of file fe_l2_lagrange.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 3, L2_LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 478 of file fe_l2_lagrange.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 0, NEDELEC_ONE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 550 of file fe_nedelec_one.C.

550 { NEDELEC_LOW_D_ERROR_MESSAGE }
template<>
FEContinuity libMesh::FE< 1, NEDELEC_ONE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 551 of file fe_nedelec_one.C.

551 { NEDELEC_LOW_D_ERROR_MESSAGE }
template<>
FEContinuity libMesh::FE< 2, NEDELEC_ONE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 552 of file fe_nedelec_one.C.

References libMesh::H_CURL.

552 { return H_CURL; }
template<>
FEContinuity libMesh::FE< 3, NEDELEC_ONE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 553 of file fe_nedelec_one.C.

References libMesh::H_CURL.

553 { return H_CURL; }
template<>
FEContinuity libMesh::FE< 0, LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 878 of file fe_lagrange.C.

References libMesh::C_ZERO.

878 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 1, LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 879 of file fe_lagrange.C.

References libMesh::C_ZERO.

879 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 2, LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 880 of file fe_lagrange.C.

References libMesh::C_ZERO.

880 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 3, LAGRANGE >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 881 of file fe_lagrange.C.

References libMesh::C_ZERO.

881 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 0, XYZ >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 915 of file fe_xyz.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 1, XYZ >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 916 of file fe_xyz.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 2, XYZ >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 917 of file fe_xyz.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 3, XYZ >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 918 of file fe_xyz.C.

References libMesh::DISCONTINUOUS.

template<>
FEContinuity libMesh::FE< 0, LAGRANGE_VEC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 927 of file fe_lagrange_vec.C.

References libMesh::C_ZERO.

927 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 2, SUBDIVISION >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 928 of file fe_subdivision_2D.C.

References libMesh::C_ONE.

928 { return C_ONE; }
template<>
FEContinuity libMesh::FE< 1, LAGRANGE_VEC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 928 of file fe_lagrange_vec.C.

References libMesh::C_ZERO.

928 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 2, LAGRANGE_VEC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 929 of file fe_lagrange_vec.C.

References libMesh::C_ZERO.

929 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 3, LAGRANGE_VEC >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 930 of file fe_lagrange_vec.C.

References libMesh::C_ZERO.

930 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 0, SZABAB >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 1279 of file fe_szabab.C.

References libMesh::C_ZERO.

1279 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 1, SZABAB >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 1280 of file fe_szabab.C.

References libMesh::C_ZERO.

1280 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 2, SZABAB >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 1281 of file fe_szabab.C.

References libMesh::C_ZERO.

1281 { return C_ZERO; }
template<>
FEContinuity libMesh::FE< 3, SZABAB >::get_continuity ( ) const
virtual
Returns
The continuity level of the finite element.

Implements libMesh::FEAbstract.

Definition at line 1282 of file fe_szabab.C.

References libMesh::C_ZERO.

1282 { return C_ZERO; }
const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_curl_phi ( ) const
inlineinherited
const std::vector<Real>& libMesh::FEAbstract::get_curvatures ( ) const
inlineinherited
Returns
The curvatures for use in face integration.

Definition at line 377 of file fe_abstract.h.

References libMesh::FEAbstract::_fe_map, libMesh::FEAbstract::attach_quadrature_rule(), libMesh::FEAbstract::n_quadrature_points(), and libMesh::FEAbstract::n_shape_functions().

378  { return this->_fe_map->get_curvatures();}
UniquePtr< FEMap > _fe_map
Definition: fe_abstract.h:511
const std::vector<std::vector<OutputTensor> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phi ( ) const
inlineinherited
const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phideta2 ( ) const
inlineinherited
Returns
The shape function second derivatives at the quadrature points, in reference coordinates

Definition at line 370 of file fe_base.h.

References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, libMesh::FEGenericBase< OutputType >::d2phideta2, and libMesh::libmesh_assert().

const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidetadzeta ( ) const
inlineinherited
Returns
The shape function second derivatives at the quadrature points, in reference coordinates

Definition at line 378 of file fe_base.h.

References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, libMesh::FEGenericBase< OutputType >::d2phidetadzeta, and libMesh::libmesh_assert().

const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidx2 ( ) const
inlineinherited
const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdy ( ) const
inlineinherited
const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxdz ( ) const
inlineinherited
const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxi2 ( ) const
inlineinherited
Returns
The shape function second derivatives at the quadrature points, in reference coordinates

Definition at line 346 of file fe_base.h.

References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, libMesh::FEGenericBase< OutputType >::d2phidxi2, and libMesh::libmesh_assert().

const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxideta ( ) const
inlineinherited
Returns
The shape function second derivatives at the quadrature points, in reference coordinates

Definition at line 354 of file fe_base.h.

References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, libMesh::FEGenericBase< OutputType >::d2phidxideta, and libMesh::libmesh_assert().

const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidxidzeta ( ) const
inlineinherited
Returns
The shape function second derivatives at the quadrature points, in reference coordinates

Definition at line 362 of file fe_base.h.

References libMesh::FEAbstract::calculate_d2phi, libMesh::FEAbstract::calculate_dphiref, libMesh::FEAbstract::calculations_started, libMesh::FEGenericBase< OutputType >::d2phidxidzeta, and libMesh::libmesh_assert().

const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidy2 ( ) const
inlineinherited
const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidydz ( ) const
inlineinherited
const std::vector<std::vector<OutputShape> >& libMesh::FEGenericBase< FEOutputType< T >::type >::get_d2phidz2 ( ) const
inlineinherited
Returns
The shape function second derivatives at the quadrature points.

Definition at line 338 of file fe_base.h.

References libMesh::FEAb