Example codes
and tutorials
The (Not-so) Quick Guide
List of tutorials/demo codes
Single-Physics Problems
Poisson
Adaptivity illustrated for Poisson
Advection-Diffusion
Unsteady heat equation
Linear wave equation
The Young-Laplace equation
Navier-Stokes
Free-surface Navier-Stokes
Axisymmetric Navier-Stokes
Solid mechanics
Beam structures
Shell structures
Multi-physics Problems
Fluid-structure interaction
Boussinesq convection
Steady thermoelasticity
Methods-based example codes and tutorials
Mesh generation
Linear solvers and preconditioners
Visualisation of the results
Parallel processing
How to write a new element
How to write a new refineable element
Default nonlinear solvers -- the sequence of action functions
...
Documentation
FE theory and top-down discussion of the data structure
The (Not-so) Quick Guide
Comprehensive bottom-up discussion of the data structure
List of available structured and unstructured meshes
Linear solvers and preconditioners
Visualisation of the results
Parallel processing
Coding conventions and C++ style
Creating documentation
Optimisation - robustness vs. "raw speed"
Linear vs. nonlinear problems
Storing shape functions
Changing the default "full" integration scheme
Disabling the ALE formulation of unsteady equations
C vs. C++ output
Different sparse assembly techniques and the STL memory pool
Publications
Publications
Talks
Journal publications
Theses
Picture show
Download
Copyright
Download/installation instructions
Download page
FAQ & Contact
FAQ
Change log
Bugs and other known problems
Completeness of the library & our "To-Do List"
Contact the developers
Get involved

 


Beta release!

Please note that the library has not been "officially" released. While we continue to work on the documentation, these web pages are likely to contain broken links and documents in draft form. Please send an email to

oomph-lib AT maths DOT man DOT ac DOT uk

if you wish to be informed of the library's "official" release.

oomph::FiniteElement Class Reference

#include <elements.h>

Inheritance diagram for oomph::FiniteElement:

oomph::GeneralisedElement oomph::GeomObject oomph::AdvectionDiffusionEquations< DIM > oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM > oomph::AxisymmetricNavierStokesEquations oomph::DGElement oomph::ElementWithExternalElement oomph::ElementWithMovingNodes oomph::ElementWithZ2ErrorEstimator oomph::FaceElement oomph::FSIFluidElement oomph::GeneralisedAdvectionDiffusionEquations< DIM > oomph::LinearElasticityEquationsBase< DIM > oomph::LinearWaveEquations< DIM > oomph::PointElement oomph::PoissonEquations< DIM > oomph::QElementBase oomph::QHermiteElement< DIM > oomph::RefineableElement oomph::SolidFiniteElement oomph::SpectralElement oomph::StorableShapeElementBase oomph::TElementBase oomph::UnsteadyHeatEquations< DIM > oomph::WomersleyEquations< DIM > List of all members.

Detailed Description

A general Finite Element class.

The main components of a FiniteElement are:

We also provide interfaces for functions that compute the element's Jacobian matrix and/or the Vector of residuals (inherited from GeneralisedElement) plus various output routines.

Definition at line 941 of file elements.h.


Public Types

typedef void(*) SteadyExactSolutionFctPt (const Vector< double > &, Vector< double > &)
 Function pointer for function that computes vector-valued steady "exact solution" $ {\bf f}({\bf x}) $ as $ \mbox{\tt fct}({\bf x}, {\bf f}) $.
typedef void(*) UnsteadyExactSolutionFctPt (const double &, const Vector< double > &, Vector< double > &)
 Function pointer for function that computes Vector-valued time-dependent function $ {\bf f}(t,{\bf x}) $ as $ \mbox{\tt fct}(t, {\bf x}, {\bf f}) $.

Public Member Functions

void set_nodal_dimension (const unsigned &nodal_dim)
 Set the dimension of the nodes in the element. This will typically only be required when constructing FaceElements or in beam and shell type elements where a lower dimensional surface is embedded in a higher dimensional space.
int nodal_local_eqn (const unsigned &n, const unsigned &i)
 Return the local equation number corresponding to the i-th value at the n-th local node.
 FiniteElement ()
 Constructor.
virtual ~FiniteElement ()
 The destructor cleans up the memory allocated for storage of pointers to nodes. Internal and external data get wiped by the GeneralisedElement destructor; nodes get killed in mesh destructor.
 FiniteElement (const FiniteElement &)
 Broken copy constructor.
void operator= (const FiniteElement &)
 Broken assignment operator.
virtual bool local_coord_is_valid (const Vector< double > &s)
 Check whether the local coordinate are valid or not.
virtual bool local_coord_is_valid (Vector< double > &s, const double &rounding_tolerance)
 Check whether the local coordinate are valid or not, allowing for a rounding tolerance. If the point is outside the element by less than the tolerance, we move it back into the element.
virtual void local_coordinate_of_node (const unsigned &j, Vector< double > &s)
 Get local coordinates of node j in the element; vector sets its own size (broken virtual).
virtual void local_fraction_of_node (const unsigned &j, Vector< double > &s_fraction)
 Get the local fraction of the node j in the element A dumb, but correct default implementation is provided.
virtual double local_one_d_fraction_of_node (const unsigned &n1d, const unsigned &i)
 Get the local fraction of any node in the n-th position in a one dimensional expansion along the i-th local coordinate.
virtual void set_macro_elem_pt (MacroElement *macro_elem_pt)
 Set pointer to macro element -- can be overloaded in derived elements to perform additional tasks.
MacroElementmacro_elem_pt ()
 Access function to pointer to macro element.
void get_x (const Vector< double > &s, Vector< double > &x) const
 Global coordinates as function of local coordinates. Either via FE representation or via macro-element (if Macro_elem_pt!=0).
void get_x (const unsigned &t, const Vector< double > &s, Vector< double > &x)
 Global coordinates as function of local coordinates at previous time "level" t (t=0: present; t>0: previous). Either via FE representation of QElement or via macro-element (if Macro_elem_pt!=0).
virtual void get_x_from_macro_element (const Vector< double > &s, Vector< double > &x) const
 Global coordinates as function of local coordinates using macro element representation. (Broken virtual --- this must be overloaded in specific geometric element classes).
virtual void get_x_from_macro_element (const unsigned &t, const Vector< double > &s, Vector< double > &x)
 Global coordinates as function of local coordinates at previous time "level" t (t=0: present; t>0: previous). using macro element representation (Broken virtual -- overload in specific geometric element class if you want to use this functionality.).
virtual void set_integration_scheme (Integral *const &integral_pt)
 Set the spatial integration scheme.
Integral *const & integral_pt () const
 Return the pointer to the integration scheme (const version).
virtual void shape (const Vector< double > &s, Shape &psi) const =0
 Calculate the geometric shape functions at local coordinate s. This function must be overloaded for each specific geometric element.
virtual void shape_at_knot (const unsigned &ipt, Shape &psi) const
 Return the shape function stored at the ipt-th integration point.
virtual void dshape_local (const Vector< double > &s, Shape &psi, DShape &dpsids) const
 Function to compute the geometric shape functions and derivatives w.r.t. local coordinates at local coordinate s. This function must be overloaded for each specific geometric element. (Broken virtual function --- specifies the interface).
virtual void dshape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids) const
 Return the shape function and its derivatives w.r.t. the local coordinates at the ipt-th integration point.
virtual void d2shape_local (const Vector< double > &s, Shape &psi, DShape &dpsids, DShape &d2psids) const
 Function to compute the geometric shape functions and also first and second derivatives w.r.t. local coordinates at local coordinate s. This function must be overloaded for each specific geometric element (if required). (Broken virtual function --- specifies the interface).

Numbering:
1D:
d2psids(i,0) = $ d^2 \psi_j / ds^2 $
2D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $

3D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_2^2 $
d2psids(i,3) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $
d2psids(i,4) = $ \partial^2 \psi_j / \partial s_0 \partial s_2 $
d2psids(i,5) = $ \partial^2 \psi_j / \partial s_1 \partial s_2 $
.
virtual void d2shape_local_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsids, DShape &d2psids) const
 Return the geometric shape function and its first and second derivatives w.r.t. the local coordinates at the ipt-th integration point.

Numbering:
1D:
d2psids(i,0) = $ d^2 \psi_j / ds^2 $
2D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $

3D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_2^2 $
d2psids(i,3) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $
d2psids(i,4) = $ \partial^2 \psi_j / \partial s_0 \partial s_2 $
d2psids(i,5) = $ \partial^2 \psi_j / \partial s_1 \partial s_2 $
.
virtual double J_eulerian (const Vector< double > &s) const
 Calculate the Jacobian of the mapping between local and global coordinates at the position s.
virtual double J_eulerian_at_knot (const unsigned &ipt) const
 Compute the Jacobian of the mapping between the local and global coordinates at the ipt-th integration point.
double dshape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx) const
 Compute the geometric shape functions and also first derivatives w.r.t. global coordinates at local coordinate s; Returns Jacobian of mapping from global to local coordinates. Most general form of the function, but may be over-loaded, if desired.
virtual double dshape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx) const
 Compute the geometric shape functions and also first derivatives w.r.t. global coordinates at integration point ipt. Most general form of function, but may be over-loaded if desired.
double d2shape_eulerian (const Vector< double > &s, Shape &psi, DShape &dpsidx, DShape &d2psidx) const
 Compute the geometric shape functions and also first and second derivatives w.r.t. global coordinates at local coordinate s; Also returns Jacobian of mapping from global to local coordinates.

Numbering:
1D:
d2psidx(i,0) = $ d^2 \psi_j / d x^2 $
2D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $

3D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_2^2 $
d2psidx(i,3) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $
d2psidx(i,4) = $ \partial^2 \psi_j / \partial x_0 \partial x_2 $
d2psidx(i,5) = $ \partial^2 \psi_j / \partial x_1 \partial x_2 $
.
virtual double d2shape_eulerian_at_knot (const unsigned &ipt, Shape &psi, DShape &dpsidx, DShape &d2psidx) const
 Compute the geometric shape functions and also first and second derivatives w.r.t. global coordinates at ipt-th integration point Returns Jacobian of mapping from global to local coordinates. This is the most general version, may be overloaded, if desired.

Numbering:
1D:
d2psidx(i,0) = $ d^2 \psi_j / d x^2 $
2D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $

3D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_2^2 $
d2psidx(i,3) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $
d2psidx(i,4) = $ \partial^2 \psi_j / \partial x_0 \partial x_2 $
d2psidx(i,5) = $ \partial^2 \psi_j / \partial x_1 \partial x_2 $
.
virtual void assign_nodal_local_eqn_numbers ()
 Assign the local equation numbers for Data stored at the nodes Virtual so that it can be overloaded by RefineableFiniteElements.
virtual void assign_all_generic_local_eqn_numbers ()
 Overloaded version of the calculation of the local equation numbers.
Node *& node_pt (const unsigned &n)
 Return a pointer to the local node n.
Node *const & node_pt (const unsigned &n) const
 Return a pointer to the local node n (const version).
unsigned nnode () const
 Return the number of nodes.
virtual unsigned nnode_1d () const
 Return the number of nodes along one edge of the element Default is to return zero --- must be overloaded by geometric elements.
double raw_nodal_position (const unsigned &n, const unsigned &i) const
 Return the i-th coordinate at local node n. Do not use the hanging node representation.
double raw_nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const
 Return the i-th coordinate at local node n, at time level t (t=0: present; t>0: previous time level). Do not use the hanging node representation.
double raw_dnodal_position_dt (const unsigned &n, const unsigned &i) const
 Return the i-th component of nodal velocity: dx/dt at local node n. Do not use the hanging node representation.
double raw_dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const
 Return the i-th component of j-th derivative of nodal position: d^jx/dt^j at node n. Do not use the hanging node representation.
double raw_nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const
 Return the value of the k-th type of the i-th positional variable at the local node n. Do not use the hanging node representation.
double raw_nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const
 Return the generalised nodal position (type k, i-th variable) at previous timesteps at local node n. Do not use the hanging node representation.
double raw_dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const
 i-th component of time derivative (velocity) of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i. Do not use the hanging node representation.
double raw_dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const
 i-th component of j-th time derivative of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i. Do not use the hanging node representation.
double nodal_position (const unsigned &n, const unsigned &i) const
 Return the i-th coordinate at local node n. If the node is hanging, the appropriate interpolation is handled by the position function in the Node class.
double nodal_position (const unsigned &t, const unsigned &n, const unsigned &i) const
 Return the i-th coordinate at local node n, at time level t (t=0: present; t>0: previous time level) Returns suitably interpolated version for hanging nodes.
double dnodal_position_dt (const unsigned &n, const unsigned &i) const
 Return the i-th component of nodal velocity: dx/dt at local node n.
double dnodal_position_dt (const unsigned &n, const unsigned &j, const unsigned &i) const
 Return the i-th component of j-th derivative of nodal position: d^jx/dt^j at node n.
double nodal_position_gen (const unsigned &n, const unsigned &k, const unsigned &i) const
 Return the value of the k-th type of the i-th positional variable at the local node n.
double nodal_position_gen (const unsigned &t, const unsigned &n, const unsigned &k, const unsigned &i) const
 Return the generalised nodal position (type k, i-th variable) at previous timesteps at local node n.
double dnodal_position_gen_dt (const unsigned &n, const unsigned &k, const unsigned &i) const
 i-th component of time derivative (velocity) of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i.
double dnodal_position_gen_dt (const unsigned &j, const unsigned &n, const unsigned &k, const unsigned &i) const
 i-th component of j-th time derivative of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i.
virtual void get_dresidual_dnodal_coordinates (RankThreeTensor< double > &dresidual_dnodal_coordinates)
 Compute derivatives of elemental residual vector with respect to nodal coordinates. Default implementation by FD can be overwritten for specific elements. dresidual_dnodal_coordinates(l,i,j) = d res(l) / dX_{ij}.
virtual void disable_ALE ()
 This is an empty function that establishes a uniform interface for all (derived) elements that involve time-derivatives. Such elements are/should be implemented in ALE form to allow mesh motions. The additional expense associated with the computation of the mesh velocities is, of course, superfluous if the elements are used in problems in which the mesh is stationary. This function should therefore be overloaded in all derived elements that are formulated in ALE form to suppress the computation of the mesh velocities. The user disables the ALE functionality at his/her own risk! If the mesh does move after all, then the results will be wrong. Here we simply issue a warning message stating that the empty function has been called.
virtual void enable_ALE ()
 (Re-)enable ALE, i.e. take possible mesh motion into account when evaluating the time-derivative. This function is empty and simply establishes a common interface for all derived elements that are formulated in ALE form.
virtual unsigned required_nvalue (const unsigned &n) const
 Number of values that must be stored at local node n by the element. The default is 0, until over-ridden by a particular element. For example, a Poisson equation requires only one value to be stored at each node; 2D Navier--Stokes equations require two values (velocity components) to be stored at each Node (provided that the pressure interpolation is discontinuous).
unsigned nnodal_position_type () const
 Return the number of coordinate types that the element requires to interpolate the geometry between the nodes. For Lagrange elements it is 1.
unsigned nodal_dimension () const
 Return the required Eulerian dimension of the nodes in this element.
virtual Nodeconstruct_node (const unsigned &n)
 Construct the local node n and return a pointer to the newly created node object.
virtual Nodeconstruct_node (const unsigned &n, TimeStepper *const &time_stepper_pt)
 Construct the local node n, including storage for history values required by timestepper, and return a pointer to the newly created node object.
virtual Nodeconstruct_boundary_node (const unsigned &n)
 Construct the local node n as a boundary node; that is a node that MAY be placed on a mesh boundary and return a pointer to the newly created node object.
virtual Nodeconstruct_boundary_node (const unsigned &n, TimeStepper *const &time_stepper_pt)
 Construct the local node n, including storage for history values required by timestepper, as a boundary node; that is a node that MAY be placed on a mesh boundary and return a pointer to the newly created node object.
int get_node_number (Node *const &node_pt)
 Return the number of the node *node_pt if this node is in the element, else return -1;.
virtual Nodeget_node_at_local_coordinate (const Vector< double > &s)
 If there is a node at the local coordinate, s, return the pointer to the node. If not return 0. Note that this is a default, brute force implementation, can almost certainly be made more efficient for specific elements.
double raw_nodal_value (const unsigned &n, const unsigned &i) const
 Return the i-th value stored at local node n but do NOT take hanging nodes into account.
double raw_nodal_value (const unsigned &t, const unsigned &n, const unsigned &i) const
 Return the i-th value stored at local node n, at time level t (t=0: present; t>0 previous timesteps), but do NOT take hanging nodes into account.
double nodal_value (const unsigned &n, const unsigned &i) const
 Return the i-th value stored at local node n. Produces suitably interpolated values for hanging nodes.
double nodal_value (const unsigned &t, const unsigned &n, const unsigned &i) const
 Return the i-th value stored at local node n, at time level t (t=0: present; t>0 previous timesteps). Produces suitably interpolated values for hanging nodes.
unsigned dim () const
 Return the spatial dimension of the element, i.e. the number of local coordinates required to parametrise its geometry.
virtual double interpolated_x (const Vector< double > &s, const unsigned &i) const
 Return FE interpolated coordinate x[i] at local coordinate s.
virtual double interpolated_x (const unsigned &t, const Vector< double > &s, const unsigned &i) const
 Return FE interpolated coordinate x[i] at local coordinate s at previous timestep t (t=0: present; t>0: previous timestep).
virtual void interpolated_x (const Vector< double > &s, Vector< double > &x) const
 Return FE interpolated position x[] at local coordinate s as Vector.
virtual void interpolated_x (const unsigned &t, const Vector< double > &s, Vector< double > &x) const
 Return FE interpolated position x[] at local coordinate s at previous timestep t as Vector (t=0: present; t>0: previous timestep).
virtual double interpolated_dxdt (const Vector< double > &s, const unsigned &i, const unsigned &t)
 Return t-th time-derivative of the i-th FE-interpolated Eulerian coordinate at local coordinate s.
virtual void interpolated_dxdt (const Vector< double > &s, const unsigned &t, Vector< double > &dxdt)
 Compte t-th time-derivative of the FE-interpolated Eulerian coordinate vector at local coordinate s.
unsigned ngeom_data () const
 A standard FiniteElement is fixed, so there are no geometric data when viewed in its GeomObject incarnation.
Datageom_data_pt (const unsigned &j)
 A standard FiniteElement is fixed, so there are no geometric data when viewed in its GeomObject incarnation.
void position (const Vector< double > &zeta, Vector< double > &r) const
 Return the parametrised position of the FiniteElement in its incarnation as a GeomObject, r(zeta). The position is given by the Eulerian coordinate and the intrinsic coordinate (zeta) is the local coordinate of the element (s).
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 Return the parametrised position of the FiniteElement in its GeomObject incarnation: r(zeta). The position is given by the Eulerian coordinate and the intrinsic coordinate (zeta) is the local coordinate of the element (s) This version of the function returns the position as a function of time t=0: current time; t>0: previous timestep. Works for t=0 but needs to be overloaded if genuine time-dependence is required.
void dposition_dt (const Vector< double > &zeta, const unsigned &t, Vector< double > &drdt)
 Return the t-th time derivative of the parametrised position of the FiniteElement in its GeomObject incarnation: $ \frac{d^{t} dr(zeta)}{d t^{t}} $. Call the t-th time derivative of the FE-interpolated Eulerian coordinate.
virtual double zeta_nodal (const unsigned &n, const unsigned &k, const unsigned &i) const
 Specify the values of the "global" intrinsic coordinate, zeta, of a compound geometric object (a mesh of elements) when the element is viewied as a sub-geometric object. The default assumption is that the element will be treated as a sub-geometric object in a bulk Mesh of other elements (geometric objects). The "global" coordinate of the compound geometric object is simply the Eulerian coordinate, x. The second default assumption is that the coordinate zeta will be stored at the nodes and interpolated using the shape functions of the element. This function returns the value of zeta stored at local node n, where k is the type of coordinate and i is the coordinate direction. The function is virtual so that it can be overloaded by different types of element: FaceElements and SolidFiniteElements.
void interpolated_zeta (const Vector< double > &s, Vector< double > &zeta) const
 Calculate the interpolated value of zeta, the intrinsic coordinate of the element when viewed as a compound geometric object within a Mesh as a function of the local coordinate of the element, s. The default assumption is the zeta is interpolated using the shape functions of the element with the values given by zeta_nodal().
void locate_zeta (const Vector< double > &zeta, GeomObject *&geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false)
 For a given value of zeta, the "global" intrinsic coordinate of a mesh of FiniteElements represented as a compound geometric object, find the local coordinate in this element that corresponds to the requested value of zeta. If zeta cannot be located in this element, geom_object_pt is set to NULL. If zeta is located in this element, we return its "this" pointer. By default don't use any value passed in to the local coordinate s as the initial guess in the Newton method.
virtual void node_update ()
 Update the positions of all nodes in the element using each node update function. The default implementation may be overloaded so that more efficient versions can be written.
virtual void identify_field_data_for_interactions (std::set< std::pair< Data *, unsigned > > &paired_field_data)
 The purpose of this function is to identify all possible Data that can affect the fields interpolated by the FiniteElement. The information will typically be used in interaction problems in which the FiniteElement provides a forcing term for an ElementWithExternalElement. The Data must be provided as paired_load data containing
  • the pointer to a Data object and

the index of the value in that Data object The generic implementation (should be overloaded in more specific applications) is to include all nodal and internal Data stored in the FiniteElement. The geometric data, which includes the positions of SolidNodes, is treated separately by the function identify_geometric_data().

virtual void identify_geometric_data (std::set< Data * > &geometric_data_pt)
 The purpose of this function is to identify all Data objects that affect the elements' geometry. This function is implemented as an empty virtual function since it can only be implemented in conjunction with a node-update strategy. A specific implementation is provided in the ElementWithMovingNodes class.
virtual double s_min () const
 Min value of local coordinate.
virtual double s_max () const
 Max. value of local coordinate.
virtual double size () const
 Calculate the size of the element.
virtual void output (std::ostream &outfile)
 Output the element data --- typically the values at the nodes in a format suitable for post-processing.
virtual void output (std::ostream &outfile, const unsigned &n_plot)
 Output the element data --- pass (some measure of) the number of plot points per element.
virtual void output (FILE *file_pt)
 Output the element data --- typically the values at the nodes in a format suitable for post-processing. (C style output).
virtual void output (FILE *file_pt, const unsigned &n_plot)
 Output the element data --- pass (some measure of) the number of plot points per element (C style output).
virtual void output_fct (std::ostream &outfile, const unsigned &n_plot, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt)
 Output an exact solution over the element.
virtual void output_fct (std::ostream &outfile, const unsigned &n_plot, const double &time, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt)
 Output a time-dependent exact solution over the element.
virtual void get_s_plot (const unsigned &i, const unsigned &nplot, Vector< double > &s)
 Get cector of local coordinates of plot point i (when plotting nplot points in each "coordinate direction").
virtual std::string tecplot_zone_string (const unsigned &nplot)
 Return string for tecplot zone header (when plotting nplot points in each "coordinate direction").
virtual void write_tecplot_zone_footer (std::ostream &outfile, const unsigned &nplot)
 Add tecplot zone "footer" to output stream (when plotting nplot points in each "coordinate direction"). Empty by default -- can be used, e.g., to add FE connectivity lists to elements that need it.
virtual void write_tecplot_zone_footer (FILE *file_pt, const unsigned &nplot)
 Add tecplot zone "footer" to C-style output. (when plotting nplot points in each "coordinate direction"). Empty by default -- can be used, e.g., to add FE connectivity lists to elements that need it.
virtual unsigned nplot_points (const unsigned &nplot)
 Return total number of plot points (when plotting nplot points in each "coordinate direction").
virtual void compute_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error, double &norm)
 Plot the error when compared against a given exact solution $ {\bf f}({\bf x}) $. Also calculates the norm of the error and that of the exact solution.
virtual void compute_error (std::ostream &outfile, FiniteElement::UnsteadyExactSolutionFctPt exact_soln_pt, const double &time, double &error, double &norm)
 Plot the error when compared against a given time-dependent exact solution $ {\bf f}(t,{\bf x}) $. Also calculates the norm of the error and that of the exact solution.
