action functions
|
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 if you wish to be informed of the library's "official" release. |
#include <elements.h>
Inheritance diagram for oomph::FiniteElement:

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" as . | |
| typedef void(*) | UnsteadyExactSolutionFctPt (const double &, const Vector< double > &, Vector< double > &) |
Function pointer for function that computes Vector-valued time-dependent function as . | |
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. | |
| MacroElement * | macro_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) = 2D: d2psids(i,0) = d2psids(i,1) = d2psids(i,2) = 3D: d2psids(i,0) = d2psids(i,1) = d2psids(i,2) = d2psids(i,3) = d2psids(i,4) = d2psids(i,5) = . | |
| 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) = 2D: d2psids(i,0) = d2psids(i,1) = d2psids(i,2) = 3D: d2psids(i,0) = d2psids(i,1) = d2psids(i,2) = d2psids(i,3) = d2psids(i,4) = d2psids(i,5) = . | |
| 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) = 2D: d2psidx(i,0) = d2psidx(i,1) = d2psidx(i,2) = 3D: d2psidx(i,0) = d2psidx(i,1) = d2psidx(i,2) = d2psidx(i,3) = d2psidx(i,4) = d2psidx(i,5) = . | |
| 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) = 2D: d2psidx(i,0) = d2psidx(i,1) = d2psidx(i,2) = 3D: d2psidx(i,0) = d2psidx(i,1) = d2psidx(i,2) = d2psidx(i,3) = d2psidx(i,4) = d2psidx(i,5) = . | |
| 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 Node * | construct_node (const unsigned &n) |
| Construct the local node n and return a pointer to the newly created node object. | |
| virtual Node * | construct_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 Node * | construct_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 Node * | construct_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 Node * | get_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. | |
| Data * | geom_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: . 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 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 | |
| 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 . 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 . 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 . 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 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 | |
| MacroElement * | Macro_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 | |
| Integral * | Integral_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. | |
| typedef void(*) oomph::FiniteElement::SteadyExactSolutionFctPt(const Vector< double > &, Vector< double > &) |
Function pointer for function that computes vector-valued steady "exact solution"
as
.
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
as
.
Definition at line 1327 of file elements.h.
| oomph::FiniteElement::FiniteElement | ( | ) | [inline] |
| 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().
| 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
. 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
. 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
. 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) =
2D:
d2psidx(i,0) =
d2psidx(i,1) =
d2psidx(i,2) =
3D:
d2psidx(i,0) =
d2psidx(i,1) =
d2psidx(i,2) =
d2psidx(i,3) =
d2psidx(i,4) =
d2psidx(i,5) =
.
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) =
2D:
d2psidx(i,0) =
d2psidx(i,1) =
d2psidx(i,2) =
3D:
d2psidx(i,0) =
d2psidx(i,1) =
d2psidx(i,2) =
d2psidx(i,3) =
d2psidx(i,4) =
d2psidx(i,5) =
.
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) =
2D:
d2psids(i,0) =
d2psids(i,1) =
d2psids(i,2) =
3D:
d2psids(i,0) =
d2psids(i,1) =
d2psids(i,2) =
d2psids(i,3) =
d2psids(i,4) =
d2psids(i,5) =
.
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) =
2D:
d2psids(i,0) =
d2psids(i,1) =
d2psids(i,2) =
3D:
d2psids(i,0) =
d2psids(i,1) =
d2psids(i,2) =
d2psids(i,3) =
d2psids(i,4) =
d2psids(i,5) =
.
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) =
2D:
d2psids(i,0) =
d2psids(i,1) =
d2psids(i,2) =
3D:
d2psids(i,0) =
d2psids(i,1) =
d2psids(i,2) =
d2psids(i,3) =
d2psids(i,4) =
d2psids(i,5) =
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:
. 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().
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
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().
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().
1.4.7