#include <DeformedBoundaryElement.hpp>
Inherits BoundaryElement< ELEM_DIM, SPACE_DIM >.
Public Member Functions | |
DeformedBoundaryElement () | |
~DeformedBoundaryElement () | |
void | ApplyUndeformedElementAndDisplacement (BoundaryElement< ELEM_DIM, SPACE_DIM > *pUndeformedElement, std::vector< c_vector< double, SPACE_DIM > > &rDisplacement) |
Static Private Attributes | |
static const size_t | NUM_NODES = ELEM_DIM+1 |
The mechanics solvers in some cases require performing integration over deformed surfaces, for which this class is a helper class. It takes in an base boundary element, and a set of displacements for each node of the mesh, and sets up the corresponding deformed boundary element, on which CalculateNormal(), ComputeJacobianDeterminant() etc can be called.
Note: just use the vertices of the elements, ignores internal nodes, hence this class is treats the element as a linear element (ie ignores the possible curved deformed edges). Hence the outward normal, jacobian determinant etc is constant across the element.
Definition at line 50 of file DeformedBoundaryElement.hpp.
DeformedBoundaryElement< ELEM_DIM, SPACE_DIM >::DeformedBoundaryElement | ( | ) | [inline] |
Constructor.
Sets up the nodes of the mesh. Gives them the locations of the canonical element (although this will be overwritten when the undeformed element is given in ApplyUndeformedElementAndDisplacement()
Definition at line 32 of file DeformedBoundaryElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::AddNode().
DeformedBoundaryElement< ELEM_DIM, SPACE_DIM >::~DeformedBoundaryElement | ( | ) | [inline] |
Destructor deletes the nodes in the element (as they were created in the constructor)
Definition at line 54 of file DeformedBoundaryElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::mNodes.
void DeformedBoundaryElement< ELEM_DIM, SPACE_DIM >::ApplyUndeformedElementAndDisplacement | ( | BoundaryElement< ELEM_DIM, SPACE_DIM > * | pUndeformedElement, | |
std::vector< c_vector< double, SPACE_DIM > > & | rDisplacement | |||
) | [inline] |
Apply an undeformed boundary element and corresponding displacements of each node (Note: just displacements of the vertices of the element, not any internal nodes).
Over-writes the nodal locations with the given data.
pUndeformedElement | The undeformed element | |
rDisplacement | Displacement of each node (should be of size ELEM_DIM+1, ie num vertices in the element). |
Definition at line 63 of file DeformedBoundaryElement.cpp.
References AbstractElement< ELEMENT_DIM, SPACE_DIM >::GetNode(), and DeformedBoundaryElement< ELEM_DIM, SPACE_DIM >::NUM_NODES.
Referenced by IncompressibleNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElement(), and CompressibleNonlinearElasticitySolver< DIM >::AssembleOnBoundaryElement().
const size_t DeformedBoundaryElement< ELEM_DIM, SPACE_DIM >::NUM_NODES = ELEM_DIM+1 [static, private] |
Number of nodes (or actually, vertices) per boundary element.
Definition at line 54 of file DeformedBoundaryElement.hpp.
Referenced by DeformedBoundaryElement< ELEM_DIM, SPACE_DIM >::ApplyUndeformedElementAndDisplacement().