virtual void compute_abs_error (std::ostream &outfile, FiniteElement::SteadyExactSolutionFctPt exact_soln_pt, double &error)
 Plot the error when compared against a given exact solution $ {\bf f}({\bf x}) $. Also calculates the maximum absolute error.
void integrate_fct (FiniteElement::SteadyExactSolutionFctPt integrand_fct_pt, Vector< double > &integral)
 Integrate Vector-valued function over element.
void integrate_fct (FiniteElement::UnsteadyExactSolutionFctPt integrand_fct_pt, Vector< double > &integral)
 Evaluate integral of a Vector-valued, time-dependent function $ {\bf f}(t,{\bf x}) $ over the element.
virtual void build_face_element (const int &face_index, FaceElement *face_element_pt)
 Function for building a lower dimensional FaceElement on the specified face of the FiniteElement. The arguments are the index of the face, an integer whose value depends on the particular element type, and a pointer to the FaceElement.
virtual unsigned self_test ()
 Self-test: Check inversion of element & do self-test for GeneralisedElement. Return 0 if OK.

Static Public Attributes

static bool Accept_negative_jacobian = false
 Boolean that if set to true allows a negative jacobian in the transform between global and local coordinates (negative surface area = left-handed coordinate system).

Protected Member Functions

virtual void assemble_local_to_eulerian_jacobian (const DShape &dpsids, DenseMatrix< double > &jacobian) const
 Assemble the jacobian matrix for the mapping from local to Eulerian coordinates, given the derivatives of the shape function w.r.t the local coordinates.
virtual void assemble_local_to_eulerian_jacobian2 (const DShape &d2psids, DenseMatrix< double > &jacobian2) const
 Assemble the the "jacobian" matrix of second derivatives of the mapping from local to Eulerian coordinates, given the second derivatives of the shape functions w.r.t. local coordinates.
virtual void assemble_eulerian_base_vectors (const DShape &dpsids, DenseMatrix< double > &interpolated_G) const
 Assemble the covariant Eulerian base vectors, assuming that the derivatives of the shape functions with respect to the local coordinates have already been constructed.
void check_jacobian (const double &jacobian) const
 Internal function used to check for singular or negative values of the determinant of the Jacobian of the mapping between local and global or lagrangian coordinates. Negative jacobians are allowed if the Accept_negative_jacobian flag is set to true.
void set_dimension (const unsigned &dim)
 Set the dimension of the element and initially set the dimension of the nodes to be the same as the dimension of the element.
void set_nnodal_position_type (const unsigned &nposition_type)
 Set the number of types required to interpolate the coordinate.
void set_n_node (const unsigned &n)
 Set the number of nodes in the element to n, by resizing the storage for pointers to the Node objects.
