32 #ifdef LIBMESH_ENABLE_AMR 41 {-0.0625, -0.0625, 0.5625, 0.5625},
42 {0.3125, 0.0625, 0.9375, -0.3125},
49 {-0.0625, -0.0625, 0.5625, 0.5625},
52 {0.0625, 0.3125, -0.3125, 0.9375}
60 return (i==0) || (i==1);
65 return (i==2) || (i==3);
74 const unsigned int s)
const 76 libmesh_assert_less (s, 2);
82 const unsigned int libmesh_dbg_var(e))
const 84 libmesh_assert_equal_to (e, 0);
92 if (!this->
point(2).relative_fuzzy_equals
95 if (!this->
point(3).relative_fuzzy_equals
112 std::vector<dof_id_type> & conn)
const 114 libmesh_assert_less_equal (sc, 2);
143 libmesh_error_msg(
"Invalid sc = " << sc);
169 libmesh_error_msg(
"Invalid sc = " << sc);
174 libmesh_error_msg(
"Unsupported IO package " << iop);
190 for (
unsigned d=0; d<LIBMESH_DIM; ++d)
196 pmin(d) = center - hd;
197 pmax(d) = center + hd;
229 a1 = -27*x0/16 + 27*x1/16 + 81*x2/16 - 81*x3/16,
230 b1 = 9*x0/8 + 9*x1/8 - 9*x2/8 - 9*x3/8,
231 c1 = x0/16 - x1/16 - 27*x2/16 + 27*x3/16;
234 const unsigned int N = 4;
235 const Real q[N] = {-std::sqrt(525 + 70*std::sqrt(30.)) / 35,
236 -std::sqrt(525 - 70*std::sqrt(30.)) / 35,
237 std::sqrt(525 - 70*std::sqrt(30.)) / 35,
238 std::sqrt(525 + 70*std::sqrt(30.)) / 35};
239 const Real w[N] = {(18 - std::sqrt(30.)) / 36,
240 (18 + std::sqrt(30.)) / 36,
241 (18 + std::sqrt(30.)) / 36,
242 (18 - std::sqrt(30.)) / 36};
245 for (
unsigned int i=0; i<N; ++i)
246 vol += w[i] * (q[i]*q[i]*a1 + q[i]*b1 + c1).norm();
static const int num_children
virtual bool is_node_on_side(const unsigned int n, const unsigned int s) const override
virtual void connectivity(const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const override
virtual BoundingBox loose_bounding_box() const override
virtual bool is_edge(const unsigned int i) const override
static const int num_nodes
virtual dof_id_type key() const override
virtual bool is_face(const unsigned int i) const override
long double max(long double a, double b)
virtual unsigned int n_sub_elem() const override
virtual Real volume() const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual bool is_vertex(const unsigned int i) const override
virtual bool has_affine_map() const override
virtual Order default_order() const override
static dof_id_type compute_key(dof_id_type n0)
static const float _embedding_matrix[num_children][num_nodes][num_nodes]
virtual bool is_node_on_edge(const unsigned int n, const unsigned int e) const override
A geometric point in (x,y,z) space.
dof_id_type node_id(const unsigned int i) const
const Point & point(const unsigned int i) const