Go to the documentation of this file.
21 #include "libmesh/edge_edge3.h"
22 #include "libmesh/enum_io_package.h"
23 #include "libmesh/enum_order.h"
32 #ifdef LIBMESH_ENABLE_AMR
75 const unsigned int s)
const
77 libmesh_assert_less (s, 2);
83 const unsigned int libmesh_dbg_var(e))
const
85 libmesh_assert_equal_to (e, 0);
93 return (this->
point(2).relative_fuzzy_equals
108 std::vector<dof_id_type> & conn)
const
110 libmesh_assert_less_equal (sc, 1);
134 libmesh_error_msg(
"Invalid sc = " << sc);
169 libmesh_error_msg(
"Unsupported IO package " << iop);
175 std::pair<unsigned short int, unsigned short int>
178 return std::pair<unsigned short int, unsigned short int>(0,0);
190 const Real a =
A.norm_sq();
191 const Real c =
B.norm_sq();
206 Real log_term = (1. - 0.5*ba + s1) / (-1. - 0.5*ba + s2);
209 return 0.5*
std::sqrt(a)*((1.-0.5*ba)*s1 +
211 (ca - 0.25*ba*ba)*std::log(log_term)
224 for (
unsigned d=0; d<LIBMESH_DIM; ++d)
230 pmin(d) = center - hd;
231 pmax(d) = center + hd;
static dof_id_type compute_key(dof_id_type n0)
virtual bool is_edge(const unsigned int i) const override
IOPackage
libMesh interfaces with several different software packages for the purposes of creating,...
Defines a Cartesian bounding box by the two corner extremum.
The libMesh namespace provides an interface to certain functionality in the library.
MetaPhysicL::DualNumber< T, D > sqrt(const MetaPhysicL::DualNumber< T, D > &in)
static const Real TOLERANCE
static const int num_nodes
Geometric constants for Edge3.
const Point & point(const unsigned int i) const
MetaPhysicL::DualNumber< T, D > abs(const MetaPhysicL::DualNumber< T, D > &in)
virtual dof_id_type key() const override
Compute a unique key for this element which is suitable for hashing (not necessarily unique,...
A Point defines a location in LIBMESH_DIM dimensional Real space.
virtual bool has_affine_map() const override
virtual bool is_face(const unsigned int i) const override
virtual bool is_vertex(const unsigned int i) const override
static PetscErrorCode Mat * A
virtual std::pair< unsigned short int, unsigned short int > second_order_child_vertex(const unsigned int n) const override
virtual BoundingBox loose_bounding_box() const override
virtual bool is_node_on_edge(const unsigned int n, const unsigned int e) const override
virtual bool is_node_on_side(const unsigned int n, const unsigned int s) const override
virtual Order default_order() const override
virtual unsigned int n_sub_elem() const override
static const int num_children
virtual Real volume() const override
An optimized method for computing the length of a 3-node edge.
virtual void connectivity(const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const override
dof_id_type node_id(const unsigned int i) const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const float _embedding_matrix[num_children][num_nodes][num_nodes]
Matrix that computes new nodal locations/solution values from current nodes/solution.