28#ifndef OOMPH_REFINEABLE_AXISYM_CYLINDRICAL_ELASTICITY_ELEMENTS_HEADER
29#define OOMPH_REFINEABLE_AXISYM_CYLINDRICAL_ELASTICITY_ELEMENTS_HEADER
33#include "../generic/refineable_quad_element.h"
34#include "../generic/refineable_brick_element.h"
35#include "../generic/error_estimator.h"
61 const unsigned&
flag);
92 std::ostringstream error_message;
93 error_message <<
"The flux vector has the wrong number of entries, "
110 for (
unsigned i = 0;
i < 3;
i++)
153 template<
unsigned NNODE_1D>
201 template<
unsigned NNODE_1D>
215 template<
unsigned NNODE_1D>
A class for elements that solve the equations of solid mechanics, based on the principle of virtual d...
ConstitutiveLaw * Constitutive_law_pt
Pointer to constitutive law.
BodyForceFctPt & body_force_fct_pt()
Access function: Pointer to body force function.
void get_strain(const Vector< double > &s, DenseMatrix< double > &strain) const
Get the strain.
BodyForceFctPt Body_force_fct_pt
Pointer to body force function.
double * Eta_mass_pt
Pointer to the mass damping parameter.
ConstitutiveLaw *& constitutive_law_pt()
Return the constitutive law pointer.
double *& lambda_sq_pt()
Access function for pointer to timescale ratio (nondim density)
double * Lambda_sq_pt
Timescale ratio (non-dim. density)
double *& eta_mass_pt()
Access function for mass damping parameter.
Base class for finite elements that can compute the quantities that are required for the Z2 error est...
FaceGeometry class definition: This policy class is used to allow construction of face elements that ...
virtual unsigned nvertex_node() const
Return the number of vertex nodes in this element. Broken virtual function in "pure" finite elements.
double size() const
Calculate the size of the element (length, area, volume,...) in Eulerian computational coordinates....
virtual Node * vertex_node_pt(const unsigned &j) const
Pointer to the j-th vertex node in the element. Broken virtual function in "pure" finite elements.
Nodes are derived from Data, but, in addition, have a definite (Eulerian) position in a space of a gi...
An OomphLibError object which should be thrown when an run-time error is encountered....
Point element has just a single node and a single shape function which is identically equal to one.
Class for Refineable axisymmetric PVD equations in cylindrical coords.
void get_Z2_flux(const Vector< double > &s, Vector< double > &flux)
Get 'flux' for Z2 error recovery: Upper triangular entries in strain tensor.
void get_interpolated_values(const unsigned &t, const Vector< double > &s, Vector< double > &values)
No values are interpolated in this element (pure solid)
void further_build()
Further build function, pass the pointers down to the sons.
unsigned ncont_interpolated_values() const
Number of continuously interpolated values: 0 (pure solid problem)
unsigned num_Z2_flux_terms()
Number of 'flux' terms for Z2 error estimation.
void fill_in_contribution_to_residuals_axisym_pvd(Vector< double > &residuals, DenseMatrix< double > &jacobian, const unsigned &flag)
Call the residuals including hanging node cases.
RefineableAxisymmetricCylindricalPVDEquations()
Constructor.
void get_interpolated_values(const Vector< double > &s, Vector< double > &values)
No values are interpolated in this element (pure solid)
RefineableElements are FiniteElements that may be subdivided into children to provide a better local ...
virtual RefineableElement * father_element_pt() const
Return a pointer to the father element.
Class for refineable QPVDElement elements.
Node * vertex_node_pt(const unsigned &j) const
Pointer to the j-th vertex node in the element.
unsigned nvertex_node() const
Number of vertex nodes in the element.
void rebuild_from_sons(Mesh *&mesh_pt)
Empty rebuild from sons, no need to reconstruct anything here.
unsigned nrecovery_order()
Order of recovery shape functions for Z2 error estimation: Same order as shape functions.
void further_setup_hanging_nodes()
No additional hanging node procedures are required for the solid elements.
RefineableQAxisymmetricCylindricalPVDElement()
Constructor:
RefineableSolidElements are SolidFiniteElements that may be subdivided into children to provide a bet...
virtual void further_build()
Further build: Pass the father's Use_undeformed_macro_element_for_new_lagrangian_coords flag down,...
A class that is used to template the solid refineable Q elements by dimension. It's really nothing mo...
SolidQElement elements are quadrilateral elements whose derivatives also include those based upon the...
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).