$extrastylesheet
#include <inf_fe.h>
Static Public Member Functions | |
| static Elem * | build_elem (const Elem *inf_elem) |
| static ElemType | get_elem_type (const ElemType type) |
| static unsigned int | n_base_mapping_sf (const ElemType base_elem_type, const Order base_mapping_order) |
Private Member Functions | |
| Base () | |
This nested class contains most of the static methods related to the base part of an infinite element. Only static members are provided, and these should only be accessible from within InfFE.
| libMesh::InfFE< Dim, T_radial, T_map >::Base::Base | ( | ) | [inline, private] |
| Elem * libMesh::InfFE< Dim, T_radial, T_base >::Base::build_elem | ( | const Elem * | inf_elem | ) | [static] |
Build the base element of an infinite element. Be careful, this method allocates memory! So be sure to delete the new element afterwards.
Definition at line 36 of file inf_fe_base_radial.C.
References libMesh::Elem::build_side().
{
UniquePtr<Elem> ape(inf_elem->build_side(0));
return ape.release();
}
| ElemType libMesh::InfFE< Dim, T_radial, T_base >::Base::get_elem_type | ( | const ElemType | type | ) | [static] |
type. This is, for example, TRI3 for INFPRISM6. Definition at line 46 of file inf_fe_base_radial.C.
References libMesh::EDGE2, libMesh::EDGE3, libMesh::INFEDGE2, libMesh::INFHEX16, libMesh::INFHEX18, libMesh::INFHEX8, libMesh::INFPRISM12, libMesh::INFPRISM6, libMesh::INFQUAD4, libMesh::INFQUAD6, libMesh::INVALID_ELEM, libMesh::QUAD4, libMesh::QUAD8, libMesh::QUAD9, libMesh::TRI3, and libMesh::TRI6.
{
switch (type)
{
// 3D infinite elements:
// with Dim=3 -> infinite elements on their own
case INFHEX8:
return QUAD4;
case INFHEX16:
return QUAD8;
case INFHEX18:
return QUAD9;
case INFPRISM6:
return TRI3;
case INFPRISM12:
return TRI6;
// 2D infinite elements:
// with Dim=3 -> used as boundary condition,
// with Dim=2 -> infinite elements on their own
case INFQUAD4:
return EDGE2;
case INFQUAD6:
return EDGE3;
// 1D infinite elements:
// with Dim=2 -> used as boundary condition,
// with Dim=1 -> infinite elements on their own,
// but no base element!
case INFEDGE2:
return INVALID_ELEM;
default:
libmesh_error_msg("ERROR: Unsupported element type!: " << type);
}
libmesh_error_msg("We'll never get here!");
return INVALID_ELEM;
}
| unsigned int libMesh::InfFE< Dim, T_radial, T_base >::Base::n_base_mapping_sf | ( | const ElemType | base_elem_type, |
| const Order | base_mapping_order | ||
| ) | [static] |
base_elem_type mapped with order base_mapping_order Definition at line 96 of file inf_fe_base_radial.C.
References libMesh::InfFE< Dim, T_radial, T_map >::n_shape_functions().
{
if (Dim == 1)
return 1;
else if (Dim == 2)
return FE<1,LAGRANGE>::n_shape_functions (base_elem_type,
base_mapping_order);
else if (Dim == 3)
return FE<2,LAGRANGE>::n_shape_functions (base_elem_type,
base_mapping_order);
else
{
libmesh_error_msg("Unsupported Dim = " << Dim);
return 0;
}
}