libMesh
|
This class provides an encapsulated access to all static public member functions of finite element classes. More...
#include <fe_interface.h>
Public Types | |
typedef unsigned int(* | n_dofs_at_node_ptr) (const ElemType, const Order, const unsigned int) |
typedef Real(* | shape_ptr) (const Elem *elem, const Order o, const unsigned int i, const Point &p, const bool add_p_level) |
typedef Real(* | shape_deriv_ptr) (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level) |
typedef Real(* | shape_second_deriv_ptr) (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level) |
Public Member Functions | |
virtual | ~FEInterface () |
Destructor. More... | |
Static Public Member Functions | |
static unsigned int | n_shape_functions (const unsigned int dim, const FEType &fe_t, const ElemType t) |
static unsigned int | n_dofs (const unsigned int dim, const FEType &fe_t, const ElemType t) |
static unsigned int | n_dofs (const unsigned int dim, const FEType &fe_t, const Elem *elem) |
Similar to the function above but takes an Elem * and accounts for p-refinement internally, if any. More... | |
static unsigned int | n_dofs_at_node (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int n) |
static n_dofs_at_node_ptr | n_dofs_at_node_function (const unsigned int dim, const FEType &fe_t) |
static unsigned int | n_dofs_per_elem (const unsigned int dim, const FEType &fe_t, const ElemType t) |
static void | dofs_on_side (const Elem *const elem, const unsigned int dim, const FEType &fe_t, unsigned int s, std::vector< unsigned int > &di) |
Fills the vector di with the local degree of freedom indices associated with side s of element elem Automatically decides which finite element class to use. More... | |
static void | dofs_on_edge (const Elem *const elem, const unsigned int dim, const FEType &fe_t, unsigned int e, std::vector< unsigned int > &di) |
Fills the vector di with the local degree of freedom indices associated with edge e of element elem Automatically decides which finite element class to use. More... | |
static void | nodal_soln (const unsigned int dim, const FEType &fe_t, const Elem *elem, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln) |
Build the nodal soln from the element soln. More... | |
static Point | map (unsigned int dim, const FEType &fe_t, const Elem *elem, const Point &p) |
This is now deprecated; use FEMap::map instead. More... | |
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) |
This is now deprecated; use FEMap::inverse_map instead. More... | |
static void | inverse_map (const unsigned int dim, const FEType &fe_t, const Elem *elem, const std::vector< Point > &physical_points, std::vector< Point > &reference_points, const Real tolerance=TOLERANCE, const bool secure=true) |
This is now deprecated; use FEMap::inverse_map instead. More... | |
static bool | on_reference_element (const Point &p, const ElemType t, const Real eps=TOLERANCE) |
static Real | shape (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const Point &p) |
static Real | shape (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const Point &p) |
template<typename OutputType > | |
static void | shape (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const Point &p, OutputType &phi) |
template<typename OutputType > | |
static void | shape (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const Point &p, OutputType &phi) |
static shape_ptr | shape_function (const unsigned int dim, const FEType &fe_t) |
static Real | shape_deriv (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const unsigned int j, const Point &p) |
static Real | shape_deriv (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const unsigned int j, const Point &p) |
static shape_deriv_ptr | shape_deriv_function (const unsigned int dim, const FEType &fe_t) |
static Real | shape_second_deriv (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const unsigned int j, const Point &p) |
static Real | shape_second_deriv (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const unsigned int j, const Point &p) |
static shape_second_deriv_ptr | shape_second_deriv_function (const unsigned int dim, const FEType &fe_t) |
static void | compute_data (const unsigned int dim, const FEType &fe_t, const Elem *elem, FEComputeData &data) |
Lets the appropriate child of FEBase compute the requested data for the input specified in data , and sets the values in data . More... | |
static void | compute_constraints (DofConstraints &constraints, DofMap &dof_map, const unsigned int variable_number, const Elem *elem) |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number . More... | |
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) |
Computes the constraint matrix contributions (for periodic boundary conditions) corresponding to variable number var_number . More... | |
static unsigned int | max_order (const FEType &fe_t, const ElemType &el_t) |
static bool | extra_hanging_dofs (const FEType &fe_t) |
static FEFieldType | field_type (const FEType &fe_type) |
static FEFieldType | field_type (const FEFamily &fe_family) |
static unsigned int | n_vec_dim (const MeshBase &mesh, const FEType &fe_type) |
static FEContinuity | get_continuity (const FEType &fe_type) |
Returns the input FEType's FEContinuity based on the underlying FEFamily and potentially the Order, although we do not currently support FEs with order-dependent continuity. More... | |
template<> | |
void | shape (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const Point &p, Real &phi) |
template<> | |
void | shape (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const Point &p, Real &phi) |
template<> | |
void | shape (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const Point &p, RealGradient &phi) |
template<> | |
void | shape (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const Point &p, RealGradient &phi) |
Private Member Functions | |
FEInterface () | |
Empty constructor. More... | |
Static Private Member Functions | |
static bool | is_InfFE_elem (const ElemType et) |
static unsigned int | ifem_n_shape_functions (const unsigned int dim, const FEType &fe_t, const ElemType t) |
static unsigned int | ifem_n_dofs (const unsigned int dim, const FEType &fe_t, const ElemType t) |
static unsigned int | ifem_n_dofs_at_node (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int n) |
static unsigned int | ifem_n_dofs_per_elem (const unsigned int dim, const FEType &fe_t, const ElemType t) |
static void | ifem_nodal_soln (const unsigned int dim, const FEType &fe_t, const Elem *elem, const std::vector< Number > &elem_soln, std::vector< Number > &nodal_soln) |
static Point | ifem_map (const unsigned int dim, const FEType &fe_t, const Elem *elem, const Point &p) |
static Point | ifem_inverse_map (const unsigned int dim, const FEType &fe_t, const Elem *elem, const Point &p, const Real tolerance=TOLERANCE, const bool secure=true) |
static void | ifem_inverse_map (const unsigned int dim, const FEType &fe_t, const Elem *elem, const std::vector< Point > &physical_points, std::vector< Point > &reference_points, const Real tolerance=TOLERANCE, const bool secure=true) |
static bool | ifem_on_reference_element (const Point &p, const ElemType t, const Real eps) |
static Real | ifem_shape (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const Point &p) |
static Real | ifem_shape (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const Point &p) |
static Real | ifem_shape_deriv (const unsigned int dim, const FEType &fe_t, const ElemType t, const unsigned int i, const unsigned int j, const Point &p) |
static Real | ifem_shape_deriv (const unsigned int dim, const FEType &fe_t, const Elem *elem, const unsigned int i, const unsigned int j, const Point &p) |
static void | ifem_compute_data (const unsigned int dim, const FEType &fe_t, const Elem *elem, FEComputeData &data) |
This class provides an encapsulated access to all static public member functions of finite element classes.
Using this class, one need not worry about the correct finite element class.
Interface class which provides access to FE functions.
Definition at line 65 of file fe_interface.h.
typedef unsigned int(* libMesh::FEInterface::n_dofs_at_node_ptr) (const ElemType, const Order, const unsigned int) |
Definition at line 126 of file fe_interface.h.
typedef Real(* libMesh::FEInterface::shape_deriv_ptr) (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level) |
Definition at line 345 of file fe_interface.h.
typedef Real(* libMesh::FEInterface::shape_ptr) (const Elem *elem, const Order o, const unsigned int i, const Point &p, const bool add_p_level) |
Definition at line 296 of file fe_interface.h.
typedef Real(* libMesh::FEInterface::shape_second_deriv_ptr) (const Elem *elem, const Order o, const unsigned int i, const unsigned int j, const Point &p, const bool add_p_level) |
Definition at line 409 of file fe_interface.h.
|
private |
Empty constructor.
Do not create an object of this type.
Definition at line 36 of file fe_interface.C.
|
inlinevirtual |
|
static |
Computes the constraint matrix contributions (for non-conforming adapted meshes) corresponding to variable number var_number
.
Definition at line 1103 of file fe_interface.C.
References libMesh::BERNSTEIN, libMesh::CLOUGH, libMesh::FE< Dim, T >::compute_constraints(), libMesh::Elem::dim(), libMesh::FEType::family, libMesh::HERMITE, libMesh::HIERARCHIC, libMesh::L2_HIERARCHIC, libMesh::LAGRANGE, libMesh::LAGRANGE_VEC, libMesh::libmesh_assert(), libMesh::RATIONAL_BERNSTEIN, libMesh::SZABAB, and libMesh::DofMap::variable_type().
|
static |
Lets the appropriate child of FEBase
compute the requested data for the input specified in data
, and sets the values in data
.
See this as a generalization of shape()
. With infinite elements disabled, computes values for all shape functions of elem
evaluated at p
.
fe_t.order
should be the base order of the element. Definition at line 1028 of file fe_interface.C.
References libMesh::FEGenericBase< OutputType >::build(), data, dim, ifem_compute_data(), is_InfFE_elem(), n_dofs(), shape(), shape_deriv(), and libMesh::Elem::type().
Referenced by libMesh::MeshFunction::discontinuous_gradient(), libMesh::MeshFunction::discontinuous_value(), libMesh::DTKEvaluator::evaluate(), libMesh::MeshFunction::gradient(), libMesh::MeshFunction::operator()(), libMesh::System::point_gradient(), and libMesh::System::point_value().
|
static |
Computes the constraint matrix contributions (for periodic boundary conditions) corresponding to variable number var_number
.
Definition at line 1259 of file fe_interface.C.
References libMesh::FEGenericBase< OutputType >::compute_periodic_constraints(), and mesh.
|
static |
Fills the vector di with the local degree of freedom indices associated with edge e
of element elem
Automatically decides which finite element class to use.
On a p-refined element, fe_t.order
should be the base order of the element.
Definition at line 566 of file fe_interface.C.
References libMesh::FEType::order.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectEdges::operator()().
|
static |
Fills the vector di with the local degree of freedom indices associated with side s
of element elem
Automatically decides which finite element class to use.
On a p-refined element, fe_t.order
should be the base order of the element.
Definition at line 553 of file fe_interface.C.
References libMesh::FEType::order.
Referenced by libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_periodic_constraints(), libMesh::FEGenericBase< FEOutputType< T >::type >::compute_proj_constraints(), and libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectSides::operator()().
|
static |
true
if separate degrees of freedom must be allocated for vertex DoFs and edge/face DoFs at a hanging node. Definition at line 1656 of file fe_interface.C.
References libMesh::BERNSTEIN, libMesh::CLOUGH, libMesh::FEType::family, libMesh::HERMITE, libMesh::HIERARCHIC, libMesh::L2_HIERARCHIC, libMesh::L2_LAGRANGE, libMesh::LAGRANGE, libMesh::LAGRANGE_VEC, libMesh::MONOMIAL, libMesh::MONOMIAL_VEC, libMesh::NEDELEC_ONE, libMesh::RATIONAL_BERNSTEIN, libMesh::SUBDIVISION, libMesh::SZABAB, and libMesh::XYZ.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::DofMap::old_dof_indices(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), and libMesh::DofMap::reinit().
|
static |
Definition at line 1688 of file fe_interface.C.
References libMesh::LAGRANGE_VEC, libMesh::MONOMIAL_VEC, libMesh::NEDELEC_ONE, libMesh::TYPE_SCALAR, and libMesh::TYPE_VECTOR.
|
static |
Definition at line 1683 of file fe_interface.C.
References libMesh::FEType::family.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::EquationSystems::build_variable_names(), libMesh::ExactSolution::compute_error(), libMesh::FEGenericBase< FEOutputType< T >::type >::determine_calculations(), libMesh::ExactSolution::error_norm(), and libMesh::FEMSystem::init_context().
|
static |
Returns the input FEType's FEContinuity based on the underlying FEFamily and potentially the Order, although we do not currently support FEs with order-dependent continuity.
These should exactly match the FEBase::get_continuity() specializations/overrides for the different FE types.
Definition at line 1719 of file fe_interface.C.
References libMesh::BERNSTEIN, libMesh::C_ONE, libMesh::C_ZERO, libMesh::CLOUGH, libMesh::DISCONTINUOUS, libMesh::Utility::enum_to_string(), libMesh::FEType::family, libMesh::H_CURL, libMesh::HERMITE, libMesh::HIERARCHIC, libMesh::INFINITE_MAP, libMesh::JACOBI_20_00, libMesh::JACOBI_30_00, libMesh::L2_HIERARCHIC, libMesh::L2_LAGRANGE, libMesh::LAGRANGE, libMesh::LAGRANGE_VEC, libMesh::LEGENDRE, libMesh::MONOMIAL, libMesh::MONOMIAL_VEC, libMesh::NEDELEC_ONE, libMesh::RATIONAL_BERNSTEIN, libMesh::SCALAR, libMesh::SUBDIVISION, libMesh::SZABAB, and libMesh::XYZ.
|
staticprivate |
Definition at line 918 of file fe_interface_inf_fe.C.
References libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), data, dim, libMesh::INFINITE_MAP, libMesh::JACOBI_20_00, libMesh::JACOBI_30_00, libMesh::LAGRANGE, libMesh::LEGENDRE, and libMesh::FEType::radial_family.
Referenced by compute_data().
|
staticprivate |
Definition at line 510 of file fe_interface_inf_fe.C.
References libMesh::CARTESIAN, dim, libMesh::ELLIPSOIDAL, libMesh::FEType::inf_map, libMesh::InfFE< Dim, T_radial, T_map >::inverse_map(), and libMesh::SPHERICAL.
Referenced by inverse_map().
|
staticprivate |
Definition at line 603 of file fe_interface_inf_fe.C.
References libMesh::CARTESIAN, dim, libMesh::FEType::inf_map, and libMesh::InfFE< Dim, T_radial, T_map >::inverse_map().
|
staticprivate |
Definition at line 479 of file fe_interface_inf_fe.C.
References libMesh::CARTESIAN, dim, libMesh::ELLIPSOIDAL, libMesh::FEType::inf_map, libMesh::InfFE< Dim, T_radial, T_map >::map(), and libMesh::SPHERICAL.
Referenced by map().
|
staticprivate |
Definition at line 134 of file fe_interface_inf_fe.C.
References dim, and libMesh::InfFE< Dim, T_radial, T_map >::n_dofs().
Referenced by n_dofs().
|
staticprivate |
Definition at line 165 of file fe_interface_inf_fe.C.
References dim, and libMesh::InfFE< Dim, T_radial, T_map >::n_dofs_at_node().
Referenced by n_dofs_at_node().
|
staticprivate |
Definition at line 198 of file fe_interface_inf_fe.C.
References dim, and libMesh::InfFE< Dim, T_radial, T_map >::n_dofs_per_elem().
Referenced by n_dofs_per_elem().
|
staticprivate |
Definition at line 102 of file fe_interface_inf_fe.C.
References dim, and libMesh::InfFE< Dim, T_radial, T_map >::n_shape_functions().
Referenced by n_shape_functions().
|
staticprivate |
Definition at line 229 of file fe_interface_inf_fe.C.
References libMesh::CARTESIAN, dim, libMesh::FEType::inf_map, libMesh::INFINITE_MAP, libMesh::JACOBI_20_00, libMesh::JACOBI_30_00, libMesh::LAGRANGE, libMesh::LEGENDRE, nodal_soln(), libMesh::InfFE< Dim, T_radial, T_map >::nodal_soln(), and libMesh::FEType::radial_family.
Referenced by nodal_soln().
|
staticprivate |
Definition at line 665 of file fe_interface_inf_fe.C.
References libMesh::FEAbstract::on_reference_element().
|
staticprivate |
Definition at line 773 of file fe_interface_inf_fe.C.
References dim, libMesh::INFINITE_MAP, libMesh::JACOBI_20_00, libMesh::JACOBI_30_00, libMesh::LAGRANGE, libMesh::LEGENDRE, libMesh::FEType::radial_family, and libMesh::InfFE< Dim, T_radial, T_map >::shape().
|
staticprivate |
Definition at line 675 of file fe_interface_inf_fe.C.
References dim, libMesh::INFINITE_MAP, libMesh::JACOBI_20_00, libMesh::JACOBI_30_00, libMesh::LAGRANGE, libMesh::LEGENDRE, libMesh::FEType::radial_family, and libMesh::InfFE< Dim, T_radial, T_map >::shape().
Referenced by shape().
|
staticprivate |
|
staticprivate |
Definition at line 893 of file fe_interface_inf_fe.C.
References dim, and shape_deriv().
Referenced by shape_deriv().
|
static |
This is now deprecated; use FEMap::inverse_map instead.
Definition at line 620 of file fe_interface.C.
References dim, ifem_inverse_map(), is_InfFE_elem(), and libMesh::Elem::type().
Referenced by inverse_map().
|
static |
This is now deprecated; use FEMap::inverse_map instead.
Definition at line 640 of file fe_interface.C.
References dim, libMesh::err, ifem_inverse_map(), inverse_map(), is_InfFE_elem(), libMesh::TypeVector< T >::size(), and libMesh::Elem::type().
|
staticprivate |
true
if et
is an element to be processed by class InfFE
, false otherwise or when !LIBMESH_ENABLE_INFINITE_ELEMENTS. Definition at line 46 of file fe_interface.C.
Referenced by compute_data(), inverse_map(), map(), n_dofs(), n_dofs_at_node(), n_dofs_per_elem(), n_shape_functions(), nodal_soln(), shape(), shape_deriv(), and shape_second_deriv().
|
static |
This is now deprecated; use FEMap::map instead.
Definition at line 604 of file fe_interface.C.
References dim, ifem_map(), is_InfFE_elem(), and libMesh::Elem::type().
Definition at line 1281 of file fe_interface.C.
References libMesh::BERNSTEIN, libMesh::CLOUGH, libMesh::EDGE2, libMesh::EDGE3, libMesh::EDGE4, libMesh::FEType::family, libMesh::HERMITE, libMesh::HEX20, libMesh::HEX27, libMesh::HEX8, libMesh::HIERARCHIC, libMesh::L2_HIERARCHIC, libMesh::L2_LAGRANGE, libMesh::LAGRANGE, libMesh::LAGRANGE_VEC, libMesh::MONOMIAL, libMesh::MONOMIAL_VEC, libMesh::NEDELEC_ONE, libMesh::PRISM15, libMesh::PRISM18, libMesh::PRISM6, libMesh::PYRAMID13, libMesh::PYRAMID14, libMesh::PYRAMID5, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::QUADSHELL4, libMesh::QUADSHELL8, libMesh::RATIONAL_BERNSTEIN, libMesh::SUBDIVISION, libMesh::SZABAB, libMesh::TET10, libMesh::TET4, libMesh::TRI3, libMesh::TRI3SUBDIVISION, libMesh::TRI6, libMesh::TRISHELL3, and libMesh::XYZ.
Referenced by libMesh::DofMap::reinit().
|
static |
Similar to the function above but takes an Elem * and accounts for p-refinement internally, if any.
This function is designed to prevent users from needing to trick FEInterface::n_dofs() into giving them the right number of dofs when working with p-refined elements. See, e.g. FEInterface::compute_data().
Definition at line 492 of file fe_interface.C.
References dim, n_dofs(), libMesh::FEType::order, libMesh::Elem::p_level(), and libMesh::Elem::type().
|
static |
On a p-refined element, fe_t.order
should be the total order of the element.
Definition at line 472 of file fe_interface.C.
References dim, ifem_n_dofs(), is_InfFE_elem(), and libMesh::FEType::order.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), compute_data(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), n_dofs(), libMesh::InfFE< Dim, T_radial, T_map >::n_dofs(), and libMesh::HPCoarsenTest::select_refinement().
|
static |
fe_t
. Automatically decides which finite element class to use.On a p-refined element, fe_t.order
should be the total order of the element.
Definition at line 503 of file fe_interface.C.
References dim, ifem_n_dofs_at_node(), is_InfFE_elem(), and libMesh::FEType::order.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::DofMap::_node_dof_indices(), libMesh::FEGenericBase< FEOutputType< T >::type >::coarsened_dof_values(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_indices(), libMesh::DofMap::constrain_p_dofs(), libMesh::InfFE< Dim, T_radial, T_map >::n_dofs_at_node(), n_dofs_at_node_function(), libMesh::DofMap::old_dof_indices(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::ProjectVertices::operator()(), and libMesh::DofMap::reinit().
|
static |
Definition at line 523 of file fe_interface.C.
References n_dofs_at_node().
Referenced by libMesh::DofMap::_dof_indices(), and libMesh::DofMap::old_dof_indices().
|
static |
On a p-refined element, fe_t.order
should be the total order of the element.
Definition at line 534 of file fe_interface.C.
References dim, ifem_n_dofs_per_elem(), is_InfFE_elem(), and libMesh::FEType::order.
Referenced by libMesh::DofMap::_dof_indices(), libMesh::InfFE< Dim, T_radial, T_map >::compute_shape_indices(), libMesh::OldSolutionValue< Output, point_output >::eval_old_dofs(), libMesh::InfFE< Dim, T_radial, T_map >::n_dofs_per_elem(), libMesh::DofMap::old_dof_indices(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SortAndCopy::operator()(), and libMesh::DofMap::reinit().
|
static |
fe_t
. Automatically decides which finite element class to use.On a p-refined element, fe_t.order
should be the total order of the element.
Definition at line 446 of file fe_interface.C.
References dim, ifem_n_shape_functions(), is_InfFE_elem(), and libMesh::FEType::order.
Referenced by libMesh::FEMap::compute_face_map(), libMesh::FEMap::init_edge_shape_functions(), libMesh::FEMap::init_face_shape_functions(), libMesh::FEMap::init_reference_to_physical_map(), libMesh::FEMap::map(), libMesh::FEMap::map_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), and libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv().
|
static |
Definition at line 1701 of file fe_interface.C.
References libMesh::FEType::family, libMesh::LAGRANGE_VEC, mesh, libMesh::MONOMIAL_VEC, and libMesh::NEDELEC_ONE.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::EquationSystems::build_parallel_solution_vector(), and libMesh::EquationSystems::build_variable_names().
|
static |
Build the nodal soln from the element soln.
This is the solution that will be plotted. Automatically passes the request to the appropriate finite element class member. To indicate that results from this specific implementation of nodal_soln
should not be used, the vector nodal_soln
is returned empty.
On a p-refined element, fe_t.order
should be the base order of the element.
Definition at line 580 of file fe_interface.C.
References dim, ifem_nodal_soln(), is_InfFE_elem(), libMesh::FEType::order, and libMesh::Elem::type().
Referenced by libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), ifem_nodal_soln(), libMesh::EnsightIO::write_scalar_ascii(), and libMesh::EnsightIO::write_vector_ascii().
|
static |
true
if the point p
is located on the reference element for element type t, false
otherwise.Since we are doing floating point comparisons, the parameter eps
can be specified to indicate a tolerance. For example, \( \xi \le 1 \) becomes \( \xi \le 1 + \epsilon \).
Definition at line 677 of file fe_interface.C.
References libMesh::FEAbstract::on_reference_element().
Referenced by libMesh::InfQuad4::contains_point(), libMesh::InfPrism::contains_point(), libMesh::InfHex::contains_point(), and libMesh::Elem::point_test().
|
static |
p
. This method allows you to specify the dimension, element type, and order directly. Automatically passes the request to the appropriate finite element class member.fe_t.order
should be the base order of the element. Definition at line 705 of file fe_interface.C.
References dim, ifem_shape(), is_InfFE_elem(), libMesh::FEType::order, shape(), and libMesh::Elem::type().
|
static |
p
. This method allows you to specify the dimension, element type, and order directly. Automatically passes the request to the appropriate scalar finite element class member.fe_t.order
should be the total order of the element.
|
static |
Definition at line 765 of file fe_interface.C.
References dim, ifem_shape(), is_InfFE_elem(), libMesh::FEType::order, shape(), and libMesh::Elem::type().
|
static |
|
static |
p
. This method allows you to specify the dimension, element type, and order directly. Automatically passes the request to the appropriate finite element class member.fe_t.order
should be the total order of the element. Definition at line 687 of file fe_interface.C.
References dim, ifem_shape(), is_InfFE_elem(), and libMesh::FEType::order.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), compute_data(), libMesh::FEAbstract::compute_node_constraints(), libMesh::FEAbstract::compute_periodic_node_constraints(), libMesh::FE< Dim, LAGRANGE_VEC >::shape(), shape(), libMesh::InfFE< Dim, T_radial, T_map >::shape(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), shape_function(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), and NavierSystem::side_constraint().
|
static |
p
. This method allows you to specify the dimension, element type, and order directly. Automatically passes the request to the appropriate scalar finite element class member.fe_t.order
should be the total order of the element.
|
static |
Definition at line 724 of file fe_interface.C.
References dim, ifem_shape(), is_InfFE_elem(), libMesh::FEType::order, and shape().
|
static |
|
static |
p
. This method allows you to specify the dimension, element type, and order directly. Automatically passes the request to the appropriate scalar finite element class member.fe_t.order
should be the total order of the element. Definition at line 880 of file fe_interface.C.
References dim, ifem_shape_deriv(), libMesh::Elem::infinite(), libMesh::FEType::order, and shape_deriv().
|
static |
p
. This method allows you to specify the dimension, element type, and order directly. Automatically passes the request to the appropriate scalar finite element class member.fe_t.order
should be the total order of the element. Definition at line 845 of file fe_interface.C.
References dim, ifem_shape_deriv(), is_InfFE_elem(), and libMesh::FEType::order.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), compute_data(), ifem_shape_deriv(), libMesh::FE< Dim, LAGRANGE_VEC >::shape_deriv(), libMesh::InfFE< Dim, T_radial, T_map >::shape_deriv(), shape_deriv(), shape_deriv_function(), and libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv().
|
static |
Definition at line 916 of file fe_interface.C.
References shape_deriv().
Referenced by libMesh::FEMap::init_edge_shape_functions(), libMesh::FEMap::init_face_shape_functions(), libMesh::FEMap::init_reference_to_physical_map(), and libMesh::FEMap::map_deriv().
|
static |
Definition at line 838 of file fe_interface.C.
References shape().
Referenced by libMesh::FEMap::init_edge_shape_functions(), libMesh::FEMap::init_face_shape_functions(), libMesh::FEMap::init_reference_to_physical_map(), and libMesh::FEMap::map().
|
static |
p
.fe_t.order
should be the total order of the element. Definition at line 956 of file fe_interface.C.
References dim, libMesh::Elem::infinite(), libMesh::FEType::order, and shape_second_deriv().
|
static |
p
.This method allows you to specify the dimension, element type, and order directly. Automatically passes the request to the appropriate scalar finite element class member.
fe_t.order
should be the total order of the element. Definition at line 924 of file fe_interface.C.
References dim, is_InfFE_elem(), and libMesh::FEType::order.
Referenced by libMesh::FE< Dim, LAGRANGE_VEC >::shape_second_deriv(), shape_second_deriv(), and shape_second_deriv_function().
|
static |
Definition at line 989 of file fe_interface.C.
References shape_second_deriv().
Referenced by libMesh::FEMap::init_edge_shape_functions(), libMesh::FEMap::init_face_shape_functions(), and libMesh::FEMap::init_reference_to_physical_map().