示例#1
0
const Elem & get (const ElemType Type)
{
    libmesh_assert_less (Type, INVALID_ELEM);

    init_ref_elem_table();

    libmesh_assert (ref_elem_map[Type] != NULL);

    return *ref_elem_map[Type];
}
示例#2
0
const Elem & get (const ElemType type_in)
{
  ElemType base_type = type_in;

  // For shell elements, use non shell type as the base type
  if (type_in == TRISHELL3)
    base_type = TRI3;

  if (type_in == QUADSHELL4)
    base_type = QUAD4;

  if (type_in == QUADSHELL8)
    base_type = QUAD8;

  init_ref_elem_table();

  // Throw an error if the user asked for an ElemType that we don't
  // have a reference element for.
  if (ref_elem_map[base_type] == nullptr || type_in == INVALID_ELEM)
    libmesh_error_msg("No reference elem data available for ElemType " << type_in << " = " << Utility::enum_to_string(type_in) << ".");

  return *ref_elem_map[base_type];
}