PeriDEM 0.3.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
hexElem.h
Go to the documentation of this file.
1/*
2 * -------------------------------------------
3 * Copyright (c) 2021 - 2026 Prashant K. Jha
4 * -------------------------------------------
5 * PeriDEM https://github.com/prashjha/PeriDEM
6 *
7 * Distributed under the Boost Software License, Version 1.0. (See accompanying
8 * file LICENSE)
9 */
10
11#ifndef FE_HEXELEM_H
12#define FE_HEXELEM_H
13
14#include "baseElem.h"
15
16namespace fe {
17
24class HexElem : public BaseElem {
25
26public:
27 explicit HexElem(size_t order);
28
29 double elemSize(const std::vector<util::Point> &nodes) override;
30
31private:
32 std::vector<double> getShapes(const util::Point &p) override;
33
34 std::vector<std::vector<double>> getDerShapes(const util::Point &p) override;
35
36 double getJacobian(const util::Point &p,
37 const std::vector<util::Point> &nodes,
38 std::vector<std::vector<double>> *J) override;
39
40 void init() override;
41};
42
43} // namespace fe
44
45#endif // FE_HEXELEM_H
A base class which provides methods to map points to/from reference element and to compute quadrature...
Definition baseElem.h:84
Trilinear hexahedron (VTK type 12) on reference cube [-1,1]^3.
Definition hexElem.h:24
double getJacobian(const util::Point &p, const std::vector< util::Point > &nodes, std::vector< std::vector< double > > *J) override
Computes Jacobian of map from reference element to given element .
Definition hexElem.cpp:62
std::vector< double > getShapes(const util::Point &p) override
Returns the values of shape function at point p on reference element.
Definition hexElem.cpp:43
std::vector< std::vector< double > > getDerShapes(const util::Point &p) override
Returns the values of derivative of shape function at point p on reference element.
Definition hexElem.cpp:52
double elemSize(const std::vector< util::Point > &nodes) override
Returns the size of element (length in 1-d, area in 2-d, volume in 3-d element)
Definition hexElem.cpp:32
void init() override
Compute the quadrature points.
Definition hexElem.cpp:83
Definition baseElem.h:17
A structure to represent 3d vectors.
Definition point.h:30