template<unsigned DIM>
double invert_jacobian (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const
 Three-d specialisation of function to calculate inverse of jacobian mapping.
virtual double invert_jacobian_mapping (const DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const
 A template-free interface that takes the matrix passed as jacobian and return its inverse in inverse_jacobian. By default the function will use the dimension of the element to call the correct invert_jacobian(..) function. This should be overloaded for efficiency (removal of a switch statement) in specific elements.
virtual double local_to_eulerian_mapping (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const
 Calculate the mapping from local to Eulerian coordinates, given the derivatives of the shape functions w.r.t. local coordinates. Returns the determinant of the jacobian, the jacobian and inverse jacobian.
double local_to_eulerian_mapping (const DShape &dpsids, DenseMatrix< double > &inverse_jacobian) const
 Calculate the mapping from local to Eulerian coordinates, given the derivatives of the shape functions w.r.t. local coordinates, Return only the determinant of the jacobian and the inverse of the mapping (ds/dx).
virtual double local_to_eulerian_mapping_diagonal (const DShape &dpsids, DenseMatrix< double > &jacobian, DenseMatrix< double > &inverse_jacobian) const
 Calculate the mapping from local to Eulerian coordinates given the derivatives of the shape functions w.r.t the local coordinates. assuming that the coordinates are aligned in the direction of the local coordinates, i.e. there are no cross terms and the jacobian is diagonal. This function returns the determinant of the jacobian, the jacobian and the inverse jacobian.
virtual void transform_derivatives (const DenseMatrix< double > &inverse_jacobian, DShape &dbasis) const
 Convert derivative w.r.t.local coordinates to derivatives w.r.t the coordinates used to assemble the inverse_jacobian passed in the mapping. On entry, dbasis must contain the basis function derivatives w.r.t. the local coordinates; it will contain the derivatives w.r.t. the new coordinates on exit. This is virtual so that it may be overloaded if desired for efficiency reasons.
void transform_derivatives_diagonal (const DenseMatrix< double > &inverse_jacobian, DShape &dbasis) const
 Convert derivative w.r.t local coordinates to derivatives w.r.t the coordinates used to assemble the inverse jacobian passed in the mapping, assuming that the coordinates are aligned in the direction of the local coordinates. On entry dbasis must contain the derivatives of the basis functions w.r.t. the local coordinates; it will contain the derivatives w.r.t. the new coordinates. are converted into the new using the mapping inverse_jacobian.
virtual void transform_second_derivatives (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const
 Convert derivatives and second derivatives w.r.t. local coordiantes to derivatives and second derivatives w.r.t. the coordinates used to assemble the jacobian, inverse jacobian and jacobian2 passed to the function. This is a template-free general interface, that should be overloaded for efficiency.
template<unsigned DIM>
void transform_second_derivatives_template (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const
 Convert derivatives and second derivatives w.r.t. local coordinates to derivatives and second derivatives w.r.t. the coordinates used to asssmble the jacobian, inverse jacobian and jacobian2 passed in the mapping. This is templated by dimension because the method of calculation varies significantly with the dimension. On entry dbasis and d2basis must contain the derivatives w.r.t. the local coordinates; on exit they will be the derivatives w.r.t. the transformed coordinates.
template<unsigned DIM>
void transform_second_derivatives_diagonal (const DenseMatrix< double > &jacobian, const DenseMatrix< double > &inverse_jacobian, const DenseMatrix< double > &jacobian2, DShape &dbasis, DShape &d2basis) const
 Convert derivatives and second derivatives w.r.t. local coordinates to derivatives and second derivatives w.r.t. the coordinates used to asssmble the jacobian, inverse jacobian and jacobian2 passed in the mapping. This version of the function assumes that the local coordinates are aligned with the global coordinates, i.e. the jacobians are diagonal On entry dbasis and d2basis must contain the derivatives w.r.t. the local coordinates; on exit they will be the derivatives w.r.t. the transformed coordinates.
virtual void fill_in_jacobian_from_nodal_by_fd (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Calculate the contributions to the jacobian from the nodal degrees of freedom using finite differences. This version of the function assumes that the residuals vector has already been calculated.
void fill_in_jacobian_from_nodal_by_fd (DenseMatrix< double > &jacobian)
 Calculate the contributions to the jacobian from the nodal degrees of freedom using finite differences. This version computes the residuals vector before calculating the jacobian terms.
virtual void update_before_nodal_fd ()
 Function that is called before the finite differencing of any nodal data. This may be overloaded to update any slaved data before finite differencing takes place.
virtual void reset_after_nodal_fd ()
 Function that is call after the finite differencing of the nodal data. This may be overloaded to reset any slaved variables that may have changed during the finite differencing.
virtual void update_in_nodal_fd (const unsigned &i)
 Function called within the finite difference loop for nodal data after a change in the i-th nodal value.
virtual void reset_in_nodal_fd (const unsigned &i)
 Function called within the finite difference loop for nodal data after the i-th nodal values is reset. The default behaviour is to call the update function.
void fill_in_contribution_to_jacobian (Vector< double > &residuals, DenseMatrix< double > &jacobian)
 Add the elemental contribution to the jacobian matrix. and the residuals vector. Note that this function will NOT initialise the residuals vector or the jacobian matrix. It must be called after the residuals vector and jacobian matrix have been initialised to zero. The default is to use finite differences to calculate the jacobian.

Protected Attributes

MacroElementMacro_elem_pt
 Pointer to the element's macro element (NULL by default).

Static Protected Attributes

static const unsigned Default_Initial_Nvalue = 0
 Default value for the number of values at a node.
static const double Node_location_tolerance = 1.0e-14
 Default value that is used for the tolerance required when locating nodes via local coordinates.
static const unsigned N2deriv [] = {0,1,3,6}
 Static array that holds the number of second derivatives as a function of the dimension of the element.

Private Attributes

IntegralIntegral_pt
 Pointer to the spatial integration scheme.
Node ** Node_pt
 Storage for pointers to the nodes in the element.
int ** Nodal_local_eqn
 Storage for the local equation numbers associated with the values stored at the nodes.
unsigned Nnode
 Number of nodes in the element.
unsigned Elemental_dimension
 The spatial dimension of the element, i.e. the number of local coordinates used to parametrize it.
unsigned Nodal_dimension
 The spatial dimension of the nodes in the element. We assume that nodes have the same spatial dimension, because we cannot think of any "real" problems for which that would not be the case.
unsigned Nnodal_position_type
 The number of coordinate types required to interpolate the element's geometry between the nodes. For Lagrange elements it is 1 (the default). It must be over-ridden by using the set_nposition_type() function in the constructors of elements that use generalised coordinate, e.g. for 1D Hermite elements Nnodal_position_types =2.

Member Typedef Documentation

typedef void(*) oomph::FiniteElement::SteadyExactSolutionFctPt(const Vector< double > &, Vector< double > &)

Function pointer for function that computes vector-valued steady "exact solution" $ {\bf f}({\bf x}) $ as $ \mbox{\tt fct}({\bf x}, {\bf f}) $.

Definition at line 1321 of file elements.h.

typedef void(*) oomph::FiniteElement::UnsteadyExactSolutionFctPt(const double &, const Vector< double > &, Vector< double > &)

Function pointer for function that computes Vector-valued time-dependent function $ {\bf f}(t,{\bf x}) $ as $ \mbox{\tt fct}(t, {\bf x}, {\bf f}) $.

Definition at line 1327 of file elements.h.


Constructor & Destructor Documentation

oomph::FiniteElement::FiniteElement (  )  [inline]

Constructor.

Definition at line 1337 of file elements.h.

oomph::FiniteElement::~FiniteElement (  )  [virtual]

The destructor cleans up the memory allocated for storage of pointers to nodes. Internal and external data get wiped by the GeneralisedElement destructor; nodes get killed in mesh destructor.

Definition at line 1820 of file elements.cc.

References Nodal_local_eqn, and Node_pt.

oomph::FiniteElement::FiniteElement ( const FiniteElement  )  [inline]

Broken copy constructor.

Definition at line 1349 of file elements.h.

References oomph::BrokenCopy::broken_copy().


Member Function Documentation

void oomph::FiniteElement::assemble_eulerian_base_vectors ( const DShape dpsids,
DenseMatrix< double > &  interpolated_G 
) const [protected, virtual]

Assemble the covariant Eulerian base vectors, assuming that the derivatives of the shape functions with respect to the local coordinates have already been constructed.

Assemble the covariant Eulerian base vectors and return them in the matrix interpolated_G. The derivatives of the shape functions with respect to the local coordinate should already have been calculated before calling this function

Reimplemented in oomph::RefineableElement.

Definition at line 1178 of file elements.cc.

References dim(), nnodal_position_type(), nnode(), nodal_dimension(), and raw_nodal_position_gen().

Referenced by J_eulerian(), and J_eulerian_at_knot().

void oomph::FiniteElement::assemble_local_to_eulerian_jacobian ( const DShape dpsids,
DenseMatrix< double > &  jacobian 
) const [protected, virtual]

Assemble the jacobian matrix for the mapping from local to Eulerian coordinates, given the derivatives of the shape function w.r.t the local coordinates.

Internal function that is used to assemble the jacobian of the mapping from local coordinates (s) to the eulerian coordinates (x), given the derivatives of the shape functions.

Reimplemented in oomph::RefineableElement.

Definition at line 1072 of file elements.cc.

References dim(), Elemental_dimension, nnodal_position_type(), nnode(), Nodal_dimension, OOMPH_EXCEPTION_LOCATION, and raw_nodal_position_gen().

Referenced by local_to_eulerian_mapping().

void oomph::FiniteElement::assemble_local_to_eulerian_jacobian2 ( const DShape d2psids,
DenseMatrix< double > &  jacobian2 
) const [protected, virtual]

Assemble the the "jacobian" matrix of second derivatives of the mapping from local to Eulerian coordinates, given the second derivatives of the shape functions w.r.t. local coordinates.

Internal function that is used to assemble the jacobian of second derivatives of the the mapping from local coordinates (s) to the eulerian coordinates (x), given the second derivatives of the shape functions.

Reimplemented in oomph::RefineableElement.

Definition at line 1133 of file elements.cc.

References dim(), N2deriv, nnodal_position_type(), nnode(), and raw_nodal_position_gen().

Referenced by d2shape_eulerian(), and d2shape_eulerian_at_knot().

virtual void oomph::FiniteElement::assign_all_generic_local_eqn_numbers (  )  [inline, virtual]

Overloaded version of the calculation of the local equation numbers.

Reimplemented from oomph::GeneralisedElement.

Reimplemented in oomph::ElementWithMovingNodes, oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::SolidFiniteElement, oomph::FaceElementAsGeomObject< ELEMENT >, oomph::SpectralElement, oomph::RefineableQSpectralPoissonElement< DIM, NNODE_1D >, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< ELEMENT >, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::AlgebraicNode >, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< oomph::FaceGeometry< ELEMENT > >, oomph::SpineNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >.

Definition at line 1635 of file elements.h.

References oomph::GeneralisedElement::assign_all_generic_local_eqn_numbers(), and assign_nodal_local_eqn_numbers().

Referenced by oomph::RefineableQSpectralPoissonElement< DIM, NNODE_1D >::assign_all_generic_local_eqn_numbers(), oomph::SpectralElement::assign_all_generic_local_eqn_numbers(), oomph::FaceElementAsGeomObject< ELEMENT >::assign_all_generic_local_eqn_numbers(), and oomph::SolidFiniteElement::assign_all_generic_local_eqn_numbers().

void oomph::FiniteElement::assign_nodal_local_eqn_numbers (  )  [virtual]

Assign the local equation numbers for Data stored at the nodes Virtual so that it can be overloaded by RefineableFiniteElements.

This function loops over the nodal data of the element, adds the GLOBAL equation numbers to the local-to-global look-up scheme and fills in the Nodal_local_eqn look-up scheme for the local equation numbers

Reimplemented in oomph::RefineableElement.

Definition at line 2095 of file elements.cc.

References oomph::GeneralisedElement::add_global_eqn_numbers(), oomph::GeneralisedElement::eqn_number(), oomph::Data::Is_pinned, oomph::Data::Is_unclassified, oomph::GeneralisedElement::local_eqn_number(), oomph::GeneralisedElement::ndof(), nnode(), Nodal_local_eqn, Node_pt, node_pt(), and oomph::Data::nvalue().

Referenced by assign_all_generic_local_eqn_numbers(), and oomph::RefineableElement::assign_nodal_local_eqn_numbers().

virtual void oomph::FiniteElement::build_face_element ( const int &  face_index,
FaceElement face_element_pt 
) [inline, virtual]

Function for building a lower dimensional FaceElement on the specified face of the FiniteElement. The arguments are the index of the face, an integer whose value depends on the particular element type, and a pointer to the FaceElement.

Reimplemented in oomph::QHermiteElement< DIM >, oomph::SolidQHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::SolidQElement< 1, NNODE_1D >, oomph::SolidQElement< 2, NNODE_1D >, oomph::SolidQElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::SolidTElement< 1, NNODE_1D >, oomph::SolidTElement< 2, NNODE_1D >, oomph::SolidTElement< 3, NNODE_1D >, oomph::SolidQHermiteElement< 1 >, oomph::SolidQHermiteElement< 2 >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2311 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::AdvectionDiffusionFluxElement< ELEMENT >::AdvectionDiffusionFluxElement(), oomph::AxisymmetricSolidTractionElement< ELEMENT >::AxisymmetricSolidTractionElement(), oomph::ClampedHermiteShellBoundaryConditionElement::ClampedHermiteShellBoundaryConditionElement(), oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::ClampedSlidingHermiteBeamBoundaryConditionElement(), oomph::DummyFaceElement< ELEMENT >::DummyFaceElement(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::ElasticAxisymmetricFluidInterfaceElement(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::ElasticLineFluidInterfaceElement(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::ElasticSurfaceFluidInterfaceElement(), oomph::FaceElementAsGeomObject< ELEMENT >::FaceElementAsGeomObject(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::ImposeDisplacementByLagrangeMultiplierElement(), oomph::ImposeParallelOutflowElement< ELEMENT >::ImposeParallelOutflowElement(), oomph::LinearElasticityTractionElement< ELEMENT >::LinearElasticityTractionElement(), oomph::LinearWaveFluxElement< ELEMENT >::LinearWaveFluxElement(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::SpineLineFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::NavierStokesImpedanceTractionElement(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::NavierStokesSurfacePowerElement(), oomph::NavierStokesTractionElement< ELEMENT >::NavierStokesTractionElement(), oomph::PoissonFluxElement< ELEMENT >::PoissonFluxElement(), oomph::SolidTractionElement< ELEMENT >::SolidTractionElement(), oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::SpineAxisymmetricFluidInterfaceElement(), oomph::SpineLineFluidInterfaceElement< ELEMENT >::SpineLineFluidInterfaceElement(), oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >::SpineSurfaceFluidInterfaceElement(), and oomph::UnsteadyHeatFluxElement< ELEMENT >::UnsteadyHeatFluxElement().

void oomph::FiniteElement::check_jacobian ( const double &  jacobian  )  const [protected]

Internal function used to check for singular or negative values of the determinant of the Jacobian of the mapping between local and global or lagrangian coordinates. Negative jacobians are allowed if the Accept_negative_jacobian flag is set to true.

Definition at line 987 of file elements.cc.

References Accept_negative_jacobian, Macro_elem_pt, oomph::Node::ndim(), nnode(), node_pt(), and OOMPH_EXCEPTION_LOCATION.

Referenced by J_eulerian(), oomph::RefineableElement::local_to_eulerian_mapping_diagonal(), local_to_eulerian_mapping_diagonal(), oomph::RefineableSolidElement::local_to_lagrangian_mapping_diagonal(), and oomph::SolidFiniteElement::local_to_lagrangian_mapping_diagonal().

virtual void oomph::FiniteElement::compute_abs_error ( std::ostream &  outfile,
FiniteElement::SteadyExactSolutionFctPt  exact_soln_pt,
double &  error 
) [inline, virtual]

Plot the error when compared against a given exact solution $ {\bf f}({\bf x}) $. Also calculates the maximum absolute error.

Definition at line 2281 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

virtual void oomph::FiniteElement::compute_error ( std::ostream &  outfile,
FiniteElement::UnsteadyExactSolutionFctPt  exact_soln_pt,
const double &  time,
double &  error,
double &  norm 
) [inline, virtual]

Plot the error when compared against a given time-dependent exact solution $ {\bf f}(t,{\bf x}) $. Also calculates the norm of the error and that of the exact solution.

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::PoissonEquations< DIM >, oomph::AxisymmetricNavierStokesEquations, oomph::AdvectionDiffusionEquations< DIM >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::UnsteadyHeatEquations< DIM >, oomph::LinearWaveEquations< DIM >, oomph::WomersleyEquations< DIM >, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >.

Definition at line 2265 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

virtual void oomph::FiniteElement::compute_error ( std::ostream &  outfile,
FiniteElement::SteadyExactSolutionFctPt  exact_soln_pt,
double &  error,
double &  norm 
) [inline, virtual]

Plot the error when compared against a given exact solution $ {\bf f}({\bf x}) $. Also calculates the norm of the error and that of the exact solution.

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::PoissonEquations< DIM >, oomph::AxisymmetricNavierStokesEquations, oomph::AdvectionDiffusionEquations< DIM >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::UnsteadyHeatEquations< DIM >, oomph::LinearWaveEquations< DIM >, oomph::WomersleyEquations< DIM >, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >.

Definition at line 2249 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

virtual Node* oomph::FiniteElement::construct_boundary_node ( const unsigned &  n,
TimeStepper *const &  time_stepper_pt 
) [inline, virtual]

Construct the local node n, including storage for history values required by timestepper, as a boundary node; that is a node that MAY be placed on a mesh boundary and return a pointer to the newly created node object.

Reimplemented in oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::SolidFiniteElement, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< ELEMENT >, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::AlgebraicNode >, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< oomph::FaceGeometry< ELEMENT > >, oomph::SpineNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >.

Definition at line 1922 of file elements.h.

References Nnodal_position_type, Nodal_dimension, node_pt(), required_nvalue(), and oomph::GeomObject::time_stepper_pt().

virtual Node* oomph::FiniteElement::construct_boundary_node ( const unsigned &  n  )  [inline, virtual]

Construct the local node n as a boundary node; that is a node that MAY be placed on a mesh boundary and return a pointer to the newly created node object.

Reimplemented in oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::SolidFiniteElement, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< ELEMENT >, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::AlgebraicNode >, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< oomph::FaceGeometry< ELEMENT > >, oomph::SpineNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >.

Definition at line 1907 of file elements.h.

References Nnodal_position_type, Nodal_dimension, node_pt(), and required_nvalue().

Referenced by oomph::SimpleCubicMesh< ELEMENT >::build_mesh(), oomph::RectangularQuadMesh< ELEMENT >::build_mesh(), oomph::OneDMesh< ELEMENT >::build_mesh(), oomph::HermiteQuadMesh< ELEMENT >::build_mesh(), oomph::Mesh::convert_to_boundary_node(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), oomph::SimpleRectangularQuadMesh< ELEMENT >::SimpleRectangularQuadMesh(), and oomph::TetgenScaffoldMesh::TetgenScaffoldMesh().

virtual Node* oomph::FiniteElement::construct_node ( const unsigned &  n,
TimeStepper *const &  time_stepper_pt 
) [inline, virtual]

Construct the local node n, including storage for history values required by timestepper, and return a pointer to the newly created node object.

Reimplemented in oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::SolidFiniteElement, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< ELEMENT >, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::AlgebraicNode >, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< oomph::FaceGeometry< ELEMENT > >, oomph::SpineNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >.

Definition at line 1892 of file elements.h.

References Nnodal_position_type, Nodal_dimension, node_pt(), required_nvalue(), and oomph::GeomObject::time_stepper_pt().

virtual Node* oomph::FiniteElement::construct_node ( const unsigned &  n  )  [inline, virtual]

Construct the local node n and return a pointer to the newly created node object.

Reimplemented in oomph::ElementWithSpecificMovingNodes< ELEMENT, NODE_TYPE >, oomph::SolidFiniteElement, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< ELEMENT >, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::SpineNode >, oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::AlgebraicNode >, oomph::ElementWithSpecificMovingNodes< oomph::FaceGeometry< oomph::FaceGeometry< ELEMENT > >, oomph::SpineNode >, and oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >.

Definition at line 1879 of file elements.h.

References Nnodal_position_type, Nodal_dimension, node_pt(), and required_nvalue().

Referenced by oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicMesh< ELEMENT >::build_mesh(), oomph::RectangularQuadMesh< ELEMENT >::build_mesh(), oomph::HermiteQuadMesh< ELEMENT >::build_mesh(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), oomph::SimpleRectangularQuadMesh< ELEMENT >::SimpleRectangularQuadMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), oomph::TetgenMesh< ELEMENT >::split_elements_in_corners(), oomph::TetgenScaffoldMesh::TetgenScaffoldMesh(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), and oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh().

double oomph::FiniteElement::d2shape_eulerian ( const Vector< double > &  s,
Shape psi,
DShape dpsidx,
DShape d2psidx 
) const

Compute the geometric shape functions and also first and second derivatives w.r.t. global coordinates at local coordinate s; Also returns Jacobian of mapping from global to local coordinates.

Numbering:
1D:
d2psidx(i,0) = $ d^2 \psi_j / d x^2 $
2D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $

3D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_2^2 $
d2psidx(i,3) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $
d2psidx(i,4) = $ \partial^2 \psi_j / \partial x_0 \partial x_2 $
d2psidx(i,5) = $ \partial^2 \psi_j / \partial x_1 \partial x_2 $
.

Definition at line 2002 of file elements.cc.

References assemble_local_to_eulerian_jacobian2(), d2shape_local(), dim(), local_to_eulerian_mapping(), N2deriv, and transform_second_derivatives().

double oomph::FiniteElement::d2shape_eulerian_at_knot ( const unsigned &  ipt,
Shape psi,
DShape dpsidx,
DShape d2psidx 
) const [virtual]

Compute the geometric shape functions and also first and second derivatives w.r.t. global coordinates at ipt-th integration point Returns Jacobian of mapping from global to local coordinates. This is the most general version, may be overloaded, if desired.

Numbering:
1D:
d2psidx(i,0) = $ d^2 \psi_j / d x^2 $
2D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $

3D:
d2psidx(i,0) = $ \partial^2 \psi_j / \partial x_0^2 $
d2psidx(i,1) = $ \partial^2 \psi_j / \partial x_1^2 $
d2psidx(i,2) = $ \partial^2 \psi_j / \partial x_2^2 $
d2psidx(i,3) = $ \partial^2 \psi_j / \partial x_0 \partial x_1 $
d2psidx(i,4) = $ \partial^2 \psi_j / \partial x_0 \partial x_2 $
d2psidx(i,5) = $ \partial^2 \psi_j / \partial x_1 \partial x_2 $
.

Reimplemented in oomph::StorableShapeElementBase.

Definition at line 2056 of file elements.cc.

References assemble_local_to_eulerian_jacobian2(), d2shape_local_at_knot(), dim(), local_to_eulerian_mapping(), N2deriv, and transform_second_derivatives().

Referenced by oomph::StorableShapeElementBase::d2shape_eulerian_at_knot(), and oomph::StorableShapeElementBase::pre_compute_d2shape_eulerian_at_knots().

virtual void oomph::FiniteElement::d2shape_local ( const Vector< double > &  s,
Shape psi,
DShape dpsids,
DShape d2psids 
) const [inline, virtual]

Function to compute the geometric shape functions and also first and second derivatives w.r.t. local coordinates at local coordinate s. This function must be overloaded for each specific geometric element (if required). (Broken virtual function --- specifies the interface).

Numbering:
1D:
d2psids(i,0) = $ d^2 \psi_j / ds^2 $
2D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $

3D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_2^2 $
d2psids(i,3) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $
d2psids(i,4) = $ \partial^2 \psi_j / \partial s_0 \partial s_2 $
d2psids(i,5) = $ \partial^2 \psi_j / \partial s_1 \partial s_2 $
.

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 1537 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by d2shape_eulerian(), oomph::SolidFiniteElement::d2shape_lagrangian(), and d2shape_local_at_knot().

void oomph::FiniteElement::d2shape_local_at_knot ( const unsigned &  ipt,
Shape psi,
DShape dpsids,
DShape d2psids 
) const [virtual]

Return the geometric shape function and its first and second derivatives w.r.t. the local coordinates at the ipt-th integration point.

Numbering:
1D:
d2psids(i,0) = $ d^2 \psi_j / ds^2 $
2D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $

3D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_2^2 $
d2psids(i,3) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $
d2psids(i,4) = $ \partial^2 \psi_j / \partial s_0 \partial s_2 $
d2psids(i,5) = $ \partial^2 \psi_j / \partial s_1 \partial s_2 $
.

Calculate the shape function and its first and second derivatives w.r.t. local coordinates at the ipt-th integration point.

Numbering:
1D:
d2psids(i,0) = $ d^2 \psi_j / d s^2 $
2D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $

3D:
d2psids(i,0) = $ \partial^2 \psi_j / \partial s_0^2 $
d2psids(i,1) = $ \partial^2 \psi_j / \partial s_1^2 $
d2psids(i,2) = $ \partial^2 \psi_j / \partial s_2^2 $
d2psids(i,3) = $ \partial^2 \psi_j / \partial s_0 \partial s_1 $
d2psids(i,4) = $ \partial^2 \psi_j / \partial s_0 \partial s_2 $
d2psids(i,5) = $ \partial^2 \psi_j / \partial s_1 \partial s_2 $

Reimplemented in oomph::StorableShapeElementBase.

Definition at line 1914 of file elements.cc.

References d2shape_local(), dim(), and integral_pt().

Referenced by d2shape_eulerian_at_knot(), oomph::SolidFiniteElement::d2shape_lagrangian_at_knot(), oomph::StorableShapeElementBase::d2shape_local_at_knot(), and oomph::StorableShapeElementBase::pre_compute_d2shape_local_at_knots().

unsigned oomph::FiniteElement::dim (  )  const [inline]

Return the spatial dimension of the element, i.e. the number of local coordinates required to parametrise its geometry.

Definition at line 1969 of file elements.h.

References Elemental_dimension.

Referenced by oomph::DGFaceElement::add_flux_contributions(), oomph::RefineableElement::assemble_eulerian_base_vectors(), assemble_eulerian_base_vectors(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian(), assemble_local_to_eulerian_jacobian(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian2(), assemble_local_to_eulerian_jacobian2(), oomph::RefineableSolidElement::assemble_local_to_lagrangian_jacobian(), oomph::SolidFiniteElement::assemble_local_to_lagrangian_jacobian(), oomph::RefineableSolidElement::assemble_local_to_lagrangian_jacobian2(), oomph::SolidFiniteElement::assemble_local_to_lagrangian_jacobian2(), oomph::GeneralisedElement::assign_local_eqn_numbers(), oomph::PVDEquationsBase< DIM >::body_force(), oomph::LinearElasticityEquationsBase< DIM >::body_force(), oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), d2shape_eulerian(), d2shape_eulerian_at_knot(), oomph::SolidFiniteElement::d2shape_lagrangian(), oomph::SolidFiniteElement::d2shape_lagrangian_at_knot(), d2shape_local_at_knot(), oomph::Z2ErrorEstimator::doc_flux(), oomph::FSI_functions::doc_fsi(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_adv_diff(), dshape_eulerian(), dshape_eulerian_at_knot(), oomph::SolidFiniteElement::dshape_lagrangian(), oomph::SolidFiniteElement::dshape_lagrangian_at_knot(), dshape_local_at_knot(), oomph::FaceElementAsGeomObject< ELEMENT >::FaceElementAsGeomObject(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic(), oomph::LineFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::PointFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::get_dof_numbers_for_unknowns(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::get_kinetic_energy_flux(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::get_rate_of_traction_work(), oomph::NavierStokesEquations< DIM >::get_velocity_mass_matrix_diagonal(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::get_volume_flux(), oomph::QSolidElementBase::get_x_and_xi(), oomph::QElementBase::get_x_from_macro_element(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::ImposeDisplacementByLagrangeMultiplierElement(), oomph::ImposeParallelOutflowElement< ELEMENT >::ImposeParallelOutflowElement(), integrate_fct(), oomph::FaceElement::interpolated_dxdt(), oomph::FaceElement::interpolated_x(), oomph::SolidFaceElement::interpolated_xi(), interpolated_zeta(), invert_jacobian_mapping(), oomph::FaceElement::J_eulerian(), J_eulerian(), oomph::FaceElement::J_eulerian_at_knot(), J_eulerian_at_knot(), oomph::TElementBase::local_coord_is_valid(), oomph::QElementBase::local_coord_is_valid(), oomph::FaceElement::local_coordinate_in_bulk(), local_to_eulerian_mapping(), oomph::RefineableElement::local_to_eulerian_mapping_diagonal(), local_to_eulerian_mapping_diagonal(), oomph::SolidFiniteElement::local_to_lagrangian_mapping(), oomph::RefineableSolidElement::local_to_lagrangian_mapping_diagonal(), oomph::SolidFiniteElement::local_to_lagrangian_mapping_diagonal(), locate_zeta(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::ndof_types(), oomph::FaceElement::outer_unit_normal(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::FSISolidTractionElement< ELEMENT, DIM >::output(), oomph::DummyFaceElement< ELEMENT >::output(), oomph::StorableShapeElementBase::pre_compute_d2shape_local_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_local_at_knots(), oomph::DGFaceElement::report_info(), self_test(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::set_boundary_shape_geom_object_pt(), oomph::QElementBase::set_macro_elem_pt(), oomph::DGFaceElement::setup_neighbour_info(), shape_at_knot(), oomph::DGElement::slope_limit(), oomph::PVDEquationsWithPressure< DIM >::solid_pshape_at_knot(), oomph::SolidTractionElement< ELEMENT >::SolidTractionElement(), transform_derivatives(), transform_derivatives_diagonal(), and transform_second_derivatives().

virtual void oomph::FiniteElement::disable_ALE (  )  [inline, virtual]

This is an empty function that establishes a uniform interface for all (derived) elements that involve time-derivatives. Such elements are/should be implemented in ALE form to allow mesh motions. The additional expense associated with the computation of the mesh velocities is, of course, superfluous if the elements are used in problems in which the mesh is stationary. This function should therefore be overloaded in all derived elements that are formulated in ALE form to suppress the computation of the mesh velocities. The user disables the ALE functionality at his/her own risk! If the mesh does move after all, then the results will be wrong. Here we simply issue a warning message stating that the empty function has been called.

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::AxisymmetricNavierStokesEquations, oomph::AdvectionDiffusionEquations< DIM >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::UnsteadyHeatEquations< DIM >, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >.

Definition at line 1817 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

double oomph::FiniteElement::dnodal_position_dt ( const unsigned &  n,
const unsigned &  j,
const unsigned &  i 
) const [inline]

Return the i-th component of j-th derivative of nodal position: d^jx/dt^j at node n.

Definition at line 1763 of file elements.h.

References oomph::Node::dposition_dt(), and node_pt().

double oomph::FiniteElement::dnodal_position_dt ( const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th component of nodal velocity: dx/dt at local node n.

Definition at line 1758 of file elements.h.

References oomph::Node::dposition_dt(), and node_pt().

Referenced by oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::AxisymmetricFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::LineFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::RefineableUnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), and oomph::NavierStokesEquations< DIM >::full_output().

double oomph::FiniteElement::dnodal_position_gen_dt ( const unsigned &  j,
const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

i-th component of j-th time derivative of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i.

Definition at line 1790 of file elements.h.

References oomph::Node::dposition_gen_dt(), and node_pt().

double oomph::FiniteElement::dnodal_position_gen_dt ( const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

i-th component of time derivative (velocity) of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i.

Definition at line 1782 of file elements.h.

References oomph::Node::dposition_gen_dt(), and node_pt().

Referenced by oomph::PVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::PVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::KirchhoffLoveShellEquations::get_energy(), interpolated_dxdt(), and oomph::KirchhoffLoveShellEquations::load_rate_of_work().

void oomph::FiniteElement::dposition_dt ( const Vector< double > &  zeta,
const unsigned &  t,
Vector< double > &  drdt 
) [inline, virtual]

Return the t-th time derivative of the parametrised position of the FiniteElement in its GeomObject incarnation: $ \frac{d^{t} dr(zeta)}{d t^{t}} $. Call the t-th time derivative of the FE-interpolated Eulerian coordinate.

Reimplemented from oomph::GeomObject.

Definition at line 2034 of file elements.h.

References interpolated_dxdt().

Referenced by oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic().

double oomph::FiniteElement::dshape_eulerian ( const Vector< double > &  s,
Shape psi,
DShape dpsidx 
) const

Compute the geometric shape functions and also first derivatives w.r.t. global coordinates at local coordinate s; Returns Jacobian of mapping from global to local coordinates. Most general form of the function, but may be over-loaded, if desired.

Definition at line 1934 of file elements.cc.

References dim(), dshape_local(), local_to_eulerian_mapping(), and transform_derivatives().

Referenced by oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_adv_diff(), oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::dshape_and_dtest_eulerian_adv_diff_react(), oomph::AxisymmetricQTaylorHoodElement::dshape_and_dtest_eulerian_axi_nst(), oomph::AxisymmetricQCrouzeixRaviartElement::dshape_and_dtest_eulerian_axi_nst(), oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_cons_adv_diff(), oomph::QLinearWaveElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_lin_wave(), oomph::TTaylorHoodElement< DIM >::dshape_and_dtest_eulerian_nst(), oomph::QTaylorHoodElement< DIM >::dshape_and_dtest_eulerian_nst(), oomph::QCrouzeixRaviartElement< DIM >::dshape_and_dtest_eulerian_nst(), oomph::TPoissonElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_poisson(), oomph::QSpectralPoissonElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_poisson(), oomph::QPoissonElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_poisson(), oomph::QUnsteadyHeatElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_ust_heat(), oomph::QWomersleyElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_womersley(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::WomersleyEquations< DIM >::get_flux(), oomph::UnsteadyHeatEquations< DIM >::get_flux(), oomph::PoissonEquations< DIM >::get_flux(), oomph::LinearWaveEquations< DIM >::get_flux(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::get_flux(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_flux(), oomph::AdvectionDiffusionEquations< DIM >::get_flux(), oomph::LinearElasticityEquationsBase< DIM >::get_strain(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::get_total_flux(), oomph::NavierStokesEquations< DIM >::get_vorticity(), oomph::NavierStokesEquations< DIM >::strain_rate(), and oomph::AxisymmetricNavierStokesEquations::strain_rate().

double oomph::FiniteElement::dshape_eulerian_at_knot ( const unsigned &  ipt,
Shape psi,
DShape dpsidx 
) const [virtual]

Compute the geometric shape functions and also first derivatives w.r.t. global coordinates at integration point ipt. Most general form of function, but may be over-loaded if desired.

Reimplemented in oomph::StorableShapeElementBase.

Definition at line 1961 of file elements.cc.

References dim(), dshape_local_at_knot(), local_to_eulerian_mapping(), and transform_derivatives().

Referenced by oomph::NavierStokesEquations< DIM >::d_kin_energy_dt(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_adv_diff(), oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_adv_diff(), oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_adv_diff_react(), oomph::AxisymmetricQTaylorHoodElement::dshape_and_dtest_eulerian_at_knot_axi_nst(), oomph::AxisymmetricQCrouzeixRaviartElement::dshape_and_dtest_eulerian_at_knot_axi_nst(), oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_cons_adv_diff(), oomph::QLinearWaveElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_lin_wave(), oomph::TTaylorHoodElement< DIM >::dshape_and_dtest_eulerian_at_knot_nst(), oomph::QTaylorHoodElement< DIM >::dshape_and_dtest_eulerian_at_knot_nst(), oomph::QCrouzeixRaviartElement< DIM >::dshape_and_dtest_eulerian_at_knot_nst(), oomph::TPoissonElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_poisson(), oomph::QSpectralPoissonElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_poisson(), oomph::QPoissonElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_poisson(), oomph::QUnsteadyHeatElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_ust_heat(), oomph::QWomersleyElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_womersley(), oomph::StorableShapeElementBase::dshape_eulerian_at_knot(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::WomersleyEquations< DIM >::get_volume_flux(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::integrate_reagents(), oomph::StorableShapeElementBase::pre_compute_dshape_eulerian_at_knots(), and self_test().

virtual void oomph::FiniteElement::dshape_local ( const Vector< double > &  s,
Shape psi,
DShape dpsids 
) const [inline, virtual]

Function to compute the geometric shape functions and derivatives w.r.t. local coordinates at local coordinate s. This function must be overloaded for each specific geometric element. (Broken virtual function --- specifies the interface).

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::ClampedHermiteShellBoundaryConditionElement, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 1504 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::FluidInterfaceElement::actual_contact_angle(), dshape_eulerian(), oomph::SolidFiniteElement::dshape_lagrangian(), dshape_local_at_knot(), oomph::LineFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::KirchhoffLoveBeamEquations::get_non_unit_tangent(), oomph::FaceElement::J_eulerian(), J_eulerian(), locate_zeta(), and oomph::FaceElement::outer_unit_normal().

void oomph::FiniteElement::dshape_local_at_knot ( const unsigned &  ipt,
Shape psi,
DShape dpsids 
) const [virtual]

Return the shape function and its derivatives w.r.t. the local coordinates at the ipt-th integration point.

Reimplemented in oomph::StorableShapeElementBase.

Definition at line 1883 of file elements.cc.

References dim(), dshape_local(), and integral_pt().

Referenced by dshape_eulerian_at_knot(), oomph::SolidFiniteElement::dshape_lagrangian_at_knot(), oomph::StorableShapeElementBase::dshape_local_at_knot(), oomph::AxisymmetricSolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals(), oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), oomph::SolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals_solid_traction(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::SurfaceFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::AxisymmetricFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::LineFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::FaceElement::J_eulerian_at_knot(), J_eulerian_at_knot(), and oomph::StorableShapeElementBase::pre_compute_dshape_local_at_knots().

virtual void oomph::FiniteElement::enable_ALE (  )  [inline, virtual]

(Re-)enable ALE, i.e. take possible mesh motion into account when evaluating the time-derivative. This function is empty and simply establishes a common interface for all derived elements that are formulated in ALE form.

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::AxisymmetricNavierStokesEquations, oomph::AdvectionDiffusionEquations< DIM >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::UnsteadyHeatEquations< DIM >, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >.

Definition at line 1840 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

void oomph::FiniteElement::fill_in_contribution_to_jacobian ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian 
) [inline, protected, virtual]

Add the elemental contribution to the jacobian matrix. and the residuals vector. Note that this function will NOT initialise the residuals vector or the jacobian matrix. It must be called after the residuals vector and jacobian matrix have been initialised to zero. The default is to use finite differences to calculate the jacobian.

Reimplemented from oomph::GeneralisedElement.

Reimplemented in oomph::NavierStokesTractionElement< ELEMENT >, oomph::ImposeParallelOutflowElement< ELEMENT >, oomph::NavierStokesEquations< DIM >, oomph::NavierStokesFluxControlElement< ELEMENT >, oomph::RefineableNavierStokesFluxControlElement< ELEMENT >, oomph::ElementWithExternalElement, oomph::SolidFiniteElement, oomph::FaceElementAsGeomObject< ELEMENT >, oomph::FSIWallElement, oomph::PoissonEquations< DIM >, oomph::PoissonFluxElement< ELEMENT >, oomph::AxisymmetricNavierStokesEquations, oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::SpinePointFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticPointFluidInterfaceEdgeElement< ELEMENT >, oomph::SpineLineFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticLineFluidInterfaceEdgeElement< ELEMENT >, oomph::SpineLineFluidInterfaceElement< ELEMENT >, oomph::ElasticLineFluidInterfaceElement< ELEMENT >, oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >, oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >, oomph::PVDEquations< DIM >, oomph::PVDEquationsWithPressure< DIM >, oomph::SolidTractionElement< ELEMENT >, oomph::FSISolidTractionElement< ELEMENT, DIM >, oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >, oomph::AxisymmetricPVDEquations, oomph::AxisymmetricPVDEquationsWithPressure, oomph::AxisymmetricSolidTractionElement< ELEMENT >, oomph::KirchhoffLoveBeamEquations, oomph::FSIHermiteBeamElement, oomph::KirchhoffLoveShellEquations, oomph::FSIDiagHermiteShellElement, oomph::AdvectionDiffusionEquations< DIM >, oomph::AdvectionDiffusionFluxElement< ELEMENT >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::UnsteadyHeatEquations< DIM >, oomph::UnsteadyHeatFluxElement< ELEMENT >, oomph::LinearWaveEquations< DIM >, oomph::LinearWaveFluxElement< ELEMENT >, oomph::WomersleyEquations< DIM >, oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >, oomph::LinearElasticityEquations< DIM >, oomph::LinearElasticityTractionElement< ELEMENT >, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >.

Definition at line 1295 of file elements.h.

References oomph::GeneralisedElement::fill_in_contribution_to_residuals(), oomph::GeneralisedElement::fill_in_jacobian_from_external_by_fd(), oomph::GeneralisedElement::fill_in_jacobian_from_internal_by_fd(), fill_in_jacobian_from_nodal_by_fd(), oomph::GeneralisedElement::get_residuals(), and oomph::GeneralisedElement::ndof().

void oomph::FiniteElement::fill_in_jacobian_from_nodal_by_fd ( DenseMatrix< double > &  jacobian  )  [inline, protected]

Calculate the contributions to the jacobian from the nodal degrees of freedom using finite differences. This version computes the residuals vector before calculating the jacobian terms.

Definition at line 1257 of file elements.h.

References fill_in_jacobian_from_nodal_by_fd(), oomph::GeneralisedElement::get_residuals(), and oomph::GeneralisedElement::ndof().

void oomph::FiniteElement::fill_in_jacobian_from_nodal_by_fd ( Vector< double > &  residuals,
DenseMatrix< double > &  jacobian 
) [protected, virtual]

Calculate the contributions to the jacobian from the nodal degrees of freedom using finite differences. This version of the function assumes that the residuals vector has already been calculated.

This function calculates the entries of Jacobian matrix, used in the Newton method, associated with the nodal degrees of freedom. It does this using finite differences, rather than an analytical formulation, so can be done in total generality.

Reimplemented in oomph::RefineableElement.

Definition at line 2189 of file elements.cc.

References oomph::GeneralisedElement::Default_fd_jacobian_step, oomph::GeneralisedElement::get_residuals(), oomph::GeneralisedElement::ndof(), nnode(), nodal_local_eqn(), node_pt(), reset_after_nodal_fd(), reset_in_nodal_fd(), update_before_nodal_fd(), and update_in_nodal_fd().

Referenced by oomph::FSIWallElement::fill_in_contribution_to_jacobian(), oomph::SolidFiniteElement::fill_in_contribution_to_jacobian(), fill_in_contribution_to_jacobian(), oomph::ElementWithExternalElement::fill_in_contribution_to_jacobian(), and fill_in_jacobian_from_nodal_by_fd().

Data* oomph::FiniteElement::geom_data_pt ( const unsigned &  j  )  [inline, virtual]

A standard FiniteElement is fixed, so there are no geometric data when viewed in its GeomObject incarnation.

Reimplemented from oomph::GeomObject.

Reimplemented in oomph::SolidFiniteElement, oomph::FaceElementAsGeomObject< ELEMENT >, and oomph::RefineableSolidElement.

Definition at line 2008 of file elements.h.

Referenced by oomph::ElementWithExternalElement::assign_external_interaction_data_local_eqn_numbers().

void oomph::FiniteElement::get_dresidual_dnodal_coordinates ( RankThreeTensor< double > &  dresidual_dnodal_coordinates  )  [virtual]

Compute derivatives of elemental residual vector with respect to nodal coordinates. Default implementation by FD can be overwritten for specific elements. dresidual_dnodal_coordinates(l,i,j) = d res(l) / dX_{ij}.

Compute derivatives of elemental residual vector with respect to nodal coordinates. Default implementation by FD can be overwritten for specific elements. dresidual_dnodal_coordinates(l,i,j) = d res(l) / dX_{ij}

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::RefineableNavierStokesEquations< DIM >, oomph::RefineableElement, oomph::PoissonEquations< DIM >, and oomph::RefineablePoissonEquations< DIM >.

Definition at line 2272 of file elements.cc.

References oomph::GeneralisedElement::Default_fd_jacobian_step, oomph::GeneralisedElement::get_residuals(), oomph::Node::ndim(), oomph::GeneralisedElement::ndof(), nnode(), node_pt(), and oomph::Node::x().

Referenced by oomph::ElementWithMovingNodes::fill_in_jacobian_from_geometric_data().

Node * oomph::FiniteElement::get_node_at_local_coordinate ( const Vector< double > &  s  )  [virtual]

If there is a node at the local coordinate, s, return the pointer to the node. If not return 0. Note that this is a default, brute force implementation, can almost certainly be made more efficient for specific elements.

Reimplemented in oomph::QElement< 2, NNODE_1D >, and oomph::QElement< 3, NNODE_1D >.

Definition at line 2412 of file elements.cc.

References Elemental_dimension, local_coordinate_of_node(), Nnode, Node_location_tolerance, and node_pt().

Referenced by oomph::RefineableQPVDElementWithContinuousPressure< DIM >::get_interpolating_node_at_local_coordinate(), oomph::RefineableQTaylorHoodElement< DIM >::get_interpolating_node_at_local_coordinate(), oomph::RefineableElement::get_interpolating_node_at_local_coordinate(), and oomph::RefineableAxisymmetricQTaylorHoodElement::get_interpolating_node_at_local_coordinate().

int oomph::FiniteElement::get_node_number ( Node *const &  global_node_pt  ) 

Return the number of the node *node_pt if this node is in the element, else return -1;.

Return the number of the node located at *node_pt if this node is in the element, else return -1;

Definition at line 2343 of file elements.cc.

References nnode(), node_pt(), and OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::SpectralElement::assign_all_generic_local_eqn_numbers(), and oomph::RefineableElement::unbuild().

virtual void oomph::FiniteElement::get_s_plot ( const unsigned &  i,
const unsigned &  nplot,
Vector< double > &  s 
) [inline, virtual]

Get cector of local coordinates of plot point i (when plotting nplot points in each "coordinate direction").

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2198 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::Z2ErrorEstimator::doc_flux(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::WomersleyEquations< DIM >::output(), oomph::UnsteadyHeatEquations< DIM >::output(), oomph::PoissonEquations< DIM >::output(), oomph::NavierStokesEquations< DIM >::output(), oomph::LinearWaveEquations< DIM >::output(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output(), oomph::AxisymmetricNavierStokesEquations::output(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output(), oomph::AdvectionDiffusionEquations< DIM >::output(), oomph::WomersleyEquations< DIM >::output_3d(), oomph::WomersleyEquations< DIM >::output_fct(), oomph::UnsteadyHeatEquations< DIM >::output_fct(), oomph::PoissonEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_fct(), oomph::LinearWaveEquations< DIM >::output_fct(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output_fct(), oomph::AxisymmetricNavierStokesEquations::output_fct(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output_fct(), oomph::AdvectionDiffusionEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), and oomph::NavierStokesEquations< DIM >::output_vorticity().

void oomph::FiniteElement::get_x ( const unsigned &  t,
const Vector< double > &  s,
Vector< double > &  x 
) [inline]

Global coordinates as function of local coordinates at previous time "level" t (t=0: present; t>0: previous). Either via FE representation of QElement or via macro-element (if Macro_elem_pt!=0).

Definition at line 1436 of file elements.h.

References get_x_from_macro_element(), interpolated_x(), Macro_elem_pt, node_pt(), oomph::TimeStepper::nprev_values(), oomph::Data::time_stepper_pt(), and oomph::GeomObject::time_stepper_pt().

void oomph::FiniteElement::get_x ( const Vector< double > &  s,
Vector< double > &  x 
) const [inline]

Global coordinates as function of local coordinates. Either via FE representation or via macro-element (if Macro_elem_pt!=0).

Definition at line 1423 of file elements.h.

References get_x_from_macro_element(), interpolated_x(), and Macro_elem_pt.

Referenced by oomph::OcTree::doc_face_neighbours(), oomph::QuadTree::doc_neighbours(), oomph::OcTree::doc_true_edge_neighbours(), and oomph::MacroElementNodeUpdateNode::node_update().

virtual void oomph::FiniteElement::get_x_from_macro_element ( const unsigned &  t,
const Vector< double > &  s,
Vector< double > &  x 
) [inline, virtual]

Global coordinates as function of local coordinates at previous time "level" t (t=0: present; t>0: previous). using macro element representation (Broken virtual -- overload in specific geometric element class if you want to use this functionality.).

Reimplemented in oomph::QElementBase.

Definition at line 1475 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

virtual void oomph::FiniteElement::get_x_from_macro_element ( const Vector< double > &  s,
Vector< double > &  x 
) const [inline, virtual]

Global coordinates as function of local coordinates using macro element representation. (Broken virtual --- this must be overloaded in specific geometric element classes).

Reimplemented in oomph::QElementBase.

Definition at line 1461 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by get_x(), and interpolated_zeta().

void oomph::FiniteElement::identify_field_data_for_interactions ( std::set< std::pair< Data *, unsigned > > &  paired_field_data  )  [virtual]

The purpose of this function is to identify all possible Data that can affect the fields interpolated by the FiniteElement. The information will typically be used in interaction problems in which the FiniteElement provides a forcing term for an ElementWithExternalElement. The Data must be provided as paired_load data containing

the index of the value in that Data object The generic implementation (should be overloaded in more specific applications) is to include all nodal and internal Data stored in the FiniteElement. The geometric data, which includes the positions of SolidNodes, is treated separately by the function identify_geometric_data().

The purpose of this function is to identify all possible Data that can affect the fields interpolated by the FiniteElement. The information will typically be used in interaction problems in which the FiniteElement provides a forcing term for an ElementWithExternalElement. The Data must be provided as paired_load data containing

the index of the value in that Data object The generic implementation (should be overloaded in more specific applications) is to include all nodal and internal Data stored in the FiniteElement. Note that the geometric data, which includes the positions of SolidNodes, is treated separately by the function identify_geometric_data()

Reimplemented in oomph::RefineableElement.

Definition at line 3485 of file elements.cc.

References oomph::GeneralisedElement::ninternal_data(), and nnode().

virtual void oomph::FiniteElement::identify_geometric_data ( std::set< Data * > &  geometric_data_pt  )  [inline, virtual]

The purpose of this function is to identify all Data objects that affect the elements' geometry. This function is implemented as an empty virtual function since it can only be implemented in conjunction with a node-update strategy. A specific implementation is provided in the ElementWithMovingNodes class.

Reimplemented in oomph::ElementWithMovingNodes.

Definition at line 2118 of file elements.h.

Integral* const& oomph::FiniteElement::integral_pt (  )  const [inline]

Return the pointer to the integration scheme (const version).

Definition at line 1490 of file elements.h.

References Integral_pt.

Referenced by oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::add_element_contribution_to_aux_integral(), oomph::DGFaceElement::add_flux_contributions(), oomph::ElementWithExternalElement::assign_external_interaction_data_local_eqn_numbers(), oomph::WomersleyEquations< DIM >::compute_error(), oomph::UnsteadyHeatEquations< DIM >::compute_error(), oomph::PoissonEquations< DIM >::compute_error(), oomph::NavierStokesEquations< DIM >::compute_error(), oomph::LinearWaveEquations< DIM >::compute_error(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::compute_error(), oomph::AxisymmetricNavierStokesEquations::compute_error(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::compute_error(), oomph::AdvectionDiffusionEquations< DIM >::compute_error(), d2shape_local_at_knot(), oomph::NavierStokesEquations< DIM >::d_kin_energy_dt(), oomph::NavierStokesEquations< DIM >::dissipation(), oomph::AxisymmetricNavierStokesEquations::dissipation(), oomph::FSI_functions::doc_fsi(), dshape_local_at_knot(), oomph::ClampedHermiteShellBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::AxisymmetricSolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals(), oomph::AxisymmetricPVDEquations::fill_in_contribution_to_residuals_axisym_pvd(), oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam(), oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), oomph::KirchhoffLoveShellEquations::fill_in_contribution_to_residuals_shell(), oomph::SolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals_solid_traction(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::PVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::fill_in_generic_residual_contribution_adv_diff_flux(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::AxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::AxisymmetricPVDEquationsWithPressure::fill_in_generic_residual_contribution_axisym_pvd_with_pressure(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::LineFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::NavierStokesFluxControlElement< ELEMENT >::fill_in_generic_residual_contribution_fluid_traction(), oomph::NavierStokesTractionElement< ELEMENT >::fill_in_generic_residual_contribution_fluid_traction(), oomph::SurfaceFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::AxisymmetricFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::LineFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::RefineableLinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveFluxElement< ELEMENT >::fill_in_generic_residual_contribution_lin_wave_flux(), oomph::RefineableNavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::NavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::RefineablePoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonFluxElement< ELEMENT >::fill_in_generic_residual_contribution_poisson_flux(), oomph::PVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::RefineableUnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::UnsteadyHeatFluxElement< ELEMENT >::fill_in_generic_residual_contribution_ust_heat_flux(), oomph::WomersleyEquations< DIM >::fill_in_generic_residual_contribution_womersley(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::RefineablePoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::PoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::KirchhoffLoveShellEquations::get_energy(), oomph::KirchhoffLoveBeamEquations::get_energy(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::get_kinetic_energy_flux(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::get_rate_of_traction_work(), oomph::NavierStokesEquations< DIM >::get_velocity_mass_matrix_diagonal(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::get_volume_flux(), oomph::WomersleyEquations< DIM >::get_volume_flux(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::get_volume_flux(), oomph::ElementWithExternalElement::initialise_external_element_storage(), integrate_fct(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::integrate_reagents(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::integrate_u(), oomph::NavierStokesEquations< DIM >::kin_energy(), oomph::AxisymmetricNavierStokesEquations::kin_energy(), oomph::KirchhoffLoveShellEquations::load_rate_of_work(), oomph::FSIWallElement::node_update_adjacent_fluid_elements(), oomph::FaceElement::outer_unit_normal(), oomph::FSISolidTractionElement< ELEMENT, DIM >::output(), oomph::ClampedHermiteShellBoundaryConditionElement::output(), oomph::StorableShapeElementBase::pre_compute_d2shape_eulerian_at_knots(), oomph::StorableShapeSolidElementBase::pre_compute_d2shape_lagrangian_at_knots(), oomph::StorableShapeElementBase::pre_compute_d2shape_local_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_eulerian_at_knots(), oomph::StorableShapeSolidElementBase::pre_compute_dshape_lagrangian_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_local_at_knots(), oomph::StorableShapeElementBase::pre_compute_J_eulerian_at_knots(), oomph::StorableShapeElementBase::pre_compute_shape_at_knots(), oomph::NavierStokesEquations< DIM >::pressure_integral(), oomph::AxisymmetricNavierStokesEquations::pressure_integral(), oomph::RefineableNavierStokesFluxControlElement< ELEMENT >::refineable_fill_in_generic_residual_contribution_fluid_traction(), oomph::DGFaceElement::report_info(), self_test(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::set_boundary_shape_geom_object_pt(), oomph::StorableShapeSolidElementBase::set_integration_scheme(), oomph::StorableShapeElementBase::set_integration_scheme(), set_integration_scheme(), oomph::DGFaceElement::setup_neighbour_info(), shape_at_knot(), size(), oomph::AxisymmetricPVDEquationsWithPressure::size(), and oomph::AxisymmetricPVDEquations::size().

void oomph::FiniteElement::integrate_fct ( FiniteElement::UnsteadyExactSolutionFctPt  integrand_fct_pt,
Vector< double > &  integral 
)

Evaluate integral of a Vector-valued, time-dependent function $ {\bf f}(t,{\bf x}) $ over the element.

void oomph::FiniteElement::integrate_fct ( FiniteElement::SteadyExactSolutionFctPt  integrand_fct_pt,
Vector< double > &  integral 
)

Integrate Vector-valued function over element.

Definition at line 2750 of file elements.cc.

References dim(), integral_pt(), interpolated_x(), J_eulerian(), nodal_dimension(), oomph::Integral::nweight(), oomph::GeneralisedElement::time(), and oomph::Integral::weight().

void oomph::FiniteElement::interpolated_dxdt ( const Vector< double > &  s,
const unsigned &  t_deriv,
Vector< double > &  dxdt 
) [virtual]

Compte t-th time-derivative of the FE-interpolated Eulerian coordinate vector at local coordinate s.

Compute t-th time-derivative of the FE-interpolated Eulerian coordinate vector at local coordinate s.

Reimplemented in oomph::FaceElement.

Definition at line 3036 of file elements.cc.

References dnodal_position_gen_dt(), nnodal_position_type(), nnode(), nodal_dimension(), and shape().

double oomph::FiniteElement::interpolated_dxdt ( const Vector< double > &  s,
const unsigned &  i,
const unsigned &  t_deriv 
) [virtual]

Return t-th time-derivative of the i-th FE-interpolated Eulerian coordinate at local coordinate s.

Return the t-th time-derivative of the i-th FE-interpolated Eulerian coordinate at local coordinate s.

Reimplemented in oomph::FaceElement.

Definition at line 3002 of file elements.cc.

References dnodal_position_gen_dt(), nnodal_position_type(), nnode(), and shape().

Referenced by dposition_dt(), and oomph::FaceElement::interpolated_dxdt().

void oomph::FiniteElement::interpolated_x ( const unsigned &  t,
const Vector< double > &  s,
Vector< double > &  x 
) const [virtual]

Return FE interpolated position x[] at local coordinate s at previous timestep t as Vector (t=0: present; t>0: previous timestep).

Return FE interpolated position x[] at local coordinate s at previous timestep t as Vector (t=0: present; t>0: previous timestep)

Reimplemented in oomph::FaceElement.

Definition at line 2548 of file elements.cc.

References nnodal_position_type(), nnode(), nodal_dimension(), nodal_position_gen(), and shape().

void oomph::FiniteElement::interpolated_x ( const Vector< double > &  s,
Vector< double > &  x 
) const [virtual]

Return FE interpolated position x[] at local coordinate s as Vector.

Reimplemented in oomph::FaceElement.

Definition at line 2512 of file elements.cc.

References nnodal_position_type(), nnode(), nodal_dimension(), nodal_position_gen(), and shape().

double oomph::FiniteElement::interpolated_x ( const unsigned &  t,
const Vector< double > &  s,
const unsigned &  i 
) const [virtual]

Return FE interpolated coordinate x[i] at local coordinate s at previous timestep t (t=0: present; t>0: previous timestep).

Return FE interpolated coordinate x[i] at local coordinate s at previous timestep t (t=0: present; t>0: previous timestep)

Reimplemented in oomph::FaceElement.

Definition at line 2480 of file elements.cc.

References interpolated_x(), nnodal_position_type(), nnode(), nodal_position_gen(), and shape().

double oomph::FiniteElement::interpolated_x ( const Vector< double > &  s,
const unsigned &  i 
) const [virtual]

Return FE interpolated coordinate x[i] at local coordinate s.

Reimplemented in oomph::FaceElement.

Definition at line 2449 of file elements.cc.

References nnodal_position_type(), nnode(), nodal_position_gen(), and shape().

Referenced by oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), oomph::RefineableQElement< 2 >::check_integrity(), oomph::RefineableQElement< 3 >::check_integrity(), oomph::WomersleyEquations< DIM >::compute_error(), oomph::UnsteadyHeatEquations< DIM >::compute_error(), oomph::PoissonEquations< DIM >::compute_error(), oomph::NavierStokesEquations< DIM >::compute_error(), oomph::LinearWaveEquations< DIM >::compute_error(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::compute_error(), oomph::AxisymmetricNavierStokesEquations::compute_error(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::compute_error(), oomph::AdvectionDiffusionEquations< DIM >::compute_error(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::compute_stabilisation_parameter(), oomph::Z2ErrorEstimator::doc_flux(), oomph::FSI_functions::doc_fsi(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_adv_diff(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_adv_diff(), oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam(), oomph::KirchhoffLoveShellEquations::fill_in_contribution_to_residuals_shell(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::AxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::RefineableLinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::RefineableNavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::NavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::RefineablePoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::RefineableUnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::WomersleyEquations< DIM >::fill_in_generic_residual_contribution_womersley(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::RefineablePoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::PoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::LinearElasticityEquationsBase< DIM >::get_strain(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::get_total_flux(), get_x(), oomph::QSolidElementBase::get_x_and_xi(), integrate_fct(), oomph::FaceElement::interpolated_x(), interpolated_x(), oomph::AxisymmetricNavierStokesEquations::kin_energy(), oomph::RefineableQElement< 3 >::oc_hang_helper(), oomph::WomersleyEquations< DIM >::output(), oomph::UnsteadyHeatEquations< DIM >::output(), oomph::TLinearElasticityElement< DIM, NNODE_1D >::output(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::output(), oomph::FSISolidTractionElement< ELEMENT, DIM >::output(), oomph::PVDEquationsWithPressure< DIM >::output(), oomph::PVDEquations< DIM >::output(), oomph::ClampedHermiteShellBoundaryConditionElement::output(), oomph::HermiteShellElement::output(), oomph::PoissonEquations< DIM >::output(), oomph::NavierStokesEquations< DIM >::output(), oomph::LinearWaveEquations< DIM >::output(), oomph::LinearElasticityEquations< DIM >::output(), oomph::SolidQHermiteElement< 2 >::output(), oomph::SolidQHermiteElement< 1 >::output(), oomph::QHermiteElement< DIM >::output(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output(), oomph::HermiteBeamElement::output(), oomph::AxisymmetricPVDEquationsWithPressure::output(), oomph::AxisymDiagHermitePVDElement::output(), oomph::AxisymmetricPVDEquations::output(), oomph::AxisymmetricNavierStokesEquations::output(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output(), oomph::AdvectionDiffusionEquations< DIM >::output(), oomph::WomersleyEquations< DIM >::output_3d(), oomph::WomersleyEquations< DIM >::output_fct(), oomph::UnsteadyHeatEquations< DIM >::output_fct(), oomph::PoissonEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_fct(), oomph::LinearWaveEquations< DIM >::output_fct(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output_fct(), oomph::AxisymmetricNavierStokesEquations::output_fct(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output_fct(), oomph::AdvectionDiffusionEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), oomph::NavierStokesEquations< DIM >::output_vorticity(), position(), oomph::AxisymmetricNavierStokesEquations::pressure_integral(), and oomph::RefineableQElement< 2 >::quad_hang_helper().

void oomph::FiniteElement::interpolated_zeta ( const Vector< double > &  s,
Vector< double > &  zeta 
) const [virtual]

Calculate the interpolated value of zeta, the intrinsic coordinate of the element when viewed as a compound geometric object within a Mesh as a function of the local coordinate of the element, s. The default assumption is the zeta is interpolated using the shape functions of the element with the values given by zeta_nodal().

by the local coordinate s is used if available. Choosing the MacroElement representation of zeta (Eulerian x by default) allows a correspondence to be established between elements on different Meshes covering the same curvilinear domain in cases where one element is much coarser than the other.

Reimplemented from oomph::GeomObject.

Definition at line 3082 of file elements.cc.

References dim(), get_x_from_macro_element(), Macro_elem_pt, nnodal_position_type(), nnode(), and shape().

Referenced by oomph::FSIDiagHermiteShellElement::locate_zeta(), locate_zeta(), and oomph::FSIHermiteBeamElement::locate_zeta().

double oomph::FiniteElement::invert_jacobian< 3 > ( const DenseMatrix< double > &  jacobian,
DenseMatrix< double > &  inverse_jacobian 
) const [protected]

Three-d specialisation of function to calculate inverse of jacobian mapping.

double oomph::FiniteElement::invert_jacobian_mapping ( const DenseMatrix< double > &  jacobian,
DenseMatrix< double > &  inverse_jacobian 
) const [protected, virtual]

A template-free interface that takes the matrix passed as jacobian and return its inverse in inverse_jacobian. By default the function will use the dimension of the element to call the correct invert_jacobian(..) function. This should be overloaded for efficiency (removal of a switch statement) in specific elements.

Template-free interface for inversion of the jacobian of a mapping. This is slightly inefficient, given that it uses a switch statement. It can always be overloaded in specific geometric elements, for efficiency reasons.

Reimplemented in oomph::QHermiteElement< DIM >, oomph::DiagQHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, and oomph::TElement< 3, NNODE_1D >.

Definition at line 1328 of file elements.cc.

References dim(), and OOMPH_EXCEPTION_LOCATION.

Referenced by local_to_eulerian_mapping(), and oomph::SolidFiniteElement::local_to_lagrangian_mapping().

double oomph::FiniteElement::J_eulerian ( const Vector< double > &  s  )  const [virtual]

Calculate the Jacobian of the mapping between local and global coordinates at the position s.

Reimplemented in oomph::FaceElement.

Definition at line 2585 of file elements.cc.

References assemble_eulerian_base_vectors(), check_jacobian(), dim(), dshape_local(), nnodal_position_type(), nnode(), nodal_dimension(), OOMPH_EXCEPTION_LOCATION, and oomph::oomph_info.

Referenced by oomph::WomersleyEquations< DIM >::compute_error(), oomph::UnsteadyHeatEquations< DIM >::compute_error(), oomph::PoissonEquations< DIM >::compute_error(), oomph::NavierStokesEquations< DIM >::compute_error(), oomph::LinearWaveEquations< DIM >::compute_error(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::compute_error(), oomph::AxisymmetricNavierStokesEquations::compute_error(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::compute_error(), oomph::AdvectionDiffusionEquations< DIM >::compute_error(), oomph::NavierStokesEquations< DIM >::dissipation(), oomph::AxisymmetricNavierStokesEquations::dissipation(), oomph::Z2ErrorEstimator::get_element_errors(), integrate_fct(), oomph::NavierStokesEquations< DIM >::kin_energy(), oomph::AxisymmetricNavierStokesEquations::kin_energy(), oomph::NavierStokesEquations< DIM >::pressure_integral(), oomph::AxisymmetricNavierStokesEquations::pressure_integral(), and self_test().

double oomph::FiniteElement::J_eulerian_at_knot ( const unsigned &  ipt  )  const [virtual]

Compute the Jacobian of the mapping between the local and global coordinates at the ipt-th integration point.

Reimplemented in oomph::FaceElement, and oomph::StorableShapeElementBase.

Definition at line 2655 of file elements.cc.

References assemble_eulerian_base_vectors(), dim(), dshape_local_at_knot(), nnodal_position_type(), nnode(), nodal_dimension(), OOMPH_EXCEPTION_LOCATION, and oomph::oomph_info.

Referenced by oomph::NavierStokesEquations< DIM >::get_velocity_mass_matrix_diagonal(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::integrate_u(), oomph::StorableShapeElementBase::J_eulerian_at_knot(), oomph::StorableShapeElementBase::pre_compute_J_eulerian_at_knots(), and size().

virtual bool oomph::FiniteElement::local_coord_is_valid ( Vector< double > &  s,
const double &  rounding_tolerance 
) [inline, virtual]

Check whether the local coordinate are valid or not, allowing for a rounding tolerance. If the point is outside the element by less than the tolerance, we move it back into the element.

Reimplemented in oomph::QElementBase, and oomph::TElementBase.

Definition at line 1373 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

virtual bool oomph::FiniteElement::local_coord_is_valid ( const Vector< double > &  s  )  [inline, virtual]

Check whether the local coordinate are valid or not.

Reimplemented in oomph::QElementBase, and oomph::TElementBase.

Definition at line 1361 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by locate_zeta().

virtual void oomph::FiniteElement::local_coordinate_of_node ( const unsigned &  j,
Vector< double > &  s 
) [inline, virtual]

Get local coordinates of node j in the element; vector sets its own size (broken virtual).

Reimplemented in oomph::PointElement, oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, and oomph::TElement< 3, NNODE_1D >.

Definition at line 1385 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), get_node_at_local_coordinate(), local_fraction_of_node(), oomph::MacroElementNodeUpdateElement< ELEMENT >::rebuild_from_sons(), oomph::MacroElementNodeUpdateElement< ELEMENT >::set_node_update_info(), and oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::setup_algebraic_node_update().

void oomph::FiniteElement::local_fraction_of_node ( const unsigned &  j,
Vector< double > &  s_fraction 
) [virtual]

Get the local fraction of the node j in the element A dumb, but correct default implementation is provided.

Get the local fraction of the node j in the element; vector sets its own size

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, and oomph::QSpectralElement< 3, NNODE_1D >.

Definition at line 1838 of file elements.cc.

References local_coordinate_of_node(), s_max(), and s_min().

Referenced by oomph::SimpleCubicMesh< ELEMENT >::build_mesh(), oomph::OneDMesh< ELEMENT >::build_mesh(), oomph::FishMesh< ELEMENT >::build_mesh(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), and oomph::SimpleRectangularQuadMesh< ELEMENT >::SimpleRectangularQuadMesh().

virtual double oomph::FiniteElement::local_one_d_fraction_of_node ( const unsigned &  n1d,
const unsigned &  i 
) [inline, virtual]

Get the local fraction of any node in the n-th position in a one dimensional expansion along the i-th local coordinate.

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, and oomph::QSpectralElement< 3, NNODE_1D >.

Definition at line 1400 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::RefineableQPVDElementWithContinuousPressure< DIM >::local_one_d_fraction_of_interpolating_node(), oomph::RefineableQTaylorHoodElement< DIM >::local_one_d_fraction_of_interpolating_node(), oomph::RefineableElement::local_one_d_fraction_of_interpolating_node(), and oomph::RefineableAxisymmetricQTaylorHoodElement::local_one_d_fraction_of_interpolating_node().

double oomph::FiniteElement::local_to_eulerian_mapping ( const DShape dpsids,
DenseMatrix< double > &  inverse_jacobian 
) const [inline, protected]

Calculate the mapping from local to Eulerian coordinates, given the derivatives of the shape functions w.r.t. local coordinates, Return only the determinant of the jacobian and the inverse of the mapping (ds/dx).

Definition at line 1146 of file elements.h.

References dim(), and local_to_eulerian_mapping().

virtual double oomph::FiniteElement::local_to_eulerian_mapping ( const DShape dpsids,
DenseMatrix< double > &  jacobian,
DenseMatrix< double > &  inverse_jacobian 
) const [inline, protected, virtual]

Calculate the mapping from local to Eulerian coordinates, given the derivatives of the shape functions w.r.t. local coordinates. Returns the determinant of the jacobian, the jacobian and inverse jacobian.

Reimplemented in oomph::DiagQHermiteElement< DIM >.

Definition at line 1131 of file elements.h.

References assemble_local_to_eulerian_jacobian(), and invert_jacobian_mapping().

Referenced by d2shape_eulerian(), d2shape_eulerian_at_knot(), dshape_eulerian(), dshape_eulerian_at_knot(), and local_to_eulerian_mapping().

double oomph::FiniteElement::local_to_eulerian_mapping_diagonal ( const DShape dpsids,
DenseMatrix< double > &  jacobian,
DenseMatrix< double > &  inverse_jacobian 
) const [protected, virtual]

Calculate the mapping from local to Eulerian coordinates given the derivatives of the shape functions w.r.t the local coordinates. assuming that the coordinates are aligned in the direction of the local coordinates, i.e. there are no cross terms and the jacobian is diagonal. This function returns the determinant of the jacobian, the jacobian and the inverse jacobian.

Calculate the mapping from local to eulerian coordinates assuming that the coordinates are aligned in the direction of the local coordinates, i.e. there are no cross terms and the jacobian is diagonal. The local derivatives are passed as dpsids and the jacobian and inverse jacobian are returned.

Reimplemented in oomph::RefineableElement.

Definition at line 1397 of file elements.cc.

References check_jacobian(), dim(), Elemental_dimension, nnodal_position_type(), nnode(), Nodal_dimension, OOMPH_EXCEPTION_LOCATION, and raw_nodal_position_gen().

Referenced by oomph::DiagQHermiteElement< DIM >::local_to_eulerian_mapping().

void oomph::FiniteElement::locate_zeta ( const Vector< double > &  zeta,
GeomObject *&  geom_object_pt,
Vector< double > &  s,
const bool &  use_coordinate_as_initial_guess = false 
) [virtual]

For a given value of zeta, the "global" intrinsic coordinate of a mesh of FiniteElements represented as a compound geometric object, find the local coordinate in this element that corresponds to the requested value of zeta. If zeta cannot be located in this element, geom_object_pt is set to NULL. If zeta is located in this element, we return its "this" pointer. By default don't use any value passed in to the local coordinate s as the initial guess in the Newton method.

For a given value of zeta, the "global" intrinsic coordinate of a mesh of FiniteElements represented as a compound geometric object, find the local coordinate in this element that corresponds to the requested value of zeta. This is achieved in generality by using Newton's method to find the value of the local coordinate, s, such that interpolated_zeta(s) is equal to the requested value of zeta. If zeta cannot be located in this element, geom_object_pt is set to NULL. If zeta is located in this element, we return its "this" pointer.

Reimplemented from oomph::GeomObject.

Reimplemented in oomph::FSIHermiteBeamElement, and oomph::FSIDiagHermiteShellElement.

Definition at line 3133 of file elements.cc.

References oomph::GeneralisedElement::Default_fd_jacobian_step, dim(), dshape_local(), interpolated_zeta(), local_coord_is_valid(), macro_elem_pt(), Macro_elem_pt, oomph::Locate_zeta_helpers::Max_newton_iterations, oomph::Locate_zeta_helpers::N_local_points, oomph::Locate_zeta_helpers::Newton_tolerance, nnodal_position_type(), nnode(), OOMPH_EXCEPTION_LOCATION, oomph::oomph_info, oomph::Locate_zeta_helpers::Rounding_tolerance, s_max(), s_min(), and oomph::DoubleMatrixBase::solve().

MacroElement* oomph::FiniteElement::macro_elem_pt (  )  [inline]

Access function to pointer to macro element.

Definition at line 1419 of file elements.h.

References Macro_elem_pt.

Referenced by locate_zeta(), oomph::QSolidElementBase::set_macro_elem_pt(), oomph::QElementBase::set_macro_elem_pt(), oomph::SolidFiniteElement::set_macro_elem_pt(), and set_macro_elem_pt().

unsigned oomph::FiniteElement::ngeom_data (  )  const [inline, virtual]

A standard FiniteElement is fixed, so there are no geometric data when viewed in its GeomObject incarnation.

Reimplemented from oomph::GeomObject.

Reimplemented in oomph::ElementWithMovingNodes, oomph::SolidFiniteElement, oomph::FaceElementAsGeomObject< ELEMENT >, and oomph::RefineableSolidElement.

Definition at line 2004 of file elements.h.

Referenced by oomph::ElementWithExternalElement::assign_external_interaction_data_local_eqn_numbers().

unsigned oomph::FiniteElement::nnodal_position_type (  )  const [inline]

Return the number of coordinate types that the element requires to interpolate the geometry between the nodes. For Lagrange elements it is 1.

Definition at line 1872 of file elements.h.

References Nnodal_position_type.

Referenced by oomph::RefineableElement::assemble_eulerian_base_vectors(), assemble_eulerian_base_vectors(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian(), assemble_local_to_eulerian_jacobian(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian2(), assemble_local_to_eulerian_jacobian2(), oomph::RefineableSolidElement::assign_solid_hanging_local_eqn_numbers(), oomph::SolidFiniteElement::assign_solid_local_eqn_numbers(), oomph::SolidICProblem::backup_original_state(), oomph::CircularCylindricalShellMesh< ELEMENT >::CircularCylindricalShellMesh(), oomph::SolidFiniteElement::construct_boundary_node(), oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >::construct_boundary_node(), oomph::SolidFiniteElement::construct_node(), oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >::construct_node(), oomph::FSIDiagHermiteShellElement::dposition_dlagrangian_at_local_coordinate(), oomph::FSIHermiteBeamElement::dposition_dlagrangian_at_local_coordinate(), oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::AxisymmetricSolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals(), oomph::AxisymmetricPVDEquations::fill_in_contribution_to_residuals_axisym_pvd(), oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam(), oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), oomph::KirchhoffLoveShellEquations::fill_in_contribution_to_residuals_shell(), oomph::SolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals_solid_traction(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::PVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic(), oomph::AxisymmetricPVDEquationsWithPressure::fill_in_generic_residual_contribution_axisym_pvd_with_pressure(), oomph::PVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::SolidFiniteElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::PVDEquationsBase< DIM >::get_deformed_covariant_basis_vectors(), oomph::FSISolidTractionElement< ELEMENT, DIM >::get_dof_numbers_for_unknowns(), oomph::PVDEquationsBase< DIM >::get_dof_numbers_for_unknowns(), oomph::ClampedHermiteShellBoundaryConditionElement::get_dof_numbers_for_unknowns(), oomph::FSIDiagHermiteShellElement::get_dof_numbers_for_unknowns(), oomph::FSIHermiteBeamElement::get_dof_numbers_for_unknowns(), oomph::KirchhoffLoveShellEquations::get_energy(), oomph::KirchhoffLoveBeamEquations::get_energy(), oomph::KirchhoffLoveBeamEquations::get_non_unit_tangent(), oomph::KirchhoffLoveShellEquations::get_normal(), oomph::KirchhoffLoveBeamEquations::get_normal(), oomph::PVDEquationsBase< DIM >::get_strain(), oomph::LinearElasticityEquationsBase< DIM >::get_strain(), oomph::PVDEquationsWithPressure< DIM >::get_stress(), oomph::PVDEquations< DIM >::get_stress(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::ImposeDisplacementByLagrangeMultiplierElement(), interpolated_dxdt(), interpolated_x(), interpolated_zeta(), oomph::FaceElement::J_eulerian(), J_eulerian(), oomph::FaceElement::J_eulerian_at_knot(), J_eulerian_at_knot(), oomph::KirchhoffLoveShellEquations::load_rate_of_work(), oomph::RefineableElement::local_to_eulerian_mapping_diagonal(), local_to_eulerian_mapping_diagonal(), locate_zeta(), oomph::FaceElement::outer_unit_normal(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::HermiteBeamElement::output(), oomph::SolidFiniteElement::position_local_eqn(), oomph::StorableShapeElementBase::pre_compute_d2shape_eulerian_at_knots(), oomph::StorableShapeElementBase::pre_compute_d2shape_local_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_eulerian_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_local_at_knots(), oomph::StorableShapeElementBase::pre_compute_shape_at_knots(), oomph::SolidICProblem::reset_original_state(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::set_boundary_shape_geom_object_pt(), and oomph::SolidICProblem::setup_problem().

unsigned oomph::FiniteElement::nnode (  )  const [inline]

Return the number of nodes.

Definition at line 1681 of file elements.h.

References Nnode.

Referenced by oomph::FluidInterfaceElement::actual_contact_angle(), oomph::RefineableMeshBase::adapt_mesh(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::add_additional_residual_contributions(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::add_additional_residual_contributions(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::add_additional_residual_contributions(), oomph::FaceElement::add_additional_values(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::add_element_contribution_to_aux_integral(), oomph::DGFaceElement::add_flux_contributions(), oomph::RefineableElement::assemble_eulerian_base_vectors(), assemble_eulerian_base_vectors(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian(), assemble_local_to_eulerian_jacobian(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian2(), assemble_local_to_eulerian_jacobian2(), oomph::RefineableSolidElement::assemble_local_to_lagrangian_jacobian(), oomph::SolidFiniteElement::assemble_local_to_lagrangian_jacobian(), oomph::RefineableSolidElement::assemble_local_to_lagrangian_jacobian2(), oomph::SolidFiniteElement::assemble_local_to_lagrangian_jacobian2(), oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data(), oomph::SpectralElement::assign_all_generic_local_eqn_numbers(), oomph::ElementWithExternalElement::assign_external_interaction_data_local_eqn_numbers(), oomph::RefineableElement::assign_hanging_local_eqn_numbers(), oomph::GeneralisedElement::assign_local_eqn_numbers(), assign_nodal_local_eqn_numbers(), oomph::RefineableSolidElement::assign_solid_hanging_local_eqn_numbers(), oomph::SolidFiniteElement::assign_solid_local_eqn_numbers(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), oomph::GeompackQuadMesh< ELEMENT >::build_from_scaffold(), check_jacobian(), oomph::SpineElement< ELEMENT >::complete_setup_of_dependencies(), oomph::WomersleyEquations< DIM >::compute_error(), oomph::UnsteadyHeatEquations< DIM >::compute_error(), oomph::PoissonEquations< DIM >::compute_error(), oomph::LinearWaveEquations< DIM >::compute_error(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::compute_error(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::compute_error(), oomph::AdvectionDiffusionEquations< DIM >::compute_error(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::compute_stabilisation_parameter(), oomph::DGElement::construct_boundary_nodes_and_faces(), oomph::DGElement::construct_nodes_and_faces(), oomph::NavierStokesEquations< DIM >::d_kin_energy_dt(), oomph::RefineableElement::deactivate_element(), oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::AdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineableNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::NavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::DisplacementControlElement::DisplacementControlElement(), oomph::Z2ErrorEstimator::doc_flux(), oomph::FSIDiagHermiteShellElement::dposition_dlagrangian_at_local_coordinate(), oomph::FSIHermiteBeamElement::dposition_dlagrangian_at_local_coordinate(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_adv_diff(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_at_knot_adv_diff(), oomph::TPoissonElement< DIM, NNODE_1D >::dshape_and_dtest_eulerian_poisson(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::ElasticAxisymmetricFluidInterfaceElement(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::ElasticLineFluidInterfaceElement(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::ElasticSurfaceFluidInterfaceElement(), oomph::ClampedHermiteShellBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::AxisymmetricSolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals(), oomph::AxisymmetricPVDEquations::fill_in_contribution_to_residuals_axisym_pvd(), oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam(), oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), oomph::KirchhoffLoveShellEquations::fill_in_contribution_to_residuals_shell(), oomph::SolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals_solid_traction(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::PVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::fill_in_generic_residual_contribution_adv_diff_flux(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::AxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::AxisymmetricPVDEquationsWithPressure::fill_in_generic_residual_contribution_axisym_pvd_with_pressure(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::LineFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::NavierStokesFluxControlElement< ELEMENT >::fill_in_generic_residual_contribution_fluid_traction(), oomph::NavierStokesTractionElement< ELEMENT >::fill_in_generic_residual_contribution_fluid_traction(), oomph::SurfaceFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::AxisymmetricFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::LineFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::RefineableLinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveFluxElement< ELEMENT >::fill_in_generic_residual_contribution_lin_wave_flux(), oomph::RefineableNavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::NavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::RefineablePoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonFluxElement< ELEMENT >::fill_in_generic_residual_contribution_poisson_flux(), oomph::PVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::RefineableUnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::UnsteadyHeatFluxElement< ELEMENT >::fill_in_generic_residual_contribution_ust_heat_flux(), oomph::WomersleyEquations< DIM >::fill_in_generic_residual_contribution_womersley(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::ElementWithMovingNodes::fill_in_jacobian_from_geometric_data(), oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), fill_in_jacobian_from_nodal_by_fd(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::SolidFiniteElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::PVDEquationsBase< DIM >::get_deformed_covariant_basis_vectors(), oomph::ElementWithMovingNodes::get_dnodal_coordinates_dgeom_dofs(), oomph::TTaylorHoodElement< DIM >::get_dof_numbers_for_unknowns(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::get_dof_numbers_for_unknowns(), oomph::FSISolidTractionElement< ELEMENT, DIM >::get_dof_numbers_for_unknowns(), oomph::PVDEquationsBase< DIM >::get_dof_numbers_for_unknowns(), oomph::ClampedHermiteShellBoundaryConditionElement::get_dof_numbers_for_unknowns(), oomph::FSIDiagHermiteShellElement::get_dof_numbers_for_unknowns(), oomph::QTaylorHoodElement< DIM >::get_dof_numbers_for_unknowns(), oomph::QCrouzeixRaviartElement< DIM >::get_dof_numbers_for_unknowns(), oomph::FSIHermiteBeamElement::get_dof_numbers_for_unknowns(), oomph::RefineablePoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableElement::get_dresidual_dnodal_coordinates(), oomph::PoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), get_dresidual_dnodal_coordinates(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::KirchhoffLoveShellEquations::get_energy(), oomph::KirchhoffLoveBeamEquations::get_energy(), oomph::WomersleyEquations< DIM >::get_flux(), oomph::UnsteadyHeatEquations< DIM >::get_flux(), oomph::PoissonEquations< DIM >::get_flux(), oomph::LinearWaveEquations< DIM >::get_flux(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::get_flux(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_flux(), oomph::AdvectionDiffusionEquations< DIM >::get_flux(), oomph::RefineableUnsteadyHeatEquations< DIM >::get_interpolated_values(), oomph::RefineablePoissonEquations< DIM >::get_interpolated_values(), oomph::RefineableQCrouzeixRaviartElement< DIM >::get_interpolated_values(), oomph::RefineableQTaylorHoodElement< DIM >::get_interpolated_values(), oomph::RefineableLinearWaveEquations< DIM >::get_interpolated_values(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::get_interpolated_values(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), oomph::RefineableAxisymmetricQTaylorHoodElement::get_interpolated_values(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_interpolated_values(), oomph::RefineableAdvectionDiffusionEquations< DIM >::get_interpolated_values(), oomph::DGFaceElement::get_interpolation_data(), get_node_number(), oomph::KirchhoffLoveBeamEquations::get_non_unit_tangent(), oomph::KirchhoffLoveShellEquations::get_normal(), oomph::KirchhoffLoveBeamEquations::get_normal(), oomph::PVDEquationsBase< DIM >::get_strain(), oomph::LinearElasticityEquationsBase< DIM >::get_strain(), oomph::PVDEquationsWithPressure< DIM >::get_stress(), oomph::PVDEquations< DIM >::get_stress(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::get_total_flux(), oomph::NavierStokesEquations< DIM >::get_velocity_mass_matrix_diagonal(), oomph::WomersleyEquations< DIM >::get_volume_flux(), oomph::NavierStokesEquations< DIM >::get_vorticity(), oomph::RefineableElement::identify_field_data_for_interactions(), identify_field_data_for_interactions(), oomph::TTaylorHoodElement< DIM >::identify_load_data(), oomph::RefineableQCrouzeixRaviartElement< DIM >::identify_load_data(), oomph::RefineableQTaylorHoodElement< DIM >::identify_load_data(), oomph::QTaylorHoodElement< DIM >::identify_load_data(), oomph::QCrouzeixRaviartElement< DIM >::identify_load_data(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::ImposeDisplacementByLagrangeMultiplierElement(), oomph::ImposeParallelOutflowElement< ELEMENT >::ImposeParallelOutflowElement(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::integrate_reagents(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::integrate_u(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::interpolated_c_adv_diff_react(), interpolated_dxdt(), oomph::FluidInterfaceElement::interpolated_u(), oomph::DGFaceElement::interpolated_u(), oomph::AdvectionDiffusionEquations< DIM >::interpolated_u_adv_diff(), oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::interpolated_u_cons_adv_diff(), oomph::LinearWaveEquations< DIM >::interpolated_u_lin_wave(), oomph::LinearElasticityEquationsBase< DIM >::interpolated_u_linear_elasticity(), oomph::NavierStokesEquations< DIM >::interpolated_u_nst(), oomph::PoissonEquations< DIM >::interpolated_u_poisson(), oomph::UnsteadyHeatEquations< DIM >::interpolated_u_ust_heat(), oomph::WomersleyEquations< DIM >::interpolated_u_womersley(), interpolated_x(), oomph::SolidFiniteElement::interpolated_xi(), interpolated_zeta(), oomph::FaceElement::J_eulerian(), J_eulerian(), oomph::FaceElement::J_eulerian_at_knot(), J_eulerian_at_knot(), oomph::KirchhoffLoveShellEquations::load_rate_of_work(), oomph::RefineableElement::local_to_eulerian_mapping_diagonal(), local_to_eulerian_mapping_diagonal(), oomph::RefineableSolidElement::local_to_lagrangian_mapping_diagonal(), oomph::SolidFiniteElement::local_to_lagrangian_mapping_diagonal(), locate_zeta(), oomph::Multi_domain_functions::locate_zeta_for_local_coordinates(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::RefineableSolidElement::ngeom_data(), oomph::SolidFiniteElement::ngeom_data(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::ninterpolating_node(), oomph::RefineableQTaylorHoodElement< DIM >::ninterpolating_node(), oomph::RefineableElement::ninterpolating_node(), oomph::RefineableAxisymmetricQTaylorHoodElement::ninterpolating_node(), node_update(), oomph::DGFaceElement::numerical_flux_at_knot(), oomph::FaceElement::outer_unit_normal(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output(), oomph::DummyFaceElement< ELEMENT >::output(), oomph::HermiteBeamElement::output(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), oomph::TTaylorHoodElement< DIM >::pin_all_nodal_pressure_dofs(), oomph::RefineableQTaylorHoodElement< DIM >::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableAxisymmetricQTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::pin_elemental_redundant_nodal_solid_pressures(), oomph::SolidFiniteElement::position_local_eqn(), oomph::StorableShapeElementBase::pre_compute_d2shape_eulerian_at_knots(), oomph::StorableShapeSolidElementBase::pre_compute_d2shape_lagrangian_at_knots(), oomph::StorableShapeElementBase::pre_compute_d2shape_local_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_eulerian_at_knots(), oomph::StorableShapeSolidElementBase::pre_compute_dshape_lagrangian_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_local_at_knots(), oomph::StorableShapeElementBase::pre_compute_shape_at_knots(), oomph::MacroElementNodeUpdateElement< ELEMENT >::rebuild_from_sons(), oomph::RefineableNavierStokesFluxControlElement< ELEMENT >::refineable_fill_in_generic_residual_contribution_fluid_traction(), oomph::DGFaceElement::report_info(), oomph::FaceElement::resize_nodes(), self_test(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::set_boundary_shape_geom_object_pt(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::set_external_data_from_navier_stokes_outflow_mesh(), oomph::MacroElementNodeUpdateElement< ELEMENT >::set_node_update_info(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicElementBase::setup_algebraic_node_update(), oomph::TriangleMesh< ELEMENT >::setup_boundary_coordinates(), oomph::UnsteadyHeatFluxElement< ELEMENT >::shape_and_test(), oomph::PoissonFluxElement< ELEMENT >::shape_and_test(), oomph::LinearWaveFluxElement< ELEMENT >::shape_and_test(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::shape_and_test(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::shape_and_test_at_knot(), oomph::PoissonFluxElement< ELEMENT >::shape_and_test_at_knot(), oomph::NavierStokesFluxControlElement< ELEMENT >::shape_and_test_at_knot(), oomph::NavierStokesTractionElement< ELEMENT >::shape_and_test_at_knot(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::shape_and_test_at_knot(), oomph::AxisymmetricPVDEquationsWithPressure::size(), oomph::AxisymmetricPVDEquations::size(), oomph::SolidQHermiteElement< 2 >::SolidQHermiteElement(), oomph::SpineElement< oomph::FaceGeometry< oomph::FaceGeometry< ELEMENT > > >::spine_local_eqn(), oomph::NavierStokesEquations< DIM >::strain_rate(), oomph::AxisymmetricNavierStokesEquations::strain_rate(), oomph::RefineableElement::unbuild(), oomph::TTaylorHoodElement< DIM >::unpin_all_nodal_pressure_dofs(), oomph::RefineableQTaylorHoodElement< DIM >::unpin_elemental_pressure_dofs(), oomph::RefineableAxisymmetricQTaylorHoodElement::unpin_elemental_pressure_dofs(), oomph::QPVDElementWithContinuousPressure< DIM >::unpin_elemental_solid_pressure_dofs(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::unpin_elemental_solid_pressure_dofs(), and oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh().

virtual unsigned oomph::FiniteElement::nnode_1d (  )  const [inline, virtual]

Return the number of nodes along one edge of the element Default is to return zero --- must be overloaded by geometric elements.

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, and oomph::TElement< 3, NNODE_1D >.

Definition at line 1686 of file elements.h.

Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::nfree_surface_spines(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::ninterpolating_node_1d(), oomph::RefineableQTaylorHoodElement< DIM >::ninterpolating_node_1d(), oomph::RefineableElement::ninterpolating_node_1d(), oomph::RefineableAxisymmetricQTaylorHoodElement::ninterpolating_node_1d(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::setup_algebraic_node_update(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::HermiteQuadMesh< ELEMENT >::setup_boundary_element_info(), oomph::BrickMeshBase::setup_boundary_element_info(), and oomph::TetgenMesh< ELEMENT >::split_elements_in_corners().

unsigned oomph::FiniteElement::nodal_dimension (  )  const [inline]

Return the required Eulerian dimension of the nodes in this element.

Definition at line 1875 of file elements.h.

References Nodal_dimension.

Referenced by oomph::RefineableElement::assemble_eulerian_base_vectors(), assemble_eulerian_base_vectors(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian(), oomph::RefineableSolidElement::assign_solid_hanging_local_eqn_numbers(), oomph::SolidFiniteElement::assign_solid_local_eqn_numbers(), oomph::SolidFiniteElement::construct_boundary_node(), oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >::construct_boundary_node(), oomph::SolidFiniteElement::construct_node(), oomph::FSI_functions::doc_fsi(), oomph::FaceElementAsGeomObject< ELEMENT >::FaceElementAsGeomObject(), oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), oomph::SolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals_solid_traction(), oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic(), oomph::LineFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::PointFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::SolidFiniteElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::FSISolidTractionElement< ELEMENT, DIM >::get_dof_numbers_for_unknowns(), oomph::PVDEquationsBase< DIM >::get_dof_numbers_for_unknowns(), oomph::ClampedHermiteShellBoundaryConditionElement::get_dof_numbers_for_unknowns(), oomph::FSIDiagHermiteShellElement::get_dof_numbers_for_unknowns(), oomph::FSIHermiteBeamElement::get_dof_numbers_for_unknowns(), integrate_fct(), interpolated_dxdt(), interpolated_x(), oomph::FaceElement::J_eulerian(), J_eulerian(), oomph::FaceElement::J_eulerian_at_knot(), J_eulerian_at_knot(), oomph::LinearElasticityTractionElement< ELEMENT >::LinearElasticityTractionElement(), oomph::RefineableElement::local_to_eulerian_mapping_diagonal(), oomph::DGFaceElement::numerical_flux_at_knot(), oomph::FaceElement::outer_unit_normal(), oomph::SolidTractionElement< ELEMENT >::output(), oomph::SolidQHermiteElement< 2 >::output(), oomph::SolidQHermiteElement< 1 >::output(), oomph::QHermiteElement< DIM >::output(), oomph::SolidFiniteElement::position_local_eqn(), oomph::StorableShapeElementBase::pre_compute_d2shape_eulerian_at_knots(), oomph::StorableShapeElementBase::pre_compute_dshape_eulerian_at_knots(), oomph::DGFaceElement::report_info(), oomph::SolidTractionElement< ELEMENT >::traction(), and oomph::LinearElasticityTractionElement< ELEMENT >::traction().

int oomph::FiniteElement::nodal_local_eqn ( const unsigned &  n,
const unsigned &  i 
) [inline]

Return the local equation number corresponding to the i-th value at the n-th local node.

Definition at line 1062 of file elements.h.

References Nnode, Nodal_local_eqn, node_pt(), oomph::Data::nvalue(), and OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::DGFaceElement::add_flux_contributions(), oomph::SpectralElement::assign_all_generic_local_eqn_numbers(), oomph::RefineableElement::assign_hanging_local_eqn_numbers(), oomph::ClampedHermiteShellBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::fill_in_generic_residual_contribution_adv_diff_flux(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::AxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::PointFluidInterfaceEdgeElement::fill_in_generic_residual_contribution_contact_edge(), oomph::AxisymmetricFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::RefineableLinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveFluxElement< ELEMENT >::fill_in_generic_residual_contribution_lin_wave_flux(), oomph::RefineableNavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::NavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::RefineablePoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonFluxElement< ELEMENT >::fill_in_generic_residual_contribution_poisson_flux(), oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::RefineableUnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::UnsteadyHeatFluxElement< ELEMENT >::fill_in_generic_residual_contribution_ust_heat_flux(), oomph::WomersleyEquations< DIM >::fill_in_generic_residual_contribution_womersley(), oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), fill_in_jacobian_from_nodal_by_fd(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::get_dof_numbers_for_unknowns(), oomph::ClampedHermiteShellBoundaryConditionElement::get_dof_numbers_for_unknowns(), oomph::RefineablePoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::PoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_velocity_mass_matrix_diagonal(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::kinematic_local_eqn(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::kinematic_local_eqn(), oomph::ElasticLineFluidInterfaceEdgeElement< ELEMENT >::kinematic_local_eqn(), oomph::ElasticPointFluidInterfaceEdgeElement< ELEMENT >::kinematic_local_eqn(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::kinematic_local_eqn(), oomph::TTaylorHoodElement< DIM >::p_local_eqn(), oomph::QTaylorHoodElement< DIM >::p_local_eqn(), oomph::AxisymmetricQTaylorHoodElement::p_local_eqn(), oomph::RefineableNavierStokesFluxControlElement< ELEMENT >::refineable_fill_in_generic_residual_contribution_fluid_traction(), oomph::QPVDElementWithContinuousPressure< DIM >::solid_p_local_eqn(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::u_local_eqn(), oomph::NavierStokesFluxControlElement< ELEMENT >::u_local_eqn(), and oomph::NavierStokesTractionElement< ELEMENT >::u_local_eqn().

double oomph::FiniteElement::nodal_position ( const unsigned &  t,
const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th coordinate at local node n, at time level t (t=0: present; t>0: previous time level) Returns suitably interpolated version for hanging nodes.

Definition at line 1753 of file elements.h.

References node_pt(), and oomph::Node::position().

double oomph::FiniteElement::nodal_position ( const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th coordinate at local node n. If the node is hanging, the appropriate interpolation is handled by the position function in the Node class.

Definition at line 1747 of file elements.h.

References node_pt(), and oomph::Node::position().

Referenced by oomph::FluidInterfaceElement::actual_contact_angle(), oomph::LinearElasticityTractionElement< ELEMENT >::fill_in_contribution_to_residuals_linear_elasticity_traction(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::fill_in_generic_residual_contribution_adv_diff_flux(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::NavierStokesTractionElement< ELEMENT >::fill_in_generic_residual_contribution_fluid_traction(), oomph::SurfaceFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::AxisymmetricFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::LineFluidInterfaceElement::fill_in_generic_residual_contribution_interface(), oomph::RefineableLinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveFluxElement< ELEMENT >::fill_in_generic_residual_contribution_lin_wave_flux(), oomph::RefineableNavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::RefineablePoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PoissonFluxElement< ELEMENT >::fill_in_generic_residual_contribution_poisson_flux(), oomph::RefineableUnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::UnsteadyHeatFluxElement< ELEMENT >::fill_in_generic_residual_contribution_ust_heat_flux(), oomph::RefineablePoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), and oomph::AxisymmetricNavierStokesEquations::strain_rate().

double oomph::FiniteElement::nodal_position_gen ( const unsigned &  t,
const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

Return the generalised nodal position (type k, i-th variable) at previous timesteps at local node n.

Definition at line 1775 of file elements.h.

References node_pt(), and oomph::Node::position_gen().

double oomph::FiniteElement::nodal_position_gen ( const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

Return the value of the k-th type of the i-th positional variable at the local node n.

Definition at line 1769 of file elements.h.

References node_pt(), and oomph::Node::position_gen().

Referenced by oomph::RefineableElement::assemble_eulerian_base_vectors(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian(), oomph::RefineableElement::assemble_local_to_eulerian_jacobian2(), oomph::FSIDiagHermiteShellElement::dposition_dlagrangian_at_local_coordinate(), oomph::FSIHermiteBeamElement::dposition_dlagrangian_at_local_coordinate(), oomph::AxisymmetricSolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals(), oomph::AxisymmetricPVDEquations::fill_in_contribution_to_residuals_axisym_pvd(), oomph::SolidTractionElement< ELEMENT >::fill_in_contribution_to_residuals_solid_traction(), oomph::AxisymmetricPVDEquationsWithPressure::fill_in_generic_residual_contribution_axisym_pvd_with_pressure(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::PVDEquationsBase< DIM >::get_deformed_covariant_basis_vectors(), oomph::KirchhoffLoveShellEquations::get_energy(), interpolated_x(), oomph::FaceElement::J_eulerian(), oomph::FaceElement::J_eulerian_at_knot(), oomph::KirchhoffLoveShellEquations::load_rate_of_work(), oomph::RefineableElement::local_to_eulerian_mapping_diagonal(), oomph::FaceElement::outer_unit_normal(), oomph::AxisymmetricPVDEquationsWithPressure::size(), oomph::AxisymmetricPVDEquations::size(), and zeta_nodal().

double oomph::FiniteElement::nodal_value ( const unsigned &  t,
const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th value stored at local node n, at time level t (t=0: present; t>0 previous timesteps). Produces suitably interpolated values for hanging nodes.

Definition at line 1963 of file elements.h.

References node_pt(), and oomph::Node::value().

double oomph::FiniteElement::nodal_value ( const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th value stored at local node n. Produces suitably interpolated values for hanging nodes.

Definition at line 1957 of file elements.h.

References node_pt(), and oomph::Node::value().

Referenced by oomph::LinearWaveEquations< DIM >::d2u_dt2_lin_wave(), oomph::NavierStokesEquations< DIM >::d_kin_energy_dt(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::dc_dt_adv_diff_react(), oomph::AdvectionDiffusionEquations< DIM >::du_dt_adv_diff(), oomph::AxisymmetricNavierStokesEquations::du_dt_axi_nst(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::du_dt_cons_adv_diff(), oomph::NavierStokesEquations< DIM >::du_dt_nst(), oomph::UnsteadyHeatEquations< DIM >::du_dt_ust_heat(), oomph::WomersleyEquations< DIM >::du_dt_womersley(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::RefineablePoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::WomersleyEquations< DIM >::get_flux(), oomph::UnsteadyHeatEquations< DIM >::get_flux(), oomph::LinearWaveEquations< DIM >::get_flux(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::get_flux(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_flux(), oomph::AdvectionDiffusionEquations< DIM >::get_flux(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), oomph::RefineableAxisymmetricQTaylorHoodElement::get_interpolated_values(), oomph::LinearElasticityEquationsBase< DIM >::get_strain(), oomph::WomersleyEquations< DIM >::get_volume_flux(), oomph::NavierStokesEquations< DIM >::get_vorticity(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::interpolated_c_adv_diff_react(), oomph::AdvectionDiffusionEquations< DIM >::interpolated_u_adv_diff(), oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::interpolated_u_cons_adv_diff(), oomph::LinearWaveEquations< DIM >::interpolated_u_lin_wave(), oomph::LinearElasticityEquationsBase< DIM >::interpolated_u_linear_elasticity(), oomph::NavierStokesEquations< DIM >::interpolated_u_nst(), oomph::UnsteadyHeatEquations< DIM >::interpolated_u_ust_heat(), oomph::WomersleyEquations< DIM >::interpolated_u_womersley(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), oomph::AxisymmetricQTaylorHoodElement::p_axi_nst(), oomph::TTaylorHoodElement< DIM >::p_nst(), oomph::QTaylorHoodElement< DIM >::p_nst(), oomph::QPVDElementWithContinuousPressure< DIM >::solid_p(), oomph::NavierStokesEquations< DIM >::strain_rate(), oomph::AxisymmetricNavierStokesEquations::strain_rate(), and oomph::NavierStokesEquations< DIM >::u_nst().

Node* const& oomph::FiniteElement::node_pt ( const unsigned &  n  )  const [inline]

Return a pointer to the local node n (const version).

Definition at line 1662 of file elements.h.

References Nnode, Node_pt, and OOMPH_EXCEPTION_LOCATION.

Node* & oomph::FiniteElement::node_pt ( const unsigned &  n  )  [inline]

Return a pointer to the local node n.

Definition at line 1644 of file elements.h.

References Nnode, Node_pt, and OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::RefineableMeshBase::adapt_mesh(), oomph::FaceElement::add_additional_values(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::add_element_contribution_to_aux_integral(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::AdvectionDiffusionFluxElement(), oomph::SpectralElement::assign_all_generic_local_eqn_numbers(), oomph::RefineableElement::assign_hanging_local_eqn_numbers(), oomph::GeneralisedElement::assign_local_eqn_numbers(), assign_nodal_local_eqn_numbers(), oomph::RefineableSolidElement::assign_solid_hanging_local_eqn_numbers(), oomph::SolidFiniteElement::assign_solid_local_eqn_numbers(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::TElement< 3, NNODE_1D >::build_face_element(), oomph::TElement< 2, NNODE_1D >::build_face_element(), oomph::TElement< 1, NNODE_1D >::build_face_element(), oomph::QSpectralElement< 3, NNODE_1D >::build_face_element(), oomph::QSpectralElement< 2, NNODE_1D >::build_face_element(), oomph::QSpectralElement< 1, NNODE_1D >::build_face_element(), oomph::QElement< 3, NNODE_1D >::build_face_element(), oomph::QElement< 2, NNODE_1D >::build_face_element(), oomph::QElement< 1, NNODE_1D >::build_face_element(), oomph::SolidQHermiteElement< DIM >::build_face_element(), oomph::QHermiteElement< DIM >::build_face_element(), oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), oomph::GeompackQuadMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicMesh< ELEMENT >::build_mesh(), oomph::RectangularQuadMesh< ELEMENT >::build_mesh(), oomph::OneDMesh< ELEMENT >::build_mesh(), oomph::HermiteQuadMesh< ELEMENT >::build_mesh(), oomph::FishMesh< ELEMENT >::build_mesh(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), check_jacobian(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), oomph::SolidFiniteElement::construct_boundary_node(), construct_boundary_node(), oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >::construct_boundary_node(), oomph::SolidFiniteElement::construct_node(), construct_node(), oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >::construct_node(), oomph::Mesh::convert_to_boundary_node(), oomph::CylinderWithFlagMesh< ELEMENT >::CylinderWithFlagMesh(), oomph::LinearWaveEquations< DIM >::d2u_dt2_lin_wave(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::dc_dt_adv_diff_react(), oomph::RefineableElement::deactivate_element(), oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineableNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::DisplacementControlElement::DisplacementControlElement(), dnodal_position_dt(), dnodal_position_gen_dt(), oomph::Z2ErrorEstimator::doc_flux(), oomph::AdvectionDiffusionEquations< DIM >::du_dt_adv_diff(), oomph::AxisymmetricNavierStokesEquations::du_dt_axi_nst(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::du_dt_cons_adv_diff(), oomph::NavierStokesEquations< DIM >::du_dt_nst(), oomph::UnsteadyHeatEquations< DIM >::du_dt_ust_heat(), oomph::WomersleyEquations< DIM >::du_dt_womersley(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), oomph::SpineMesh::element_node_pt(), oomph::SolidMesh::element_node_pt(), oomph::ClampedHermiteShellBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableLinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::PVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineableAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::AxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::RefineableLinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::LinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::RefineableNavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::NavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::RefineablePoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::PVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::RefineableUnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::WomersleyEquations< DIM >::fill_in_generic_residual_contribution_womersley(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::ElementWithMovingNodes::fill_in_jacobian_from_geometric_data(), oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), fill_in_jacobian_from_nodal_by_fd(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::SolidFiniteElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::TTaylorHoodElement< DIM >::fix_pressure(), oomph::QTaylorHoodElement< DIM >::fix_pressure(), oomph::AxisymmetricQTaylorHoodElement::fix_pressure(), oomph::QPVDElementWithContinuousPressure< DIM >::fix_solid_pressure(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::RefineableSolidElement::geom_data_pt(), oomph::SolidFiniteElement::geom_data_pt(), oomph::GeompackQuadScaffoldMesh::GeompackQuadScaffoldMesh(), oomph::ElementWithMovingNodes::get_dnodal_coordinates_dgeom_dofs(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::get_dof_numbers_for_unknowns(), oomph::RefineablePoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableElement::get_dresidual_dnodal_coordinates(), oomph::PoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), get_dresidual_dnodal_coordinates(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::RefineableAxisymmetricQTaylorHoodElement::get_interpolating_node_at_local_coordinate(), get_node_at_local_coordinate(), get_node_number(), get_x(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::interpolating_node_pt(), oomph::RefineableQTaylorHoodElement< DIM >::interpolating_node_pt(), oomph::RefineableElement::interpolating_node_pt(), oomph::RefineableAxisymmetricQTaylorHoodElement::interpolating_node_pt(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::lagrange(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::lagrange(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::lagrange(), oomph::SolidFiniteElement::lagrangian_position(), oomph::SolidFiniteElement::lagrangian_position_gen(), oomph::LinearWaveFluxElement< ELEMENT >::LinearWaveFluxElement(), oomph::RefineableElement::local_hang_eqn(), oomph::RefineableSolidElement::local_position_hang_eqn(), oomph::Multi_domain_functions::locate_zeta_for_local_coordinates(), oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::ElasticLineFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::SpineLineFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >::make_edge_element(), oomph::NavierStokesFluxControlElement< ELEMENT >::NavierStokesFluxControlElement(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::NavierStokesSurfacePowerElement(), oomph::NavierStokesTractionElement< ELEMENT >::NavierStokesTractionElement(), nodal_local_eqn(), nodal_position(), nodal_position_gen(), nodal_value(), node_update(), oomph::RefineableElement::nodes_built(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::ClampedHermiteShellBoundaryConditionElement::output(), oomph::SolidQHermiteElement< 2 >::output(), oomph::SolidQHermiteElement< 1 >::output(), oomph::QHermiteElement< DIM >::output(), oomph::DummyFaceElement< ELEMENT >::output(), oomph::HermiteBeamElement::output(), oomph::PoissonFluxElement< ELEMENT >::PoissonFluxElement(), oomph::StorableShapeSolidElementBase::pre_compute_d2shape_lagrangian_at_knots(), oomph::StorableShapeSolidElementBase::pre_compute_dshape_lagrangian_at_knots(), oomph::RefineableQTaylorHoodElement< DIM >::pressure_node_pt(), oomph::RefineableAxisymmetricQTaylorHoodElement::pressure_node_pt(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), raw_dnodal_position_dt(), raw_dnodal_position_gen_dt(), oomph::SolidFiniteElement::raw_lagrangian_position(), oomph::SolidFiniteElement::raw_lagrangian_position_gen(), raw_nodal_position(), raw_nodal_position_gen(), raw_nodal_value(), oomph::MacroElementNodeUpdateElement< ELEMENT >::rebuild_from_sons(), oomph::RefineableMeshBase::refine_as_in_reference_mesh(), oomph::RefineableNavierStokesFluxControlElement< ELEMENT >::refineable_fill_in_generic_residual_contribution_fluid_traction(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), oomph::FaceElement::resize_nodes(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::set_external_data_from_navier_stokes_outflow_mesh(), oomph::MacroElementNodeUpdateElement< ELEMENT >::set_node_update_info(), oomph::QPVDElementWithContinuousPressure< DIM >::set_solid_p(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicFishMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicElementBase::setup_algebraic_node_update(), oomph::TriangleMesh< ELEMENT >::setup_boundary_coordinates(), oomph::TriangleMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::SimpleCubicTetMesh< ELEMENT >::setup_boundary_element_info(), oomph::SimpleRectangularQuadMesh< ELEMENT >::SimpleRectangularQuadMesh(), oomph::SimpleRectangularTriMesh< ELEMENT >::SimpleRectangularTriMesh(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::solid_pressure_node_pt(), oomph::TetgenMesh< ELEMENT >::split_elements_in_corners(), oomph::TetgenScaffoldMesh::TetgenScaffoldMesh(), oomph::TriangleScaffoldMesh::TriangleScaffoldMesh(), oomph::TubeMesh< ELEMENT >::TubeMesh(), oomph::FluidInterfaceElement::u(), oomph::RefineableElement::unbuild(), oomph::UnsteadyHeatFluxElement< ELEMENT >::UnsteadyHeatFluxElement(), oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh(), and oomph::FaceElement::zeta_nodal().

void oomph::FiniteElement::node_update (  )  [virtual]

Update the positions of all nodes in the element using each node update function. The default implementation may be overloaded so that more efficient versions can be written.

Loop over all nodes in the element and update their positions using each node's (algebraic) update function

Reimplemented in oomph::FluidInterfaceEdgeElement.

Definition at line 3461 of file elements.cc.

References nnode(), and node_pt().

Referenced by oomph::ElementWithMovingNodes::fill_in_jacobian_from_geometric_data(), oomph::ElementWithMovingNodes::get_dnodal_coordinates_dgeom_dofs(), and oomph::FluidInterfaceEdgeElement::node_update().

virtual unsigned oomph::FiniteElement::nplot_points ( const unsigned &  nplot  )  [inline, virtual]

Return total number of plot points (when plotting nplot points in each "coordinate direction").

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2234 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::Z2ErrorEstimator::doc_flux(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::WomersleyEquations< DIM >::output(), oomph::UnsteadyHeatEquations< DIM >::output(), oomph::TLinearElasticityElement< DIM, NNODE_1D >::output(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::output(), oomph::SolidTractionElement< ELEMENT >::output(), oomph::PVDEquations< DIM >::output(), oomph::PoissonEquations< DIM >::output(), oomph::NavierStokesEquations< DIM >::output(), oomph::LinearWaveEquations< DIM >::output(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output(), oomph::AxisymmetricNavierStokesEquations::output(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output(), oomph::AdvectionDiffusionEquations< DIM >::output(), oomph::WomersleyEquations< DIM >::output_3d(), oomph::WomersleyEquations< DIM >::output_fct(), oomph::UnsteadyHeatEquations< DIM >::output_fct(), oomph::PoissonEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_fct(), oomph::LinearWaveEquations< DIM >::output_fct(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output_fct(), oomph::AxisymmetricNavierStokesEquations::output_fct(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output_fct(), oomph::AdvectionDiffusionEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), and oomph::NavierStokesEquations< DIM >::output_vorticity().

void oomph::FiniteElement::operator= ( const FiniteElement  )  [inline]

Broken assignment operator.

Definition at line 1355 of file elements.h.

References oomph::BrokenCopy::broken_assign().

virtual void oomph::FiniteElement::output ( FILE *  file_pt,
const unsigned &  n_plot 
) [inline, virtual]

Output the element data --- pass (some measure of) the number of plot points per element (C style output).

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::QCrouzeixRaviartElement< DIM >, oomph::QTaylorHoodElement< DIM >, oomph::TTaylorHoodElement< DIM >, oomph::DummyFaceElement< ELEMENT >, oomph::QHermiteElement< DIM >, oomph::SolidQHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::SolidQElement< 1, NNODE_1D >, oomph::SolidQElement< 2, NNODE_1D >, oomph::SolidQElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::PoissonEquations< DIM >, oomph::QPoissonElement< DIM, NNODE_1D >, oomph::PoissonFluxElement< ELEMENT >, oomph::QSpectralPoissonElement< DIM, NNODE_1D >, oomph::TPoissonElement< DIM, NNODE_1D >, oomph::AxisymmetricNavierStokesEquations, oomph::AxisymmetricQCrouzeixRaviartElement, oomph::AxisymmetricQTaylorHoodElement, oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::FluidInterfaceEdgeElement, oomph::SpinePointFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticPointFluidInterfaceEdgeElement< ELEMENT >, oomph::SpineLineFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticLineFluidInterfaceEdgeElement< ELEMENT >, oomph::LineFluidInterfaceElement, oomph::AxisymmetricFluidInterfaceElement, oomph::SurfaceFluidInterfaceElement, oomph::SpineLineFluidInterfaceElement< ELEMENT >, oomph::ElasticLineFluidInterfaceElement< ELEMENT >, oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >, oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >, oomph::PVDEquations< DIM >, oomph::QPVDElement< DIM, NNODE_1D >, oomph::HermitePVDElement< DIM >, oomph::PVDEquationsWithPressure< DIM >, oomph::QPVDElementWithPressure< DIM >, oomph::QPVDElementWithContinuousPressure< DIM >, oomph::TPVDElement< DIM, NNODE_1D >, oomph::SolidTractionElement< ELEMENT >, oomph::AxisymmetricPVDEquations, oomph::AxisymQPVDElement, oomph::AxisymDiagHermitePVDElement, oomph::AxisymmetricPVDEquationsWithPressure, oomph::AxisymQPVDElementWithPressure, oomph::AxisymmetricSolidTractionElement< ELEMENT >, oomph::HermiteBeamElement, oomph::ClampedSlidingHermiteBeamBoundaryConditionElement, oomph::KirchhoffLoveShellEquations, oomph::HermiteShellElement, oomph::ClampedHermiteShellBoundaryConditionElement, oomph::AdvectionDiffusionEquations< DIM >, oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::UnsteadyHeatEquations< DIM >, oomph::QUnsteadyHeatElement< DIM, NNODE_1D >, oomph::UnsteadyHeatFluxElement< ELEMENT >, oomph::LinearWaveEquations< DIM >, oomph::QLinearWaveElement< DIM, NNODE_1D >, oomph::LinearWaveFluxElement< ELEMENT >, oomph::WomersleyEquations< DIM >, oomph::QWomersleyElement< DIM, NNODE_1D >, oomph::LinearElasticityEquations< DIM >, oomph::QLinearElasticityElement< DIM, NNODE_1D >, oomph::LinearElasticityTractionElement< ELEMENT >, oomph::TLinearElasticityElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::SolidQHermiteElement< 1 >, oomph::SolidQHermiteElement< 2 >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2173 of file elements.h.

virtual void oomph::FiniteElement::output ( FILE *  file_pt  )  [inline, virtual]

Output the element data --- typically the values at the nodes in a format suitable for post-processing. (C style output).

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::QCrouzeixRaviartElement< DIM >, oomph::QTaylorHoodElement< DIM >, oomph::TTaylorHoodElement< DIM >, oomph::DummyFaceElement< ELEMENT >, oomph::QHermiteElement< DIM >, oomph::SolidQHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::SolidQElement< 1, NNODE_1D >, oomph::SolidQElement< 2, NNODE_1D >, oomph::SolidQElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::PoissonEquations< DIM >, oomph::QPoissonElement< DIM, NNODE_1D >, oomph::PoissonFluxElement< ELEMENT >, oomph::QSpectralPoissonElement< DIM, NNODE_1D >, oomph::TPoissonElement< DIM, NNODE_1D >, oomph::AxisymmetricNavierStokesEquations, oomph::AxisymmetricQCrouzeixRaviartElement, oomph::AxisymmetricQTaylorHoodElement, oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::FluidInterfaceEdgeElement, oomph::SpinePointFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticPointFluidInterfaceEdgeElement< ELEMENT >, oomph::SpineLineFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticLineFluidInterfaceEdgeElement< ELEMENT >, oomph::LineFluidInterfaceElement, oomph::AxisymmetricFluidInterfaceElement, oomph::SurfaceFluidInterfaceElement, oomph::SpineLineFluidInterfaceElement< ELEMENT >, oomph::ElasticLineFluidInterfaceElement< ELEMENT >, oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >, oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >, oomph::PVDEquations< DIM >, oomph::QPVDElement< DIM, NNODE_1D >, oomph::HermitePVDElement< DIM >, oomph::PVDEquationsWithPressure< DIM >, oomph::QPVDElementWithPressure< DIM >, oomph::QPVDElementWithContinuousPressure< DIM >, oomph::TPVDElement< DIM, NNODE_1D >, oomph::SolidTractionElement< ELEMENT >, oomph::AxisymmetricPVDEquations, oomph::AxisymQPVDElement, oomph::AxisymDiagHermitePVDElement, oomph::AxisymmetricPVDEquationsWithPressure, oomph::AxisymQPVDElementWithPressure, oomph::AxisymmetricSolidTractionElement< ELEMENT >, oomph::HermiteBeamElement, oomph::ClampedSlidingHermiteBeamBoundaryConditionElement, oomph::KirchhoffLoveShellEquations, oomph::HermiteShellElement, oomph::ClampedHermiteShellBoundaryConditionElement, oomph::AdvectionDiffusionEquations< DIM >, oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::UnsteadyHeatEquations< DIM >, oomph::QUnsteadyHeatElement< DIM, NNODE_1D >, oomph::UnsteadyHeatFluxElement< ELEMENT >, oomph::LinearWaveEquations< DIM >, oomph::QLinearWaveElement< DIM, NNODE_1D >, oomph::LinearWaveFluxElement< ELEMENT >, oomph::WomersleyEquations< DIM >, oomph::QWomersleyElement< DIM, NNODE_1D >, oomph::LinearElasticityEquations< DIM >, oomph::QLinearElasticityElement< DIM, NNODE_1D >, oomph::LinearElasticityTractionElement< ELEMENT >, oomph::TLinearElasticityElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::SolidQHermiteElement< 1 >, oomph::SolidQHermiteElement< 2 >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2165 of file elements.h.

virtual void oomph::FiniteElement::output ( std::ostream &  outfile,
const unsigned &  n_plot 
) [inline, virtual]

Output the element data --- pass (some measure of) the number of plot points per element.

Reimplemented in oomph::NavierStokesTractionElement< ELEMENT >, oomph::ImposeParallelOutflowElement< ELEMENT >, oomph::NavierStokesEquations< DIM >, oomph::QCrouzeixRaviartElement< DIM >, oomph::QTaylorHoodElement< DIM >, oomph::TTaylorHoodElement< DIM >, oomph::DummyFaceElement< ELEMENT >, oomph::QHermiteElement< DIM >, oomph::SolidQHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::SolidQElement< 1, NNODE_1D >, oomph::SolidQElement< 2, NNODE_1D >, oomph::SolidQElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::PoissonEquations< DIM >, oomph::QPoissonElement< DIM, NNODE_1D >, oomph::PoissonFluxElement< ELEMENT >, oomph::QSpectralPoissonElement< DIM, NNODE_1D >, oomph::TPoissonElement< DIM, NNODE_1D >, oomph::AxisymmetricNavierStokesEquations, oomph::AxisymmetricQCrouzeixRaviartElement, oomph::AxisymmetricQTaylorHoodElement, oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::FluidInterfaceEdgeElement, oomph::SpinePointFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticPointFluidInterfaceEdgeElement< ELEMENT >, oomph::SpineLineFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticLineFluidInterfaceEdgeElement< ELEMENT >, oomph::LineFluidInterfaceElement, oomph::AxisymmetricFluidInterfaceElement, oomph::SurfaceFluidInterfaceElement, oomph::SpineLineFluidInterfaceElement< ELEMENT >, oomph::ElasticLineFluidInterfaceElement< ELEMENT >, oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >, oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >, oomph::PVDEquations< DIM >, oomph::QPVDElement< DIM, NNODE_1D >, oomph::HermitePVDElement< DIM >, oomph::PVDEquationsWithPressure< DIM >, oomph::QPVDElementWithPressure< DIM >, oomph::QPVDElementWithContinuousPressure< DIM >, oomph::TPVDElement< DIM, NNODE_1D >, oomph::SolidTractionElement< ELEMENT >, oomph::FSISolidTractionElement< ELEMENT, DIM >, oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >, oomph::AxisymmetricPVDEquations, oomph::AxisymQPVDElement, oomph::AxisymDiagHermitePVDElement, oomph::AxisymmetricPVDEquationsWithPressure, oomph::AxisymQPVDElementWithPressure, oomph::AxisymmetricSolidTractionElement< ELEMENT >, oomph::HermiteBeamElement, oomph::ClampedSlidingHermiteBeamBoundaryConditionElement, oomph::KirchhoffLoveShellEquations, oomph::HermiteShellElement, oomph::ClampedHermiteShellBoundaryConditionElement, oomph::AdvectionDiffusionEquations< DIM >, oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionFluxElement< ELEMENT >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::UnsteadyHeatEquations< DIM >, oomph::QUnsteadyHeatElement< DIM, NNODE_1D >, oomph::UnsteadyHeatFluxElement< ELEMENT >, oomph::LinearWaveEquations< DIM >, oomph::QLinearWaveElement< DIM, NNODE_1D >, oomph::LinearWaveFluxElement< ELEMENT >, oomph::WomersleyEquations< DIM >, oomph::QWomersleyElement< DIM, NNODE_1D >, oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >, oomph::LinearElasticityEquations< DIM >, oomph::QLinearElasticityElement< DIM, NNODE_1D >, oomph::LinearElasticityTractionElement< ELEMENT >, oomph::TLinearElasticityElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::SolidQHermiteElement< 1 >, oomph::SolidQHermiteElement< 2 >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2157 of file elements.h.

virtual void oomph::FiniteElement::output ( std::ostream &  outfile  )  [inline, virtual]

Output the element data --- typically the values at the nodes in a format suitable for post-processing.

Reimplemented in oomph::NavierStokesTractionElement< ELEMENT >, oomph::ImposeParallelOutflowElement< ELEMENT >, oomph::NavierStokesEquations< DIM >, oomph::QCrouzeixRaviartElement< DIM >, oomph::QTaylorHoodElement< DIM >, oomph::TTaylorHoodElement< DIM >, oomph::DummyFaceElement< ELEMENT >, oomph::QHermiteElement< DIM >, oomph::SolidQHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::SolidQElement< 1, NNODE_1D >, oomph::SolidQElement< 2, NNODE_1D >, oomph::SolidQElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::PoissonEquations< DIM >, oomph::QPoissonElement< DIM, NNODE_1D >, oomph::PoissonFluxElement< ELEMENT >, oomph::QSpectralPoissonElement< DIM, NNODE_1D >, oomph::TPoissonElement< DIM, NNODE_1D >, oomph::AxisymmetricNavierStokesEquations, oomph::AxisymmetricQCrouzeixRaviartElement, oomph::AxisymmetricQTaylorHoodElement, oomph::SpineAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::ElasticAxisymmetricFluidInterfaceElement< ELEMENT >, oomph::FluidInterfaceEdgeElement, oomph::SpinePointFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticPointFluidInterfaceEdgeElement< ELEMENT >, oomph::SpineLineFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticLineFluidInterfaceEdgeElement< ELEMENT >, oomph::LineFluidInterfaceElement, oomph::AxisymmetricFluidInterfaceElement, oomph::SurfaceFluidInterfaceElement, oomph::SpineLineFluidInterfaceElement< ELEMENT >, oomph::ElasticLineFluidInterfaceElement< ELEMENT >, oomph::SpineSurfaceFluidInterfaceElement< ELEMENT >, oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >, oomph::PVDEquations< DIM >, oomph::QPVDElement< DIM, NNODE_1D >, oomph::HermitePVDElement< DIM >, oomph::PVDEquationsWithPressure< DIM >, oomph::QPVDElementWithPressure< DIM >, oomph::QPVDElementWithContinuousPressure< DIM >, oomph::TPVDElement< DIM, NNODE_1D >, oomph::SolidTractionElement< ELEMENT >, oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >, oomph::AxisymmetricPVDEquations, oomph::AxisymQPVDElement, oomph::AxisymDiagHermitePVDElement, oomph::AxisymmetricPVDEquationsWithPressure, oomph::AxisymQPVDElementWithPressure, oomph::AxisymmetricSolidTractionElement< ELEMENT >, oomph::HermiteBeamElement, oomph::ClampedSlidingHermiteBeamBoundaryConditionElement, oomph::KirchhoffLoveShellEquations, oomph::HermiteShellElement, oomph::ClampedHermiteShellBoundaryConditionElement, oomph::AdvectionDiffusionEquations< DIM >, oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionFluxElement< ELEMENT >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::UnsteadyHeatEquations< DIM >, oomph::QUnsteadyHeatElement< DIM, NNODE_1D >, oomph::UnsteadyHeatFluxElement< ELEMENT >, oomph::LinearWaveEquations< DIM >, oomph::QLinearWaveElement< DIM, NNODE_1D >, oomph::LinearWaveFluxElement< ELEMENT >, oomph::WomersleyEquations< DIM >, oomph::QWomersleyElement< DIM, NNODE_1D >, oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >, oomph::LinearElasticityEquations< DIM >, oomph::QLinearElasticityElement< DIM, NNODE_1D >, oomph::LinearElasticityTractionElement< ELEMENT >, oomph::TLinearElasticityElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >, oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >, oomph::SolidQHermiteElement< 1 >, oomph::SolidQHermiteElement< 2 >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2150 of file elements.h.

Referenced by oomph::DGElement::output_faces().

virtual void oomph::FiniteElement::output_fct ( std::ostream &  outfile,
const unsigned &  n_plot,
const double &  time,
FiniteElement::UnsteadyExactSolutionFctPt  exact_soln_pt 
) [inline, virtual]

Output a time-dependent exact solution over the element.

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::PoissonEquations< DIM >, oomph::QPoissonElement< DIM, NNODE_1D >, oomph::QSpectralPoissonElement< DIM, NNODE_1D >, oomph::TPoissonElement< DIM, NNODE_1D >, oomph::AxisymmetricNavierStokesEquations, oomph::AdvectionDiffusionEquations< DIM >, oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::UnsteadyHeatEquations< DIM >, oomph::QUnsteadyHeatElement< DIM, NNODE_1D >, oomph::LinearWaveEquations< DIM >, oomph::QLinearWaveElement< DIM, NNODE_1D >, oomph::WomersleyEquations< DIM >, oomph::QWomersleyElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >, and oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >.

Definition at line 2187 of file elements.h.

virtual void oomph::FiniteElement::output_fct ( std::ostream &  outfile,
const unsigned &  n_plot,
FiniteElement::SteadyExactSolutionFctPt  exact_soln_pt 
) [inline, virtual]

Output an exact solution over the element.

Reimplemented in oomph::NavierStokesEquations< DIM >, oomph::PoissonEquations< DIM >, oomph::QPoissonElement< DIM, NNODE_1D >, oomph::QSpectralPoissonElement< DIM, NNODE_1D >, oomph::TPoissonElement< DIM, NNODE_1D >, oomph::AxisymmetricNavierStokesEquations, oomph::AdvectionDiffusionEquations< DIM >, oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::UnsteadyHeatEquations< DIM >, oomph::QUnsteadyHeatElement< DIM, NNODE_1D >, oomph::LinearWaveEquations< DIM >, oomph::QLinearWaveElement< DIM, NNODE_1D >, oomph::WomersleyEquations< DIM >, oomph::QWomersleyElement< DIM, NNODE_1D >, oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >, and oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >.

Definition at line 2179 of file elements.h.

void oomph::FiniteElement::position ( const unsigned &  t,
const Vector< double > &  zeta,
Vector< double > &  r 
) const [inline, virtual]

Return the parametrised position of the FiniteElement in its GeomObject incarnation: r(zeta). The position is given by the Eulerian coordinate and the intrinsic coordinate (zeta) is the local coordinate of the element (s) This version of the function returns the position as a function of time t=0: current time; t>0: previous timestep. Works for t=0 but needs to be overloaded if genuine time-dependence is required.

Reimplemented from oomph::GeomObject.

Definition at line 2025 of file elements.h.

References interpolated_x().

void oomph::FiniteElement::position ( const Vector< double > &  zeta,
Vector< double > &  r 
) const [inline, virtual]

Return the parametrised position of the FiniteElement in its incarnation as a GeomObject, r(zeta). The position is given by the Eulerian coordinate and the intrinsic coordinate (zeta) is the local coordinate of the element (s).

Implements oomph::GeomObject.

Definition at line 2014 of file elements.h.

References interpolated_x().

double oomph::FiniteElement::raw_dnodal_position_dt ( const unsigned &  n,
const unsigned &  j,
const unsigned &  i 
) const [inline]

Return the i-th component of j-th derivative of nodal position: d^jx/dt^j at node n. Do not use the hanging node representation.

Definition at line 1707 of file elements.h.

References oomph::Node::dx_dt(), and node_pt().

double oomph::FiniteElement::raw_dnodal_position_dt ( const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th component of nodal velocity: dx/dt at local node n. Do not use the hanging node representation.

Definition at line 1702 of file elements.h.

References oomph::Node::dx_dt(), and node_pt().

Referenced by oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), and oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat().

double oomph::FiniteElement::raw_dnodal_position_gen_dt ( const unsigned &  j,
const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

i-th component of j-th time derivative of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i. Do not use the hanging node representation.

Definition at line 1737 of file elements.h.

References oomph::Node::dx_gen_dt(), and node_pt().

double oomph::FiniteElement::raw_dnodal_position_gen_dt ( const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

i-th component of time derivative (velocity) of the generalised position, dx(k,i)/dt at local node n. `Type': k; Coordinate direction: i. Do not use the hanging node representation.

Definition at line 1728 of file elements.h.

References oomph::Node::dx_gen_dt(), and node_pt().

Referenced by oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam(), oomph::KirchhoffLoveShellEquations::fill_in_contribution_to_residuals_shell(), oomph::KirchhoffLoveBeamEquations::get_energy(), and oomph::HermiteBeamElement::output().

double oomph::FiniteElement::raw_nodal_position ( const unsigned &  t,
const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th coordinate at local node n, at time level t (t=0: present; t>0: previous time level). Do not use the hanging node representation.

Definition at line 1696 of file elements.h.

References node_pt(), and oomph::Node::x().

double oomph::FiniteElement::raw_nodal_position ( const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th coordinate at local node n. Do not use the hanging node representation.

Definition at line 1690 of file elements.h.

References node_pt(), and oomph::Node::x().

Referenced by oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::LinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::NavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::PoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::WomersleyEquations< DIM >::fill_in_generic_residual_contribution_womersley(), oomph::PoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), and oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates().

double oomph::FiniteElement::raw_nodal_position_gen ( const unsigned &  t,
const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

Return the generalised nodal position (type k, i-th variable) at previous timesteps at local node n. Do not use the hanging node representation.

Definition at line 1720 of file elements.h.

References node_pt(), and oomph::Node::x_gen().

double oomph::FiniteElement::raw_nodal_position_gen ( const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline]

Return the value of the k-th type of the i-th positional variable at the local node n. Do not use the hanging node representation.

Definition at line 1713 of file elements.h.

References node_pt(), and oomph::Node::x_gen().

Referenced by assemble_eulerian_base_vectors(), assemble_local_to_eulerian_jacobian(), assemble_local_to_eulerian_jacobian2(), oomph::KirchhoffLoveBeamEquations::fill_in_contribution_to_residuals_beam(), oomph::KirchhoffLoveShellEquations::fill_in_contribution_to_residuals_shell(), oomph::KirchhoffLoveBeamEquations::get_energy(), oomph::KirchhoffLoveBeamEquations::get_non_unit_tangent(), oomph::KirchhoffLoveShellEquations::get_normal(), oomph::KirchhoffLoveBeamEquations::get_normal(), and local_to_eulerian_mapping_diagonal().

double oomph::FiniteElement::raw_nodal_value ( const unsigned &  t,
const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th value stored at local node n, at time level t (t=0: present; t>0 previous timesteps), but do NOT take hanging nodes into account.

Definition at line 1951 of file elements.h.

References node_pt(), and oomph::Node::raw_value().

double oomph::FiniteElement::raw_nodal_value ( const unsigned &  n,
const unsigned &  i 
) const [inline]

Return the i-th value stored at local node n but do NOT take hanging nodes into account.

Definition at line 1945 of file elements.h.

References node_pt(), and oomph::Node::raw_value().

Referenced by oomph::LinearElasticityEquations< DIM >::fill_in_generic_contribution_to_residuals_linear_elasticity(), oomph::AdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_adv_diff(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::fill_in_generic_residual_contribution_adv_diff_react(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::fill_in_generic_residual_contribution_cons_adv_diff(), oomph::LinearWaveEquations< DIM >::fill_in_generic_residual_contribution_lin_wave(), oomph::NavierStokesEquations< DIM >::fill_in_generic_residual_contribution_nst(), oomph::PoissonEquations< DIM >::fill_in_generic_residual_contribution_poisson(), oomph::UnsteadyHeatEquations< DIM >::fill_in_generic_residual_contribution_ust_heat(), oomph::WomersleyEquations< DIM >::fill_in_generic_residual_contribution_womersley(), oomph::PoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::integrate_reagents().

virtual unsigned oomph::FiniteElement::required_nvalue ( const unsigned &  n  )  const [inline, virtual]

Number of values that must be stored at local node n by the element. The default is 0, until over-ridden by a particular element. For example, a Poisson equation requires only one value to be stored at each node; 2D Navier--Stokes equations require two values (velocity components) to be stored at each Node (provided that the pressure interpolation is discontinuous).

Reimplemented in oomph::QCrouzeixRaviartElement< DIM >, oomph::QTaylorHoodElement< DIM >, oomph::RefineableQTaylorHoodElement< DIM >, oomph::TTaylorHoodElement< DIM >, oomph::QPoissonElement< DIM, NNODE_1D >, oomph::QSpectralPoissonElement< DIM, NNODE_1D >, oomph::TPoissonElement< DIM, NNODE_1D >, oomph::AxisymmetricQCrouzeixRaviartElement, oomph::AxisymmetricQTaylorHoodElement, oomph::RefineableAxisymmetricQTaylorHoodElement, oomph::RefineableQPVDElementWithContinuousPressure< DIM >, oomph::QPVDElementWithContinuousPressure< DIM >, oomph::QAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::QGeneralisedAdvectionDiffusionElement< DIM, NNODE_1D >, oomph::QUnsteadyHeatElement< DIM, NNODE_1D >, oomph::QLinearWaveElement< DIM, NNODE_1D >, oomph::QWomersleyElement< DIM, NNODE_1D >, oomph::LinearElasticityEquations< DIM >, and oomph::QAdvectionDiffusionReactionElement< NREAGENT, DIM, NNODE_1D >.

Definition at line 1866 of file elements.h.

References Default_Initial_Nvalue.

Referenced by oomph::QHermiteElement< DIM >::build_face_element(), oomph::SolidFiniteElement::construct_boundary_node(), construct_boundary_node(), oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >::construct_boundary_node(), oomph::SolidFiniteElement::construct_node(), construct_node(), oomph::ElementWithSpecificMovingNodes< ELEMENT, oomph::MacroElementNodeUpdateNode >::construct_node(), oomph::PVDEquationsBase< DIM >::get_dof_numbers_for_unknowns(), oomph::QuarterCircleSectorMesh< ELEMENT >::QuarterCircleSectorMesh(), and oomph::SimpleRectangularQuadMesh< ELEMENT >::SimpleRectangularQuadMesh().

virtual void oomph::FiniteElement::reset_after_nodal_fd (  )  [inline, protected, virtual]

Function that is call after the finite differencing of the nodal data. This may be overloaded to reset any slaved variables that may have changed during the finite differencing.

Reimplemented in oomph::FSIWallElement.

Definition at line 1276 of file elements.h.

Referenced by oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), and fill_in_jacobian_from_nodal_by_fd().

virtual void oomph::FiniteElement::reset_in_nodal_fd ( const unsigned &  i  )  [inline, protected, virtual]

Function called within the finite difference loop for nodal data after the i-th nodal values is reset. The default behaviour is to call the update function.

Reimplemented in oomph::FSIWallElement.

Definition at line 1285 of file elements.h.

References update_in_nodal_fd().

Referenced by oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), and fill_in_jacobian_from_nodal_by_fd().

virtual double oomph::FiniteElement::s_max (  )  const [inline, virtual]

Max. value of local coordinate.

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, and oomph::TElement< 3, NNODE_1D >.

Definition at line 2133 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::FluidInterfaceElement::actual_contact_angle_right(), oomph::FSI_functions::doc_fsi(), oomph::QElementBase::local_coord_is_valid(), local_fraction_of_node(), locate_zeta(), and oomph::RefineableQElement< 2 >::quad_hang_helper().

virtual double oomph::FiniteElement::s_min (  )  const [inline, virtual]

Min value of local coordinate.

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, and oomph::TElement< 3, NNODE_1D >.

Definition at line 2122 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::FluidInterfaceElement::actual_contact_angle_left(), oomph::FSI_functions::doc_fsi(), oomph::QElementBase::local_coord_is_valid(), local_fraction_of_node(), locate_zeta(), and oomph::RefineableQElement< 2 >::quad_hang_helper().

unsigned oomph::FiniteElement::self_test (  )  [virtual]

Self-test: Check inversion of element & do self-test for GeneralisedElement. Return 0 if OK.

Self-test: Have all internal values been classified as pinned/unpinned? Has pointer to spatial integration scheme been set? Return 0 if OK.

Reimplemented from oomph::GeneralisedElement.

Reimplemented in oomph::PoissonEquations< DIM >, oomph::AdvectionDiffusionEquations< DIM >, oomph::GeneralisedAdvectionDiffusionEquations< DIM >, oomph::UnsteadyHeatEquations< DIM >, oomph::LinearWaveEquations< DIM >, oomph::WomersleyEquations< DIM >, and oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >.

Definition at line 2849 of file elements.cc.

References Accept_negative_jacobian, dim(), dshape_eulerian_at_knot(), integral_pt(), J_eulerian(), nnode(), oomph::Integral::nweight(), OOMPH_EXCEPTION_LOCATION, and oomph::GeneralisedElement::self_test().

Referenced by oomph::WomersleyEquations< DIM >::self_test(), oomph::UnsteadyHeatEquations< DIM >::self_test(), oomph::PoissonEquations< DIM >::self_test(), oomph::LinearWaveEquations< DIM >::self_test(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::self_test(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::self_test(), and oomph::AdvectionDiffusionEquations< DIM >::self_test().

void oomph::FiniteElement::set_dimension ( const unsigned &  dim  )  [inline, protected]

Set the dimension of the element and initially set the dimension of the nodes to be the same as the dimension of the element.

Definition at line 1017 of file elements.h.

References Elemental_dimension, and Nodal_dimension.

Referenced by oomph::QHermiteElement< DIM >::QHermiteElement().

void oomph::FiniteElement::set_integration_scheme ( Integral *const &  integral_pt  )  [virtual]

Set the spatial integration scheme.

Set the spatial integration scheme and also calculate the values of the shape functions and their derivatives w.r.t. the local coordinates, placing the values into storage so that they may be re-used, without recalculation

Reimplemented in oomph::StorableShapeElementBase, and oomph::StorableShapeSolidElementBase.

Definition at line 1857 of file elements.cc.

References integral_pt(), and Integral_pt.

Referenced by oomph::PointElement::PointElement(), oomph::QHermiteElement< DIM >::QHermiteElement(), and oomph::StorableShapeElementBase::set_integration_scheme().

virtual void oomph::FiniteElement::set_macro_elem_pt ( MacroElement macro_elem_pt  )  [inline, virtual]

Set pointer to macro element -- can be overloaded in derived elements to perform additional tasks.

Reimplemented in oomph::SolidFiniteElement, oomph::QElementBase, oomph::QSolidElementBase, oomph::RefineableSolidQElement< 3 >, and oomph::RefineableSolidQElement< 2 >.

Definition at line 1415 of file elements.h.

References macro_elem_pt(), and Macro_elem_pt.

Referenced by oomph::HermiteQuadMesh< ELEMENT >::build_mesh(), and oomph::QElementBase::set_macro_elem_pt().

void oomph::FiniteElement::set_n_node ( const unsigned &  n  )  [inline, protected]

Set the number of nodes in the element to n, by resizing the storage for pointers to the Node objects.

Definition at line 1038 of file elements.h.

References Nnode, Node_pt, and OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::PointElement::PointElement(), and oomph::QHermiteElement< DIM >::QHermiteElement().

void oomph::FiniteElement::set_nnodal_position_type ( const unsigned &  nposition_type  )  [inline, protected]

Set the number of types required to interpolate the coordinate.

Definition at line 1032 of file elements.h.

References Nnodal_position_type.

Referenced by oomph::ClampedHermiteShellBoundaryConditionElement::ClampedHermiteShellBoundaryConditionElement(), oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::ClampedSlidingHermiteBeamBoundaryConditionElement(), and oomph::QHermiteElement< DIM >::QHermiteElement().

void oomph::FiniteElement::set_nodal_dimension ( const unsigned &  nodal_dim  )  [inline]

Set the dimension of the nodes in the element. This will typically only be required when constructing FaceElements or in beam and shell type elements where a lower dimensional surface is embedded in a higher dimensional space.

Definition at line 1026 of file elements.h.

References Nodal_dimension.

Referenced by oomph::TElement< 3, NNODE_1D >::build_face_element(), oomph::TElement< 2, NNODE_1D >::build_face_element(), oomph::TElement< 1, NNODE_1D >::build_face_element(), oomph::QSpectralElement< 3, NNODE_1D >::build_face_element(), oomph::QSpectralElement< 2, NNODE_1D >::build_face_element(), oomph::QSpectralElement< 1, NNODE_1D >::build_face_element(), oomph::QElement< 3, NNODE_1D >::build_face_element(), oomph::QElement< 2, NNODE_1D >::build_face_element(), oomph::QElement< 1, NNODE_1D >::build_face_element(), oomph::QHermiteElement< DIM >::build_face_element(), oomph::HermiteBeamElement::HermiteBeamElement(), and oomph::HermiteShellElement::HermiteShellElement().

virtual void oomph::FiniteElement::shape ( const Vector< double > &  s,
Shape psi 
) const [pure virtual]

Calculate the geometric shape functions at local coordinate s. This function must be overloaded for each specific geometric element.

Implemented in oomph::PointElement, oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::ClampedHermiteShellBoundaryConditionElement, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Referenced by oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::add_element_contribution_to_aux_integral(), oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::AdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineableNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::NavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::Z2ErrorEstimator::doc_flux(), oomph::SolidFiniteElement::fill_in_generic_jacobian_for_solid_ic(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::RefineableUnsteadyHeatEquations< DIM >::get_interpolated_values(), oomph::RefineablePoissonEquations< DIM >::get_interpolated_values(), oomph::RefineableQCrouzeixRaviartElement< DIM >::get_interpolated_values(), oomph::RefineableQTaylorHoodElement< DIM >::get_interpolated_values(), oomph::RefineableLinearWaveEquations< DIM >::get_interpolated_values(), oomph::RefineableGeneralisedAdvectionDiffusionEquations< DIM >::get_interpolated_values(), oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values(), oomph::RefineableAxisymmetricQTaylorHoodElement::get_interpolated_values(), oomph::RefineableAdvectionDiffusionReactionEquations< NREAGENT, DIM >::get_interpolated_values(), oomph::RefineableAdvectionDiffusionEquations< DIM >::get_interpolated_values(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::interpolated_c_adv_diff_react(), interpolated_dxdt(), oomph::FluidInterfaceElement::interpolated_u(), oomph::DGFaceElement::interpolated_u(), oomph::AdvectionDiffusionEquations< DIM >::interpolated_u_adv_diff(), oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::interpolated_u_cons_adv_diff(), oomph::LinearWaveEquations< DIM >::interpolated_u_lin_wave(), oomph::LinearElasticityEquationsBase< DIM >::interpolated_u_linear_elasticity(), oomph::NavierStokesEquations< DIM >::interpolated_u_nst(), oomph::PoissonEquations< DIM >::interpolated_u_poisson(), oomph::UnsteadyHeatEquations< DIM >::interpolated_u_ust_heat(), oomph::WomersleyEquations< DIM >::interpolated_u_womersley(), interpolated_x(), oomph::SolidFiniteElement::interpolated_xi(), interpolated_zeta(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::interpolating_basis(), oomph::RefineableQTaylorHoodElement< DIM >::interpolating_basis(), oomph::RefineableElement::interpolating_basis(), oomph::RefineableAxisymmetricQTaylorHoodElement::interpolating_basis(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), oomph::AlgebraicElementBase::setup_algebraic_node_update(), oomph::UnsteadyHeatFluxElement< ELEMENT >::shape_and_test(), oomph::PoissonFluxElement< ELEMENT >::shape_and_test(), oomph::LinearWaveFluxElement< ELEMENT >::shape_and_test(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::shape_and_test(), and shape_at_knot().

void oomph::FiniteElement::shape_at_knot ( const unsigned &  ipt,
Shape psi 
) const [virtual]

Return the shape function stored at the ipt-th integration point.

Reimplemented in oomph::StorableShapeElementBase.

Definition at line 1867 of file elements.cc.

References dim(), integral_pt(), and shape().

Referenced by oomph::DGFaceElement::add_flux_contributions(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::NavierStokesEquations< DIM >::get_velocity_mass_matrix_diagonal(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::integrate_u(), oomph::StorableShapeElementBase::pre_compute_shape_at_knots(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::set_boundary_shape_geom_object_pt(), oomph::NavierStokesImpedanceTractionElement< BULK_NAVIER_STOKES_ELEMENT, WOMERSLEY_ELEMENT, DIM >::shape_and_test_at_knot(), oomph::PoissonFluxElement< ELEMENT >::shape_and_test_at_knot(), oomph::NavierStokesFluxControlElement< ELEMENT >::shape_and_test_at_knot(), oomph::NavierStokesTractionElement< ELEMENT >::shape_and_test_at_knot(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::shape_and_test_at_knot(), and oomph::StorableShapeElementBase::shape_at_knot().

double oomph::FiniteElement::size (  )  const [virtual]

Calculate the size of the element.

Reimplemented in oomph::AxisymmetricPVDEquations, and oomph::AxisymmetricPVDEquationsWithPressure.

Definition at line 2725 of file elements.cc.

References integral_pt(), J_eulerian_at_knot(), and oomph::Integral::nweight().

virtual std::string oomph::FiniteElement::tecplot_zone_string ( const unsigned &  nplot  )  [inline, virtual]

Return string for tecplot zone header (when plotting nplot points in each "coordinate direction").

Reimplemented in oomph::QHermiteElement< DIM >, oomph::QElement< 1, NNODE_1D >, oomph::QElement< 2, NNODE_1D >, oomph::QElement< 3, NNODE_1D >, oomph::QSpectralElement< 1, NNODE_1D >, oomph::QSpectralElement< 2, NNODE_1D >, oomph::QSpectralElement< 3, NNODE_1D >, oomph::TElement< 1, NNODE_1D >, oomph::TElement< 2, NNODE_1D >, oomph::TElement< 3, NNODE_1D >, oomph::QHermiteElement< DIM >, and oomph::QHermiteElement< DIM >.

Definition at line 2209 of file elements.h.

References OOMPH_EXCEPTION_LOCATION.

Referenced by oomph::Z2ErrorEstimator::doc_flux(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::WomersleyEquations< DIM >::output(), oomph::UnsteadyHeatEquations< DIM >::output(), oomph::TLinearElasticityElement< DIM, NNODE_1D >::output(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::output(), oomph::SolidTractionElement< ELEMENT >::output(), oomph::PVDEquations< DIM >::output(), oomph::PoissonEquations< DIM >::output(), oomph::NavierStokesEquations< DIM >::output(), oomph::LinearWaveEquations< DIM >::output(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output(), oomph::AxisymmetricNavierStokesEquations::output(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output(), oomph::AdvectionDiffusionEquations< DIM >::output(), oomph::WomersleyEquations< DIM >::output_3d(), oomph::WomersleyEquations< DIM >::output_fct(), oomph::UnsteadyHeatEquations< DIM >::output_fct(), oomph::PoissonEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_fct(), oomph::LinearWaveEquations< DIM >::output_fct(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output_fct(), oomph::AxisymmetricNavierStokesEquations::output_fct(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output_fct(), oomph::AdvectionDiffusionEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), and oomph::NavierStokesEquations< DIM >::output_vorticity().

void oomph::FiniteElement::transform_derivatives ( const DenseMatrix< double > &  inverse_jacobian,
DShape dbasis 
) const [protected, virtual]

Convert derivative w.r.t.local coordinates to derivatives w.r.t the coordinates used to assemble the inverse_jacobian passed in the mapping. On entry, dbasis must contain the basis function derivatives w.r.t. the local coordinates; it will contain the derivatives w.r.t. the new coordinates on exit. This is virtual so that it may be overloaded if desired for efficiency reasons.

Convert derivatives w.r.t local coordinates to derivatives w.r.t the coordinates used to assemble the inverse jacobian mapping passed as inverse_jacobian. The derivatives passed in dbasis will be modified in this function from dbasisds to dbasisdX.

Reimplemented in oomph::DiagQHermiteElement< DIM >.

Definition at line 1471 of file elements.cc.

References dim(), oomph::DShape::nindex1(), and oomph::DShape::nindex2().

Referenced by dshape_eulerian(), dshape_eulerian_at_knot(), oomph::SolidFiniteElement::dshape_lagrangian(), and oomph::SolidFiniteElement::dshape_lagrangian_at_knot().

void oomph::FiniteElement::transform_derivatives_diagonal ( const DenseMatrix< double > &  inverse_jacobian,
DShape dbasis 
) const [protected]

Convert derivative w.r.t local coordinates to derivatives w.r.t the coordinates used to assemble the inverse jacobian passed in the mapping, assuming that the coordinates are aligned in the direction of the local coordinates. On entry dbasis must contain the derivatives of the basis functions w.r.t. the local coordinates; it will contain the derivatives w.r.t. the new coordinates. are converted into the new using the mapping inverse_jacobian.

Convert derivatives w.r.t local coordinates to derivatives w.r.t the coordinates used to assemble the inverse jacobian mapping passed as inverse_jacobian, assuming that the mapping is diagonal. This merely saves a few loops, but is probably worth it.

Definition at line 1513 of file elements.cc.

References dim(), oomph::DShape::nindex1(), and oomph::DShape::nindex2().

Referenced by oomph::DiagQHermiteElement< DIM >::transform_derivatives().

void oomph::FiniteElement::transform_second_derivatives ( const DenseMatrix< double > &  jacobian,
const DenseMatrix< double > &  inverse_jacobian,
const DenseMatrix< double > &  jacobian2,
DShape dbasis,
DShape d2basis 
) const [protected, virtual]

Convert derivatives and second derivatives w.r.t. local coordiantes to derivatives and second derivatives w.r.t. the coordinates used to assemble the jacobian, inverse jacobian and jacobian2 passed to the function. This is a template-free general interface, that should be overloaded for efficiency.

Reimplemented in oomph::QHermiteElement< DIM >, and oomph::DiagQHermiteElement< DIM >.

Definition at line 1766 of file elements.cc.

References dim(), and OOMPH_EXCEPTION_LOCATION.

Referenced by d2shape_eulerian(), d2shape_eulerian_at_knot(), oomph::SolidFiniteElement::d2shape_lagrangian(), and oomph::SolidFiniteElement::d2shape_lagrangian_at_knot().

void oomph::FiniteElement::transform_second_derivatives_diagonal< 2 > ( const DenseMatrix< double > &  jacobian,
const DenseMatrix< double > &  inverse_jacobian,
const DenseMatrix< double > &  jacobian2,
DShape dbasis,
DShape d2basis 
) const [protected]

Convert derivatives and second derivatives w.r.t. local coordinates to derivatives and second derivatives w.r.t. the coordinates used to asssmble the jacobian, inverse jacobian and jacobian2 passed in the mapping. This version of the function assumes that the local coordinates are aligned with the global coordinates, i.e. the jacobians are diagonal On entry dbasis and d2basis must contain the derivatives w.r.t. the local coordinates; on exit they will be the derivatives w.r.t. the transformed coordinates.

Convert derivatives and second derivatives w.r.t local coordinates to derivatives w.r.t. the coordinates used to assemble the jacobian, inverse_jacobian and jacobian 2 passed. This must be specialised for each dimension, otherwise it gets very ugly Specialisation to one dimension.

void oomph::FiniteElement::transform_second_derivatives_template< 2 > ( const DenseMatrix< double > &  jacobian,
const DenseMatrix< double > &  inverse_jacobian,
const DenseMatrix< double > &  jacobian2,
DShape dbasis,
DShape d2basis 
) const [protected]

Convert derivatives and second derivatives w.r.t. local coordinates to derivatives and second derivatives w.r.t. the coordinates used to asssmble the jacobian, inverse jacobian and jacobian2 passed in the mapping. This is templated by dimension because the method of calculation varies significantly with the dimension. On entry dbasis and d2basis must contain the derivatives w.r.t. the local coordinates; on exit they will be the derivatives w.r.t. the transformed coordinates.

Convert derivatives and second derivatives w.r.t local coordinates to derivatives w.r.t. the coordinates used to assemble the jacobian, inverse_jacobian and jacobian 2 passed. This must be specialised for each dimension, otherwise it gets very ugly Specialisation to one dimension.

virtual void oomph::FiniteElement::update_before_nodal_fd (  )  [inline, protected, virtual]

Function that is called before the finite differencing of any nodal data. This may be overloaded to update any slaved data before finite differencing takes place.

Definition at line 1271 of file elements.h.

Referenced by oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), and fill_in_jacobian_from_nodal_by_fd().

virtual void oomph::FiniteElement::update_in_nodal_fd ( const unsigned &  i  )  [inline, protected, virtual]

Function called within the finite difference loop for nodal data after a change in the i-th nodal value.

Reimplemented in oomph::FSIWallElement.

Definition at line 1280 of file elements.h.

Referenced by oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), fill_in_jacobian_from_nodal_by_fd(), and reset_in_nodal_fd().

virtual void oomph::FiniteElement::write_tecplot_zone_footer ( FILE *  file_pt,
const unsigned &  nplot 
) [inline, virtual]

Add tecplot zone "footer" to C-style output. (when plotting nplot points in each "coordinate direction"). Empty by default -- can be used, e.g., to add FE connectivity lists to elements that need it.

Reimplemented in oomph::TElement< 2, NNODE_1D >, and oomph::TElement< 3, NNODE_1D >.

Definition at line 2229 of file elements.h.

virtual void oomph::FiniteElement::write_tecplot_zone_footer ( std::ostream &  outfile,
const unsigned &  nplot 
) [inline, virtual]

Add tecplot zone "footer" to output stream (when plotting nplot points in each "coordinate direction"). Empty by default -- can be used, e.g., to add FE connectivity lists to elements that need it.

Reimplemented in oomph::TElement< 2, NNODE_1D >, and oomph::TElement< 3, NNODE_1D >.

Definition at line 2222 of file elements.h.

Referenced by oomph::Z2ErrorEstimator::doc_flux(), oomph::NavierStokesEquations< DIM >::full_output(), oomph::WomersleyEquations< DIM >::output(), oomph::UnsteadyHeatEquations< DIM >::output(), oomph::TLinearElasticityElement< DIM, NNODE_1D >::output(), oomph::QSUPGAdvectionDiffusionElement< DIM, NNODE_1D >::output(), oomph::SolidTractionElement< ELEMENT >::output(), oomph::PVDEquations< DIM >::output(), oomph::PoissonEquations< DIM >::output(), oomph::NavierStokesEquations< DIM >::output(), oomph::LinearWaveEquations< DIM >::output(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output(), oomph::AxisymmetricNavierStokesEquations::output(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output(), oomph::AdvectionDiffusionEquations< DIM >::output(), oomph::WomersleyEquations< DIM >::output_3d(), oomph::WomersleyEquations< DIM >::output_fct(), oomph::UnsteadyHeatEquations< DIM >::output_fct(), oomph::PoissonEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_fct(), oomph::LinearWaveEquations< DIM >::output_fct(), oomph::GeneralisedAdvectionDiffusionEquations< DIM >::output_fct(), oomph::AxisymmetricNavierStokesEquations::output_fct(), oomph::AdvectionDiffusionReactionEquations< NREAGENT, DIM >::output_fct(), oomph::AdvectionDiffusionEquations< DIM >::output_fct(), oomph::NavierStokesEquations< DIM >::output_veloc(), oomph::AxisymmetricNavierStokesEquations::output_veloc(), and oomph::NavierStokesEquations< DIM >::output_vorticity().

virtual double oomph::FiniteElement::zeta_nodal ( const unsigned &  n,
const unsigned &  k,
const unsigned &  i 
) const [inline, virtual]

Specify the values of the "global" intrinsic coordinate, zeta, of a compound geometric object (a mesh of elements) when the element is viewied as a sub-geometric object. The default assumption is that the element will be treated as a sub-geometric object in a bulk Mesh of other elements (geometric objects). The "global" coordinate of the compound geometric object is simply the Eulerian coordinate, x. The second default assumption is that the coordinate zeta will be stored at the nodes and interpolated using the shape functions of the element. This function returns the value of zeta stored at local node n, where k is the type of coordinate and i is the coordinate direction. The function is virtual so that it can be overloaded by different types of element: FaceElements and SolidFiniteElements.

Reimplemented in oomph::NavierStokesTractionElement< ELEMENT >, oomph::ImposeParallelOutflowElement< ELEMENT >, oomph::SolidFiniteElement, oomph::FaceElement, oomph::SolidFaceElement, oomph::DummyFaceElement< ELEMENT >, oomph::FaceElementAsGeomObject< ELEMENT >, oomph::ElasticPointFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticLineFluidInterfaceEdgeElement< ELEMENT >, oomph::ElasticLineFluidInterfaceElement< ELEMENT >, and oomph::ElasticSurfaceFluidInterfaceElement< ELEMENT >.

Definition at line 2052 of file elements.h.

References nodal_position_gen().


Member Data Documentation

bool oomph::FiniteElement::Accept_negative_jacobian = false [static]

Boolean that if set to true allows a negative jacobian in the transform between global and local coordinates (negative surface area = left-handed coordinate system).

Set the default value of the Accept_negative_jacobian flag to be false

Definition at line 1334 of file elements.h.

Referenced by check_jacobian(), and self_test().

const unsigned oomph::FiniteElement::Default_Initial_Nvalue = 0 [static, protected]

Default value for the number of values at a node.

Definition at line 1000 of file elements.h.

Referenced by required_nvalue().

unsigned oomph::FiniteElement::Elemental_dimension [private]

The spatial dimension of the element, i.e. the number of local coordinates used to parametrize it.

Definition at line 960 of file elements.h.

Referenced by assemble_local_to_eulerian_jacobian(), dim(), get_node_at_local_coordinate(), local_to_eulerian_mapping_diagonal(), and set_dimension().

Integral* oomph::FiniteElement::Integral_pt [private]

Pointer to the spatial integration scheme.

Definition at line 946 of file elements.h.

Referenced by integral_pt(), and set_integration_scheme().

MacroElement* oomph::FiniteElement::Macro_elem_pt [protected]

Pointer to the element's macro element (NULL by default).

Definition at line 1245 of file elements.h.

Referenced by check_jacobian(), get_x(), oomph::QSolidElementBase::get_x_and_xi(), oomph::QElementBase::get_x_from_macro_element(), interpolated_zeta(), locate_zeta(), macro_elem_pt(), oomph::SolidFiniteElement::set_macro_elem_pt(), and set_macro_elem_pt().

const unsigned oomph::FiniteElement::N2deriv = {0,1,3,6} [static, protected]

Static array that holds the number of second derivatives as a function of the dimension of the element.

Static array that holds the number of rows in the second derivative matrix as a function of spatial dimension. In one-dimension, there is only one possible second derivative. In two-dimensions, there are three, the two second derivatives and the mixed derivatives. In three dimensions there are six.

Definition at line 1107 of file elements.h.

Referenced by oomph::RefineableElement::assemble_local_to_eulerian_jacobian2(), assemble_local_to_eulerian_jacobian2(), oomph::RefineableSolidElement::assemble_local_to_lagrangian_jacobian2(), oomph::SolidFiniteElement::assemble_local_to_lagrangian_jacobian2(), d2shape_eulerian(), d2shape_eulerian_at_knot(), oomph::SolidFiniteElement::d2shape_lagrangian(), and oomph::SolidFiniteElement::d2shape_lagrangian_at_knot().

unsigned oomph::FiniteElement::Nnodal_position_type [private]

The number of coordinate types required to interpolate the element's geometry between the nodes. For Lagrange elements it is 1 (the default). It must be over-ridden by using the set_nposition_type() function in the constructors of elements that use generalised coordinate, e.g. for 1D Hermite elements Nnodal_position_types =2.

Definition at line 974 of file elements.h.

Referenced by construct_boundary_node(), construct_node(), nnodal_position_type(), and set_nnodal_position_type().

unsigned oomph::FiniteElement::Nnode [private]

Number of nodes in the element.

Definition at line 956 of file elements.h.

Referenced by get_node_at_local_coordinate(), nnode(), nodal_local_eqn(), node_pt(), and set_n_node().

unsigned oomph::FiniteElement::Nodal_dimension [private]

The spatial dimension of the nodes in the element. We assume that nodes have the same spatial dimension, because we cannot think of any "real" problems for which that would not be the case.

Definition at line 966 of file elements.h.

Referenced by assemble_local_to_eulerian_jacobian(), construct_boundary_node(), construct_node(), local_to_eulerian_mapping_diagonal(), nodal_dimension(), set_dimension(), and set_nodal_dimension().

int** oomph::FiniteElement::Nodal_local_eqn [private]

Storage for the local equation numbers associated with the values stored at the nodes.

Definition at line 953 of file elements.h.

Referenced by assign_nodal_local_eqn_numbers(), nodal_local_eqn(), and ~FiniteElement().

const double oomph::FiniteElement::Node_location_tolerance = 1.0e-14 [static, protected]

Default value that is used for the tolerance required when locating nodes via local coordinates.

Definition at line 1004 of file elements.h.

Referenced by oomph::RefineableQPVDElementWithContinuousPressure< DIM >::get_interpolating_node_at_local_coordinate(), oomph::RefineableQTaylorHoodElement< DIM >::get_interpolating_node_at_local_coordinate(), oomph::RefineableAxisymmetricQTaylorHoodElement::get_interpolating_node_at_local_coordinate(), oomph::QElement< 3, NNODE_1D >::get_node_at_local_coordinate(), oomph::QElement< 2, NNODE_1D >::get_node_at_local_coordinate(), and get_node_at_local_coordinate().

Node** oomph::FiniteElement::Node_pt [private]

Storage for pointers to the nodes in the element.

Definition at line 949 of file elements.h.

Referenced by assign_nodal_local_eqn_numbers(), node_pt(), set_n_node(), and ~FiniteElement().


The documentation for this class was generated from the following files:
Generated on Mon Aug 10 11:24:32 2009 by  doxygen 1.4.7