![]() |
|
#include <nodes.h>
Public Types | |
typedef void(* | AuxNodeUpdateFctPt) (Node *) |
Function pointer to auxiliary node update function. More... | |
Public Member Functions | |
Node () | |
Default constructor. More... | |
Node (const unsigned &n_dim, const unsigned &n_position_type, const unsigned &initial_n_value, const bool &allocate_x_position=true) | |
Node (TimeStepper *const &time_stepper_pt, const unsigned &n_dim, const unsigned &n_position_type, const unsigned &initial_n_value, const bool &allocate_x_position=true) | |
virtual | ~Node () |
Destructor: Clean up the memory allocated for nodal position. More... | |
Node (const Node &node)=delete | |
Broken copy constructor. More... | |
void | operator= (const Node &)=delete |
Broken assignment operator. More... | |
unsigned | nposition_type () const |
TimeStepper *& | position_time_stepper_pt () |
Return a pointer to the position timestepper. More... | |
TimeStepper *const & | position_time_stepper_pt () const |
Return a pointer to the position timestepper (const version). More... | |
virtual void | set_position_time_stepper (TimeStepper *const &position_time_stepper_pt, const bool &preserve_existing_data) |
virtual bool | does_pointer_correspond_to_position_data (double *const ¶meter_pt) |
virtual void | assign_eqn_numbers (unsigned long &global_ndof, Vector< double * > &dof_pt) |
unsigned | ndim () const |
Return (Eulerian) spatial dimension of the node. More... | |
double & | x (const unsigned &i) |
Return the i-th nodal coordinate. More... | |
const double & | x (const unsigned &i) const |
Return the i-th nodal coordinate (const version). More... | |
double & | x (const unsigned &t, const unsigned &i) |
const double & | x (const unsigned &t, const unsigned &i) const |
double | dx_dt (const unsigned &i) const |
Return the i-th component of nodal velocity: dx/dt. More... | |
double | dx_dt (const unsigned &j, const unsigned &i) const |
virtual Node * | copied_node_pt () const |
virtual bool | position_is_a_copy () const |
Return whether any position coordinate has been copied (always false) More... | |
virtual bool | position_is_a_copy (const unsigned &i) const |
Return whether the position coordinate i has been copied (always false) More... | |
double & | x_gen (const unsigned &k, const unsigned &i) |
const double & | x_gen (const unsigned &k, const unsigned &i) const |
double & | x_gen (const unsigned &t, const unsigned &k, const unsigned &i) |
const double & | x_gen (const unsigned &t, const unsigned &k, const unsigned &i) const |
double | dx_gen_dt (const unsigned &k, const unsigned &i) const |
double | dx_gen_dt (const unsigned &j, const unsigned &k, const unsigned &i) const |
double * | x_pt (const unsigned &t, const unsigned &i) |
void | copy (Node *orig_node_pt) |
Copy all nodal data from specified Node object. More... | |
virtual void | dump (std::ostream &dump_file) const |
Dump nodal position and associated data to file for restart. More... | |
void | read (std::ifstream &restart_file) |
Read nodal position and associated data from file for restart. More... | |
virtual void | pin_all () |
virtual void | unpin_all () |
unsigned | hang_code () |
HangInfo *const & | hanging_pt () const |
HangInfo *const & | hanging_pt (const int &i) const |
Return pointer to hanging node data for value i (const version) More... | |
bool | is_hanging () const |
Test whether the node is geometrically hanging. More... | |
bool | is_hanging (const int &i) const |
Test whether the i-th value is hanging. More... | |
void | set_hanging_pt (HangInfo *const &hang_pt, const int &i) |
Set the hanging data for the i-th value. (hang_pt=0 to make non-hanging) More... | |
void | set_nonhanging () |
Label node as non-hanging node by removing all hanging node data. More... | |
void | resize (const unsigned &n_value) |
Resize the number of equations. More... | |
virtual void | constrain_positions () |
virtual void | unconstrain_positions () |
virtual void | make_periodic (Node *const &node_pt) |
virtual void | make_periodic_nodes (const Vector< Node * > &periodic_nodes_pt) |
virtual void | get_boundaries_pt (std::set< unsigned > *&boundaries_pt) |
virtual bool | is_on_boundary () const |
virtual bool | is_on_boundary (const unsigned &b) const |
virtual void | add_to_boundary (const unsigned &b) |
virtual void | remove_from_boundary (const unsigned &b) |
virtual unsigned | ncoordinates_on_boundary (const unsigned &b) |
virtual bool | boundary_coordinates_have_been_set_up () |
virtual void | get_coordinates_on_boundary (const unsigned &b, const unsigned &k, Vector< double > &boundary_zeta) |
virtual void | set_coordinates_on_boundary (const unsigned &b, const unsigned &k, const Vector< double > &boundary_zeta) |
virtual void | get_coordinates_on_boundary (const unsigned &b, Vector< double > &boundary_zeta) |
virtual void | set_coordinates_on_boundary (const unsigned &b, const Vector< double > &boundary_zeta) |
void | set_obsolete () |
Mark node as obsolete. More... | |
void | set_non_obsolete () |
Mark node as non-obsolete. More... | |
bool | is_obsolete () |
Test whether node is obsolete. More... | |
double | raw_value (const unsigned &i) const |
double | raw_value (const unsigned &t, const unsigned &i) const |
double | value (const unsigned &i) const |
double | value (const unsigned &t, const unsigned &i) const |
void | value (Vector< double > &values) const |
Vector< double > | value () const |
Return vector of values calculated using value(vector). More... | |
void | value (const unsigned &t, Vector< double > &values) const |
void | position (Vector< double > &pos) const |
Vector< double > | position () const |
Return vector of position of node at current time. More... | |
void | position (const unsigned &t, Vector< double > &pos) const |
double | position (const unsigned &i) const |
double | position (const unsigned &t, const unsigned &i) const |
double | position_gen (const unsigned &k, const unsigned &i) const |
double | position_gen (const unsigned &t, const unsigned &k, const unsigned &i) const |
double | dposition_dt (const unsigned &i) const |
double | dposition_dt (const unsigned &j, const unsigned &i) const |
double | dposition_gen_dt (const unsigned &k, const unsigned &i) const |
double | dposition_gen_dt (const unsigned &j, const unsigned &k, const unsigned &i) const |
virtual void | node_update (const bool &update_all_time_levels_for_new_node=false) |
void | set_auxiliary_node_update_fct_pt (AuxNodeUpdateFctPt aux_node_update_fct_pt) |
bool | has_auxiliary_node_update_fct_pt () |
void | perform_auxiliary_node_update_fct () |
virtual unsigned | ngeom_data () const |
virtual Data ** | all_geom_data_pt () |
virtual unsigned | ngeom_object () const |
virtual GeomObject ** | all_geom_object_pt () |
void | output (std::ostream &outfile) |
Output nodal position. More... | |
![]() | |
virtual void | clear_copied_pointers () |
Data () | |
Default constructor. More... | |
Data (const unsigned &initial_n_value) | |
Data (TimeStepper *const &time_stepper_pt, const unsigned &initial_n_value, const bool &allocate_storage=true) | |
Data (const Data &data)=delete | |
Broken copy constructor. More... | |
void | operator= (const Data &)=delete |
Broken assignment operator. More... | |
virtual | ~Data () |
Destructor, deallocates memory assigned for data. More... | |
void | set_time_stepper (TimeStepper *const &time_stepper_pt, const bool &preserve_existing_data) |
TimeStepper *& | time_stepper_pt () |
Return the pointer to the timestepper. More... | |
TimeStepper *const & | time_stepper_pt () const |
Return the pointer to the timestepper (const version). More... | |
virtual bool | is_a_copy () const |
virtual bool | is_a_copy (const unsigned &i) const |
void | set_value (const unsigned &i, const double &value_) |
void | set_value (const unsigned &t, const unsigned &i, const double &value_) |
double | value (const unsigned &i) const |
double | value (const unsigned &t, const unsigned &i) const |
void | value (Vector< double > &values) const |
Compute Vector of values for the Data value. More... | |
void | value (const unsigned &t, Vector< double > &values) const |
double * | value_pt (const unsigned &i) const |
double * | value_pt (const unsigned &t, const unsigned &i) const |
bool | does_pointer_correspond_to_value (double *const ¶meter_pt) |
Check whether the pointer parameter_pt addresses internal data values. More... | |
void | copy (Data *orig_data_pt) |
Copy Data values from specified Data object. More... | |
void | dump (std::ostream &dump_file) const |
Dump the data object to a file. More... | |
void | read (std::ifstream &restart_file) |
Read data object from a file. More... | |
long * | eqn_number_pt (const unsigned &i) |
Return the pointer to the equation number of the i-th stored variable. More... | |
long & | eqn_number (const unsigned &i) |
Return the equation number of the i-th stored variable. More... | |
long | eqn_number (const unsigned &i) const |
Return the equation number of the i-th stored variable. More... | |
void | pin (const unsigned &i) |
Pin the i-th stored variable. More... | |
void | unpin (const unsigned &i) |
Unpin the i-th stored variable. More... | |
void | pin_all () |
Pin all the stored variables. More... | |
void | unpin_all () |
Unpin all the stored variables. More... | |
bool | is_pinned (const unsigned &i) const |
Test whether the i-th variable is pinned (1: true; 0: false). More... | |
bool | is_segregated_solve_pinned (const unsigned &i) |
void | constrain (const unsigned &i) |
void | unconstrain (const unsigned &i) |
void | constrain_all () |
Constrain all the stored variables when the data is made hanging. More... | |
void | unconstrain_all () |
Unconstrain all the stored variables when the data is made nonhanging. More... | |
bool | is_constrained (const unsigned &i) |
unsigned | self_test () |
unsigned | nvalue () const |
Return number of values stored in data object (incl pinned ones). More... | |
unsigned | ntstorage () const |
virtual void | describe_dofs (std::ostream &out, const std::string ¤t_string) const |
virtual void | add_value_pt_to_map (std::map< unsigned, double * > &map_of_value_pt) |
Static Public Attributes | |
static unsigned | No_independent_position = 10 |
![]() | |
static long | Is_pinned = -1 |
Static "Magic number" to indicate pinned values. More... | |
static long | Is_segregated_solve_pinned = -3 |
static long | Is_unclassified = -10 |
static long | Is_constrained = -2 |
Protected Member Functions | |
void | x_gen_range_check (const unsigned &t, const unsigned &k, const unsigned &i) const |
double * | x_position_pt (const unsigned &i) |
Direct access to the pointer to the i-th stored coordinate data. More... | |
![]() | |
virtual void | reset_copied_pointers () |
Protected Attributes | |
double ** | X_position |
TimeStepper * | Position_time_stepper_pt |
Pointer to the timestepper associated with the position data. More... | |
HangInfo ** | Hanging_pt |
unsigned | Ndim |
Eulerian dimension of the node. More... | |
unsigned | Nposition_type |
bool | Obsolete |
AuxNodeUpdateFctPt | Aux_node_update_fct_pt |
![]() | |
Data ** | Copy_of_data_pt |
unsigned | Ncopies |
Friends | |
class | BoundaryNodeBase |
to construct periodic Nodes More... | |
std::ostream & | operator<< (std::ostream &out, const Node &d) |
Additional Inherited Members | |
![]() | |
static TimeStepper * | Default_static_time_stepper_pt = new Steady<0>() |
Default (static) timestepper used in steady problems. More... | |
Nodes are derived from Data, but, in addition, have a definite (Eulerian) position in a space of a given dimension.
The nodal coordinates are used in the elements' mapping between local and global coordinates and in the simplest case (stationary nodes in Lagrange-type elements) this mapping is given by
\[ x_i = \sum_{j=1}^{N_{node}} X_{ij} \psi_{j}(s_k) \]
so we need only access to the nodal coordinates \( X_{ij}\ (i=1..DIM) \) of all nodes \( j \) : provided by the Node member function
If the nodal positions are time-dependent, the mapping becomes
\[ x_i(t) = \sum_{j=1}^{N_{node}} X_{ij}(t) \ \psi_{j}(s_k). \]
Within the computation (where time is only evaluated at discrete levels) this becomes
\[ x_{ti} = \sum_{j=1}^{N_{node}} X_{ijt} \ \psi_{j}(s_k). \]
and we need access to the nodal coordinates \( X_{ijt} \ (i=1..DIM) \) of all nodes \( j \) at the present (t=0) and previous (t>0) timesteps: provided by the Node member function
Note: The interpretation of the history values is slightly more subtle than that. Depending on the positional TimeStepper used, only a limited number of the positional history values accessed Node::x(t,i)
represent previous nodal positions; the others are generalised history values that the TimeStepper uses to determine approximations for the time-derivatives of the nodal positions.
Finally, some elements employ mappings that involve additional, generalised coordinates. For instance, in Hermite elements the mapping between local and global coordinates is based on an independent interpolation for the global coordinates and their derivative w.r.t. to the local coordinates. In such elements, the mapping becomes
\[ x_i = \sum_{j=1}^{N_{node}} \sum_{k=1}^{N_{type}} X_{ijk} \psi_{jk}(s_k) \]
where \( N_{type} \) is the number of the different types of generalised coordinates involved in the mapping. For instance, in 1D Hermite elements \( N_{type}=2 \) and k=0 corresponds to the global coordinates while k=1 corresponds to the derivative of the global coordinates w.r.t. to the local coordinate. In such cases we need access to the generalised nodal coordinates \( X_{ijk} \ (i=1..DIM, \ k=1..N_{type}) \) of all nodes \( j \). Access is provided by the Node member function
and the corresponding time-dependent version
While this is all pretty straightforward, it does make the argument list of the Node constructors rather lengthy.
typedef void(* oomph::Node::AuxNodeUpdateFctPt) (Node *) |
Function pointer to auxiliary node update function.
oomph::Node::Node | ( | ) |
Default constructor.
oomph::Node::Node | ( | const unsigned & | n_dim, |
const unsigned & | n_position_type, | ||
const unsigned & | initial_n_value, | ||
const bool & | allocate_x_position = true |
||
) |
Steady constructor, for a Node of spatial dimension n_dim. Allocates storage for initial_n_value values. NPosition_type is the number of coordinate types needed in the mapping between local and global coordinates (e.g. 1 for Lagrange-type elements; 2 for 1D Hermite elements; 4 for 2D Hermite elements, etc).
Steady Constructor, allocates storage for initial_n_value values at a node of spatial dimension NDim. nposition_type: # of coordinate types needed in the mapping between local and global coordinates (e.g. 1 for Lagrange-type elements; 2 for 1D Hermite elements; 4 for 2D Hermite elements, etc).
References j, and X_position.
oomph::Node::Node | ( | TimeStepper *const & | time_stepper_pt_, |
const unsigned & | n_dim, | ||
const unsigned & | n_position_type, | ||
const unsigned & | initial_n_value, | ||
const bool & | allocate_x_position = true |
||
) |
Unsteady constructor for a node of spatial dimension n_dim. Allocates storage for initial_n_value values with history values as required by the timestepper. n_position_type: # of coordinate types needed in the mapping between local and global coordinates (e.g. 1 for Lagrange-type elements; 2 for 1D Hermite elements; 4 for 2D Hermite elements).
Unsteady Constructor for a node of spatial dimension n_dim. Allocates storage for initial_n_value values with history values as required by timestepper. n_position_type: # of coordinate types needed in the mapping between local and global coordinates (e.g. 1 for Lagrange-type elements; 2 for 1D Hermite elements; 4 for 2D Hermite elements)
References j, oomph::TimeStepper::ntstorage(), Position_time_stepper_pt, plotPSD::t, and X_position.
|
virtual |
Destructor: Clean up the memory allocated for nodal position.
Destructor to clean up the memory allocated for nodal position.
References Hanging_pt, oomph::Data::nvalue(), and X_position.
|
delete |
Broken copy constructor.
|
virtual |
Broken interface for adding the node to the mesh boundary b Essentially here for error reporting.
Interface for function to add the node to the mesh boundary b. Broken here in order to report run-time errors. Must be overloaded by all boundary nodes
References b, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::Mesh::add_boundary_node(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), and oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh().
|
inlinevirtual |
Return a pointer to an array of all (geometric) data that affect the nodal position. The default value is zero (node is stationary)
Reimplemented in oomph::SpineNode, and oomph::PerturbedSpineNode.
Referenced by oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data().
|
inlinevirtual |
Return a pointer to an array of all (geometric) objects that affect the nodal position. The default value is zero (node is stationary)
Reimplemented in oomph::SpineNode, oomph::MacroElementNodeUpdateNode, oomph::AlgebraicNode, and oomph::PerturbedSpineNode.
Referenced by oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data().
|
virtual |
Assign global equation numbers; increment global number of unknowns, global_ndof; and add any new dofs to the dof_pt.
Assign (global) equation number. Overloaded version for nodes. Checks if a hanging value has a non-negative equation number and if so shouts and then sets it to Is_constrained. Then drops down to Data version which does the actual work
Reimplemented from oomph::Data.
Reimplemented in oomph::SolidNode.
References oomph::Data::assign_eqn_numbers(), oomph::Data::constrain(), i, oomph::Data::is_constrained(), is_hanging(), oomph::Data::is_pinned(), oomph::Data::nvalue(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
virtual |
Have boundary coordinates been set up? Broken virtual interface provides run-time error checking
Interface for function to report if boundary coordinates have been set up for this node Broken here in order to report run-time errors. Must be overloaded by all boundary nodes
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inlinevirtual |
Constrain the positions when the node is made hanging Empty virtual function that is overloaded in SolidNodes
Reimplemented in oomph::SolidNode.
Referenced by set_hanging_pt().
|
inlinevirtual |
Return pointer to copied node (null if the current node is not a copy – always the case here; it's overloaded for boundary nodes)
Referenced by oomph::FourierDecomposedHelmholtzDtNBoundaryElement< ELEMENT >::complete_setup_of_dependencies(), oomph::HelmholtzDtNBoundaryElement< ELEMENT >::complete_setup_of_dependencies(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::create_dependent_position_elements(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::create_slave_position_elements(), and oomph::BoundaryNodeBase::make_node_periodic().
void oomph::Node::copy | ( | Node * | orig_node_pt | ) |
Copy all nodal data from specified Node object.
References oomph::Data::copy(), j, Ndim, ndim(), Nposition_type, nposition_type(), oomph::TimeStepper::ntstorage(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, Position_time_stepper_pt, position_time_stepper_pt(), plotPSD::t, and X_position.
Referenced by oomph::Mesh::convert_to_boundary_node(), and oomph::Problem::copy().
|
inlinevirtual |
Check whether the pointer parameter_pt addresses position data values. It never does for a standard node, because the positions are not data
Reimplemented in oomph::SolidNode.
Return the i-th component of nodal velocity: dx/dt, either directly or via hanging node representation.
Return the i-th component of nodal velocity: dx/dt / Use the hanging node representation if required.
References i, oomph::TimeStepper::is_steady(), oomph::TimeStepper::ntstorage(), position(), Position_time_stepper_pt, plotPSD::t, and oomph::TimeStepper::weight().
Referenced by oomph::FSI_functions::apply_no_slip_on_moving_wall(), oomph::FiniteElement::dnodal_position_dt(), and FSIChannelWithLeafletProblem< ELEMENT >::doc_solution().
Return the i-th component of j-th derivative of nodal position: d^jx/dt^j either directly or via hanging node representation
Return the i-th component of j-th derivative of nodal position: d^jx/dt^j. Use the hanging node representation.
References i, oomph::TimeStepper::is_steady(), j, oomph::TimeStepper::ntstorage(), position(), Position_time_stepper_pt, plotPSD::t, and oomph::TimeStepper::weight().
double oomph::Node::dposition_gen_dt | ( | const unsigned & | j, |
const unsigned & | k, | ||
const unsigned & | i | ||
) | const |
i-th component of j-th time derivative (velocity) of the generalised position, d^jx(k,i)/dt^j. ‘Type’: k; Coordinate direction: i. This function uses the hanging node representation if necessary
i-th component of j-th time derivative (velocity) of the generalised position, d^jx(k,i)/dt^j. ‘Type’: k; Coordinate direction: i. Use the hanging node representation.
References i, oomph::TimeStepper::is_steady(), j, k, oomph::TimeStepper::ntstorage(), position_gen(), Position_time_stepper_pt, plotPSD::t, and oomph::TimeStepper::weight().
i-th component of time derivative (velocity) of the generalised position, dx(k,i)/dt. ‘Type’: k; Coordinate direction: i. This function uses the hanging node representation if necessary.
i-th component of time derivative (velocity) of the generalised position, dx(k,i)/dt. ‘Type’: k; Coordinate direction: i. Use the hanging node representation
References i, oomph::TimeStepper::is_steady(), k, oomph::TimeStepper::ntstorage(), position_gen(), Position_time_stepper_pt, plotPSD::t, and oomph::TimeStepper::weight().
Referenced by oomph::FiniteElement::dnodal_position_gen_dt().
|
virtual |
Dump nodal position and associated data to file for restart.
Dump nodal positions and associated data to file for restart.
Reimplemented in oomph::SolidNode.
References oomph::Data::dump(), j, Ndim, Nposition_type, oomph::TimeStepper::ntstorage(), Position_time_stepper_pt, plotPSD::t, and X_position.
Referenced by oomph::SolidNode::dump().
Return the i-th component of nodal velocity: dx/dt.
References i, oomph::TimeStepper::is_steady(), oomph::TimeStepper::ntstorage(), Position_time_stepper_pt, plotPSD::t, oomph::TimeStepper::weight(), and x().
Referenced by oomph::FiniteElement::raw_dnodal_position_dt().
Return the i-th component of j-th derivative of nodal position: d^jx/dt^j.
References i, oomph::TimeStepper::is_steady(), j, oomph::TimeStepper::ntstorage(), Position_time_stepper_pt, plotPSD::t, oomph::TimeStepper::weight(), and x().
i-th component of j-th time derivative (velocity) of the generalised position, d^jx(k,i)/dt^j. ‘Type’: k; Coordinate direction: i.
References i, oomph::TimeStepper::is_steady(), j, k, oomph::TimeStepper::ntstorage(), Position_time_stepper_pt, plotPSD::t, oomph::TimeStepper::weight(), and x_gen().
i-th component of time derivative (velocity) of the generalised position, dx(k,i)/dt. ‘Type’: k; Coordinate direction: i.
References i, oomph::TimeStepper::is_steady(), k, oomph::TimeStepper::ntstorage(), Position_time_stepper_pt, plotPSD::t, oomph::TimeStepper::weight(), and x_gen().
Referenced by oomph::FiniteElement::raw_dnodal_position_gen_dt().
Return a pointer to set of mesh boundaries that this node occupies; this will be overloaded by BoundaryNodes. The default behaviour is that the Node does not lie on any boundaries so the pointer to the set of boundaries is NULL
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), oomph::GeompackQuadMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), oomph::Mesh::copy_boundary_node_data_from_nodes(), FpTestProblem::FpTestProblem(), oomph::TFace::get_boundaries_pt(), MortaringHelpers::MergedSolidMesh::MergedSolidMesh(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::BrickMeshBase::setup_boundary_element_info(), oomph::LineMeshBase::setup_boundary_element_info(), oomph::QuadMeshBase::setup_boundary_element_info(), oomph::TetMeshBase::setup_boundary_element_info(), oomph::TriangleMeshBase::setup_boundary_element_info(), oomph::HermiteQuadMesh< ELEMENT >::setup_boundary_element_info(), and oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh().
|
virtual |
Return the vector of the k-th generalised boundary coordinates on mesh boundary b. Broken virtual interface provides run-time error checking
Interface for function to get the k-th generalised boundary coordinate of the node on boundary b. Broken here in order to provide run-time error reporting. Must be overloaded by all boundary nodes.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by UnstructuredTorusProblem< ELEMENT >::actions_after_adapt(), PrescribedBoundaryDisplacementProblem< ELEMENT >::actions_before_newton_solve(), AxisymmetricVibratingShellProblem< ELEMENT >::AxisymmetricVibratingShellProblem(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::TwoLayerSpineMesh< BASE_ELEMENT >::build_two_layer_mesh(), ContactProblem< ELEMENT >::create_displ_imposition_elements(), oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), oomph::DiskWithTorusAroundEdgeTetMeshFacetedSurface::DiskWithTorusAroundEdgeTetMeshFacetedSurface(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), get_coordinates_on_boundary(), oomph::TriangleMesh< ELEMENT >::output_boundary_coordinates(), oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::UnstructuredTwoDMeshGeometryBase::snap_nodes_onto_geometric_objects(), oomph::TetMeshBase::snap_to_quadratic_surface(), VibratingShellProblem< ELEMENT >::VibratingShellProblem(), oomph::FaceElement::zeta_nodal(), and oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >::zeta_nodal().
|
inlinevirtual |
Return the vector of coordinates on mesh boundary b Broken virtual interface provides run-time error checking
References b, and get_coordinates_on_boundary().
|
inline |
Code that encapsulates the hanging status of the node (incl. the geometric hanging status) as \( \sum_{i=-1}{nval-1} Node::is_hanging(i) 2^{i+1} \)
References i, is_hanging(), oomph::Data::nvalue(), and Eigen::bfloat16_impl::pow().
|
inline |
Return pointer to hanging node data (this refers to the geometric hanging node status) (const version).
References Hanging_pt, OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data(), oomph::RefineableElement::assign_hanging_local_eqn_numbers(), oomph::RefineableSolidElement::assign_solid_hanging_local_eqn_numbers(), oomph::TreeBasedRefineableMeshBase::complete_hanging_nodes(), oomph::TreeBasedRefineableMeshBase::complete_hanging_nodes_recursively(), oomph::Mesh::delete_all_external_storage(), oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineableAxisymAdvectionDiffusionEquations::dinterpolated_u_adv_diff_ddata(), oomph::RefineableSphericalAdvectionDiffusionEquations::dinterpolated_u_adv_diff_ddata(), oomph::RefineableAxisymmetricNavierStokesEquations::dinterpolated_u_axi_nst_ddata(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::dinterpolated_u_axi_nst_ddata(), oomph::RefineableGeneralisedNewtonianNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::RefineableNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::RefineableSpaceTimeNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::RefineableSpaceTimeNavierStokesMixedOrderEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::RefineableYoungLaplaceEquations::fill_in_contribution_to_residuals(), oomph::RefineableQDPVDElement< DIM, NNODE_1D >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePolarNavierStokesEquations::fill_in_generic_residual_contribution(), oomph::RefineablePolarStreamfunctionEquations::fill_in_generic_residual_contribution(), oomph::RefineableAxisymAdvectionDiffusionEquations::fill_in_generic_residual_contribution_axi_adv_diff(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedAxisymAdvectionDiffusionEquations::fill_in_generic_residual_contribution_cons_axisym_adv_diff(), oomph::RefineableLinearisedAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_linearised_axi_nst(), oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::RefineableSphericalAdvectionDiffusionEquations::fill_in_generic_residual_contribution_spherical_adv_diff(), oomph::RefineableSphericalNavierStokesEquations::fill_in_generic_residual_contribution_spherical_nst(), oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::RefineableNavierStokesBoussinesqElement< NST_ELEMENT, AD_ELEMENT >::fill_in_off_diagonal_block_analytic(), oomph::RefineableAdvectionDiffusionBoussinesqElement< AD_ELEMENT, NST_ELEMENT >::fill_in_off_diagonal_block_analytic(), oomph::RefineableBuoyantQAxisymCrouzeixRaviartElement::fill_in_off_diagonal_jacobian_blocks_analytic(), oomph::RefineableBuoyantQSphericalCrouzeixRaviartElement::fill_in_off_diagonal_jacobian_blocks_analytic(), oomph::RefineableBuoyantQCrouzeixRaviartElement< DIM >::fill_in_off_diagonal_jacobian_blocks_analytic(), oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_off_diagonal_jacobian_blocks_by_fd(), oomph::RefineablePseudoSolidNodeUpdateElement< BASIC, SOLID >::fill_in_shape_derivatives_by_fd(), oomph::RefineableSolidElement::geom_data_pt(), oomph::RefineableAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineablePVDEquationsWithPressure< DIM >::get_mass_matrix_diagonal(), oomph::RefineableElement::identify_field_data_for_interactions(), oomph::RefineableSolidElement::identify_geometric_data(), oomph::RefineableGeneralisedNewtonianQTaylorHoodElement< DIM >::identify_load_data(), oomph::RefineableGeneralisedNewtonianQCrouzeixRaviartElement< DIM >::identify_load_data(), oomph::RefineableQTaylorHoodElement< DIM >::identify_load_data(), oomph::RefineableQCrouzeixRaviartElement< DIM >::identify_load_data(), oomph::RefineableQTaylorHoodSpaceTimeElement< DIM >::identify_load_data(), oomph::RefineableQTaylorHoodMixedOrderSpaceTimeElement< DIM >::identify_load_data(), oomph::RefineablePolarTaylorHoodElement::insert_load_data(), oomph::RefineablePolarCrouzeixRaviartElement::insert_load_data(), oomph::SolidNode::lagrangian_position(), oomph::SolidNode::lagrangian_position_gen(), oomph::RefineableSolidElement::ngeom_data(), oomph::AlgebraicMesh::node_update(), oomph::Mesh::node_update(), oomph::AlgebraicNode::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), oomph::RefineableQElement< 3 >::oc_hang_helper(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::oc_hang_helper(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::MGSolver< DIM >::plot(), position(), position_gen(), oomph::RefineableQElement< 2 >::quad_hang_helper(), oomph::RefineableSolidTractionElement< ELEMENT >::refineable_fill_in_contribution_to_residuals_solid_traction(), oomph::RefineableImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableFSIImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_fsi_displ_lagr_multiplier(), oomph::RefineableNavierStokesFluxControlElement< ELEMENT >::refineable_fill_in_generic_residual_contribution_fluid_traction(), oomph::MGSolver< DIM >::setup_interpolation_matrices_unstructured(), oomph::HelmholtzMGPreconditioner< DIM >::setup_interpolation_matrices_unstructured(), and value().
Return pointer to hanging node data for value i (const version)
References oomph::MPI_Helpers::communicator_pt(), Hanging_pt, i, oomph::OomphCommunicator::my_rank(), ndim(), oomph::Data::nvalue(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, and x().
|
inline |
Boolean to indicate if node has a pointer to and auxiliary update function.
References Aux_node_update_fct_pt.
Referenced by oomph::AxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::GeneralisedNewtonianNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::SpaceTimeNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), and oomph::RefineableSpaceTimeNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates().
|
inline |
Test whether the node is geometrically hanging.
References Hanging_pt.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data(), assign_eqn_numbers(), oomph::RefineableElement::assign_hanging_local_eqn_numbers(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), oomph::TreeBasedRefineableMeshBase::complete_hanging_nodes(), oomph::TreeBasedRefineableMeshBase::complete_hanging_nodes_recursively(), oomph::Mesh::delete_all_external_storage(), oomph::RefineableAdvectionDiffusionEquations< DIM >::dinterpolated_u_adv_diff_ddata(), oomph::RefineableAxisymAdvectionDiffusionEquations::dinterpolated_u_adv_diff_ddata(), oomph::RefineableSphericalAdvectionDiffusionEquations::dinterpolated_u_adv_diff_ddata(), oomph::RefineableAxisymmetricNavierStokesEquations::dinterpolated_u_axi_nst_ddata(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::dinterpolated_u_axi_nst_ddata(), oomph::RefineableGeneralisedNewtonianNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::RefineableNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::RefineableSpaceTimeNavierStokesEquations< DIM >::dinterpolated_u_nst_ddata(), oomph::RefineableSpaceTimeNavierStokesMixedOrderEquations< DIM >::dinterpolated_u_nst_ddata(), PRefineableDrivenCavityProblem< ELEMENT >::doc_solution(), oomph::RefineableQDPVDElement< DIM, NNODE_1D >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePVDEquations< DIM >::fill_in_generic_contribution_to_residuals_pvd(), oomph::RefineablePolarNavierStokesEquations::fill_in_generic_residual_contribution(), oomph::RefineablePolarStreamfunctionEquations::fill_in_generic_residual_contribution(), oomph::RefineableAxisymAdvectionDiffusionEquations::fill_in_generic_residual_contribution_axi_adv_diff(), oomph::RefineableAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_axi_nst(), oomph::RefineableGeneralisedAxisymAdvectionDiffusionEquations::fill_in_generic_residual_contribution_cons_axisym_adv_diff(), oomph::RefineableLinearisedAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_linearised_axi_nst(), oomph::RefineableLinearisedNavierStokesEquations::fill_in_generic_residual_contribution_linearised_nst(), oomph::RefineablePVDEquationsWithPressure< DIM >::fill_in_generic_residual_contribution_pvd_with_pressure(), oomph::RefineableSphericalAdvectionDiffusionEquations::fill_in_generic_residual_contribution_spherical_adv_diff(), oomph::RefineableSphericalNavierStokesEquations::fill_in_generic_residual_contribution_spherical_nst(), oomph::RefineableElement::fill_in_jacobian_from_nodal_by_fd(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::RefineableNavierStokesBoussinesqElement< NST_ELEMENT, AD_ELEMENT >::fill_in_off_diagonal_block_analytic(), oomph::RefineableAdvectionDiffusionBoussinesqElement< AD_ELEMENT, NST_ELEMENT >::fill_in_off_diagonal_block_analytic(), oomph::RefineableBuoyantQAxisymCrouzeixRaviartElement::fill_in_off_diagonal_jacobian_blocks_analytic(), oomph::RefineableBuoyantQSphericalCrouzeixRaviartElement::fill_in_off_diagonal_jacobian_blocks_analytic(), oomph::RefineableBuoyantQCrouzeixRaviartElement< DIM >::fill_in_off_diagonal_jacobian_blocks_analytic(), oomph::RefineableDoubleBuoyantQCrouzeixRaviartElement< DIM >::fill_in_off_diagonal_jacobian_blocks_by_fd(), oomph::RefineablePseudoSolidNodeUpdateElement< BASIC, SOLID >::fill_in_shape_derivatives_by_fd(), oomph::RefineableAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineablePVDEquationsWithPressure< DIM >::get_mass_matrix_diagonal(), hang_code(), oomph::RefineableElement::identify_field_data_for_interactions(), oomph::RefineableGeneralisedNewtonianQTaylorHoodElement< DIM >::identify_load_data(), oomph::RefineableGeneralisedNewtonianQCrouzeixRaviartElement< DIM >::identify_load_data(), oomph::RefineableQTaylorHoodElement< DIM >::identify_load_data(), oomph::RefineableQCrouzeixRaviartElement< DIM >::identify_load_data(), oomph::RefineableQTaylorHoodSpaceTimeElement< DIM >::identify_load_data(), oomph::RefineableQTaylorHoodMixedOrderSpaceTimeElement< DIM >::identify_load_data(), oomph::RefineablePolarTaylorHoodElement::insert_load_data(), oomph::RefineablePolarCrouzeixRaviartElement::insert_load_data(), is_hanging(), oomph::SolidNode::lagrangian_position(), oomph::SolidNode::lagrangian_position_gen(), oomph::AlgebraicMesh::node_update(), oomph::Mesh::node_update(), oomph::AlgebraicNode::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), oomph::RefineableQElement< 3 >::oc_hang_helper(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::RefineableLinearisedAxisymmetricQTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableAxisymmetricQTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableGeneralisedNewtonianAxisymmetricQTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableGeneralisedNewtonianQTaylorHoodElement< DIM >::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableLinearisedQTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableQTaylorHoodElement< DIM >::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineablePolarTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableQTaylorHoodSpaceTimeElement< DIM >::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableQTaylorHoodMixedOrderSpaceTimeElement< DIM >::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableQSphericalTaylorHoodElement::pin_elemental_redundant_nodal_pressure_dofs(), oomph::RefineableQPVDElementWithContinuousPressure< DIM >::pin_elemental_redundant_nodal_solid_pressures(), oomph::MGSolver< DIM >::plot(), position(), position_gen(), oomph::RefineableQElement< 2 >::quad_hang_helper(), oomph::RefineableSolidTractionElement< ELEMENT >::refineable_fill_in_contribution_to_residuals_solid_traction(), oomph::RefineableImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableFSIImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_fsi_displ_lagr_multiplier(), oomph::RefineableNavierStokesFluxControlElement< ELEMENT >::refineable_fill_in_generic_residual_contribution_fluid_traction(), oomph::MGSolver< DIM >::setup_interpolation_matrices_unstructured(), oomph::HelmholtzMGPreconditioner< DIM >::setup_interpolation_matrices_unstructured(), oomph::AxisymmetricTTaylorHoodElement::unpin_proper_nodal_pressure_dofs(), oomph::GeneralisedNewtonianAxisymmetricTTaylorHoodElement::unpin_proper_nodal_pressure_dofs(), oomph::GeneralisedNewtonianTTaylorHoodElement< DIM >::unpin_proper_nodal_pressure_dofs(), oomph::TTaylorHoodElement< DIM >::unpin_proper_nodal_pressure_dofs(), value(), and oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh().
Test whether the i-th value is hanging.
References Hanging_pt, i, is_hanging(), oomph::Data::nvalue(), OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inline |
|
inlinevirtual |
Test whether the Node lies on a boundary. The "bulk" Node cannot lie on a boundary, so return false. This will be overloaded by BoundaryNodes
Referenced by SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::actions_after_adapt(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::actions_before_implicit_timestep(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), AxialSolidQuarterTubeMesh< ELEMENT, INTERFACE_ELEMENT >::AxialSolidQuarterTubeMesh(), AxialSpineQuarterTubeMesh< ELEMENT, INTERFACE_ELEMENT >::AxialSpineQuarterTubeMesh(), AxisymmetricVibratingShellProblem< ELEMENT >::AxisymmetricVibratingShellProblem(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::BackwardStepQuadMesh< ELEMENT >::build_mesh(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), oomph::BrickFromTetMesh< ELEMENT >::build_mesh(), CapProblem< ELEMENT >::CapProblem(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::change_boundaries(), DarcyProblem< ELEMENT >::complete_problem_setup(), AxisymmetricVibratingShellProblem< ELEMENT >::complete_problem_setup(), VibratingShellProblem< ELEMENT >::complete_problem_setup(), oomph::Mesh::copy_boundary_node_data_from_nodes(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::create_dependent_position_elements(), ContactProblem< ELEMENT >::create_displ_imposition_elements(), RefineableRotatingCylinderProblem< ELEMENT >::create_free_surface_elements(), FSICollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), PseudoElasticCollapsibleChannelProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_lagrange_multiplier_elements(), FSIChannelWithLeafletProblem< ELEMENT >::create_lagrange_multiplier_elements(), UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::create_lagrange_multiplier_elements(), PrescribedBoundaryDisplacementProblem< ELEMENT >::create_lagrange_multiplier_elements(), CollapsibleChannelProblem< ELEMENT >::create_lagrange_multiplier_elements(), TiltedCavityProblem< ELEMENT >::create_parall_outflow_lagrange_elements(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::create_slave_position_elements(), oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), FpTestProblem::FpTestProblem(), oomph::Edge::is_on_boundary(), oomph::TFace::is_on_boundary(), WallMesh< ELEMENT >::max_deformation(), oomph::MeshHelper::merge_spine_meshes(), MortaringHelpers::MergedSolidMesh::MergedSolidMesh(), WallMesh< ELEMENT >::min_deformation(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::MGSolver< DIM >::plot(), PressureWaveFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::PressureWaveFSIProblem(), BrethertonElement< ELEMENT >::reassign_inflow(), oomph::RefineableQuadMeshWithMovingCylinder< ELEMENT >::RefineableQuadMeshWithMovingCylinder(), AxiPoroProblem< ELEMENT, TIMESTEPPER >::set_boundary_values(), oomph::TetMeshBase::snap_to_quadratic_surface(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::SurfactantProblem(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::unpin_surface(), UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::UnstructuredFSIProblem(), VibratingShellProblem< ELEMENT >::VibratingShellProblem(), WallMesh< ELEMENT >::WallMesh(), and oomph::TwoDAnnularMesh< ELEMENT >::wrap_into_annular_shape().
|
virtual |
Make the node periodic by copying the values from node_pt. Note that the coordinates will always remain independent, even though this may lead to (a little) unrequired information being stored. Broken virtual (only implemented in BoundaryNodes)
Make the node periodic by copying values from node_pt. Broken virtual (only implemented in BoundaryNodes)
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by NavierStokesProblem< ELEMENT >::apply_boundary_conditions(), oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 2 >::build(), UnsteadyHeatProblem< ELEMENT >::enforce_time_periodic_boundary_conditions(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), and oomph::PeriodicOrbitTemporalMesh< ELEMENT >::PeriodicOrbitTemporalMesh().
Make the nodes passed in the vector periodic_nodes share the same data as this node.
Make the nodes passed in periodic_nodes_pt periodic by copying values across from this node. At present all the positions will be assumed to be independent. Broken virtual (only implemented in BoundaryNodes)
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Get the number of boundary coordinates on mesh boundary b. Broken virtual interface provides run-time error checking
Interface to get the number of boundary coordinates on mesh boundary b. Broken here in order to provide run-time error reporting. Must be overloaded by all boundary nodes.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::TwoLayerSpineMesh< BASE_ELEMENT >::build_two_layer_mesh(), and ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh().
|
inline |
Return (Eulerian) spatial dimension of the node.
References Ndim.
Referenced by oomph::NonLinearElasticitySmoothMesh< ELEMENT >::actions_before_newton_solve(), oomph::Problem::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::SurfactantTransportInterfaceElement::add_additional_residual_contributions_interface(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), oomph::AdvectionDiffusionFluxElement< ELEMENT >::AdvectionDiffusionFluxElement(), oomph::FSI_functions::apply_no_slip_on_moving_wall(), oomph::Newmark< NSTEPS >::assign_initial_data_values(), oomph::SelfStartingBDF2::assign_initial_positions_impulsive(), oomph::Steady< NSTEPS >::assign_initial_positions_impulsive(), oomph::Newmark< NSTEPS >::assign_initial_positions_impulsive(), oomph::BDF< NSTEPS >::assign_initial_positions_impulsive(), oomph::GeneralisedElement::assign_local_eqn_numbers(), oomph::Multi_domain_functions::aux_setup_multi_domain_interaction(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::backup(), oomph::SolidICProblem::backup_original_state(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 2 >::build(), oomph::MeshAsGeomObject::build_it(), oomph::BDF< NSTEPS >::calculate_predicted_positions(), oomph::TR::calculate_predicted_positions(), oomph::SelfStartingBDF2::calculate_predicted_positions_bdf2(), oomph::Mesh::check_for_repeated_nodes(), oomph::FiniteElement::check_jacobian(), copy(), oomph::Mesh::delete_all_external_storage(), DependentPositionPointElement::DependentPositionPointElement(), oomph::Mesh::doc_boundary_coordinates(), oomph::FSI_functions::doc_fsi(), PoissonProblem< ELEMENT >::doc_solution(), FallingBlockProblem< ELEMENT >::doc_solution(), RisingBubbleProblem< ELEMENT >::doc_solution(), oomph::DummyErrorEstimator::DummyErrorEstimator(), oomph::ElementWithMovingNodes::fill_in_jacobian_from_geometric_data(), oomph::ElementWithMovingNodes::get_dnodal_coordinates_dgeom_dofs(), oomph::FiniteElement::get_dresidual_dnodal_coordinates(), oomph::RefineableElement::get_dresidual_dnodal_coordinates(), oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::get_field(), oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::get_field(), oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::get_field(), ElementAnalysis::getXiCenter(), oomph::FourierDecomposedHelmholtzBCElementBase< ELEMENT >::global_power_contribution(), oomph::PMLFourierDecomposedHelmholtzPowerMonitorElement< ELEMENT >::global_power_contribution(), hanging_pt(), oomph::HeatedPenetratorFluxElement< ELEMENT >::HeatedPenetratorFluxElement(), oomph::HelmholtzBCElementBase< ELEMENT >::HelmholtzBCElementBase(), oomph::HelmholtzFluxElement< ELEMENT >::HelmholtzFluxElement(), oomph::HelmholtzFluxFromNormalDisplacementBCElement< HELMHOLTZ_BULK_ELEMENT, ELASTICITY_BULK_ELEMENT >::HelmholtzFluxFromNormalDisplacementBCElement(), oomph::SolubleSurfactantTransportInterfaceElement::l2_norm_of_height(), oomph::LinearisedAxisymPoroelasticBJS_FSIElement< FLUID_BULK_ELEMENT, POROELASTICITY_BULK_ELEMENT >::LinearisedAxisymPoroelasticBJS_FSIElement(), oomph::LinearisedFSIAxisymmetricNStNoSlipBCElementElement< FLUID_BULK_ELEMENT, SOLID_BULK_ELEMENT >::LinearisedFSIAxisymmetricNStNoSlipBCElementElement(), oomph::LinearWaveFluxElement< ELEMENT >::LinearWaveFluxElement(), oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::local_equation(), oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::local_equation(), oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::local_equation(), oomph::MyProblem::my_set_initial_condition(), oomph::NavierStokesFluxControlElement< ELEMENT >::NavierStokesFluxControlElement(), oomph::NavierStokesMixedOrderSpaceTimeTractionElement< ELEMENT >::NavierStokesMixedOrderSpaceTimeTractionElement(), oomph::NavierStokesSpaceTimeTractionElement< ELEMENT >::NavierStokesSpaceTimeTractionElement(), oomph::NavierStokesSurfaceDragTorqueElement< ELEMENT >::NavierStokesSurfaceDragTorqueElement(), oomph::NavierStokesSurfacePowerElement< ELEMENT >::NavierStokesSurfacePowerElement(), oomph::NavierStokesTractionElement< ELEMENT >::NavierStokesTractionElement(), NodeReordering::node_global_position_comparison(), oomph::NodeOrdering::node_global_position_comparison(), oomph::AlgebraicMesh::node_update(), oomph::Mesh::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), CompareNodes::operator()(), CompareNodeCoordinatesX::operator()(), CompareNodeCoordinatesY::operator()(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::HermiteBeamElement::output(), oomph::DummyFaceElement< ELEMENT >::output(), output(), oomph::TriangleMesh< ELEMENT >::output_boundary_coordinates(), oomph::ElementWithExternalElement::output_external_elements(), oomph::FiniteElement::output_paraview(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), oomph::Tree::p_refine_if_required(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all(), oomph::MGSolver< DIM >::plot(), oomph::PMLHelmholtzFluxElement< ELEMENT >::PMLHelmholtzFluxElement(), oomph::PMLHelmholtzFluxFromNormalDisplacementBCElement< HELMHOLTZ_BULK_ELEMENT, ELASTICITY_BULK_ELEMENT >::PMLHelmholtzFluxFromNormalDisplacementBCElement(), oomph::PMLHelmholtzPowerElement< ELEMENT >::PMLHelmholtzPowerElement(), oomph::PoissonFluxElement< ELEMENT >::PoissonFluxElement(), oomph::PolarNavierStokesTractionElement< ELEMENT >::PolarNavierStokesTractionElement(), oomph::PolarStreamfunctionTractionElement< ELEMENT >::PolarStreamfunctionTractionElement(), oomph::PolarStressIntegralElement< ELEMENT >::PolarStressIntegralElement(), position(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), oomph::Data::read(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 3 >::rebuild_from_sons(), oomph::RefineableQSpectralElement< 2 >::rebuild_from_sons(), oomph::TreeBasedRefineableMeshBase::refine_as_in_reference_mesh(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::reset(), oomph::SolidICProblem::reset_original_state(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::restore_positions(), oomph::Mesh::scale_mesh(), oomph::AlgebraicNode::self_test(), oomph::Problem::set_pinned_values_to_zero(), set_position_time_stepper(), oomph::MGSolver< DIM >::set_self_test_vector(), oomph::SolidICProblem::setup_problem(), oomph::SelfStartingBDF2::shift_time_positions(), oomph::IMRBase::shift_time_positions(), oomph::Steady< NSTEPS >::shift_time_positions(), oomph::Newmark< NSTEPS >::shift_time_positions(), oomph::NewmarkBDF< NSTEPS >::shift_time_positions(), oomph::BDF< NSTEPS >::shift_time_positions(), SlavePositionPointElement::SlavePositionPointElement(), oomph::Tree::split_if_required(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::store_positions(), oomph::TetMeshVertex::TetMeshVertex(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_all(), oomph::UnsteadyHeatBaseFaceElement< ELEMENT >::UnsteadyHeatBaseFaceElement(), oomph::UnsteadyHeatFluxElement< ELEMENT >::UnsteadyHeatFluxElement(), oomph::UnsteadyHeatFluxPseudoMeltElement< ELEMENT >::UnsteadyHeatFluxPseudoMeltElement(), oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh(), and oomph::YoungLaplaceContactAngleElement< ELEMENT >::YoungLaplaceContactAngleElement().
|
inlinevirtual |
Return the number of geometric data that affect the nodal position. The default value is zero (node is stationary)
Reimplemented in oomph::SpineNode, and oomph::PerturbedSpineNode.
Referenced by oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data().
|
inlinevirtual |
Return the number of geometric objects that affect the nodal position. The default value is zero (node is stationary)
Reimplemented in oomph::SpineNode, oomph::MacroElementNodeUpdateNode, oomph::AlgebraicNode, and oomph::PerturbedSpineNode.
Referenced by oomph::ElementWithMovingNodes::assemble_set_of_all_geometric_data().
|
inlinevirtual |
Interface for functions that update the nodal position using algebraic remeshing strategies. The interface is common to SpineNodes, AlgebraicNodes and MacroElementNodeUpdateNodes. The default is that the node does not "update itself" i.e. it is fixed in space. When implemented, this function should also execute the Node's auxiliary node update function (if any).
Reimplemented in oomph::SpineNode, oomph::SolidNode, oomph::MacroElementNodeUpdateNode, oomph::AlgebraicNode, and oomph::PerturbedSpineNode.
Referenced by main(), and oomph::FiniteElement::node_update().
|
inline |
Number of coordinate types needed in the mapping between local and global coordinates.
References Nposition_type.
Referenced by oomph::SelfStartingBDF2::assign_initial_positions_impulsive(), oomph::Steady< NSTEPS >::assign_initial_positions_impulsive(), oomph::Newmark< NSTEPS >::assign_initial_positions_impulsive(), oomph::BDF< NSTEPS >::assign_initial_positions_impulsive(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 1 >::build(), oomph::RefineableQElement< 2 >::build(), copy(), oomph::PRefineableQElement< 1, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_all(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::pin_dofs_of_coordinate(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::restore_positions(), oomph::Problem::set_pinned_values_to_zero(), set_position_time_stepper(), oomph::SelfStartingBDF2::shift_time_positions(), oomph::IMRBase::shift_time_positions(), oomph::Steady< NSTEPS >::shift_time_positions(), oomph::Newmark< NSTEPS >::shift_time_positions(), oomph::NewmarkBDF< NSTEPS >::shift_time_positions(), oomph::BDF< NSTEPS >::shift_time_positions(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::store_positions(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_all(), and oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::unpin_dofs_of_coordinate().
|
delete |
Broken assignment operator.
void oomph::Node::output | ( | std::ostream & | outfile | ) |
Output nodal position.
Output nodal coordinates.
|
inline |
Execute auxiliary update function (if any) – this can be used to update any nodal values following the update of the nodal position. This is needed e.g. to update the no-slip condition on moving boundaries.
References Aux_node_update_fct_pt.
Referenced by oomph::SolidFiniteElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::RefineablePseudoSolidNodeUpdateElement< BASIC, SOLID >::fill_in_shape_derivatives_by_fd(), oomph::AxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::GeneralisedNewtonianNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::FiniteElement::get_dresidual_dnodal_coordinates(), oomph::RefineableElement::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::SpaceTimeNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableSpaceTimeNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::AlgebraicMesh::node_update(), and oomph::SolidNode::node_update().
|
inlinevirtual |
The pin_all() function must be overloaded by SolidNodes, so we put the virtual interface here to avoid virtual functions in Data
Reimplemented in oomph::SolidNode.
References oomph::Data::pin_all().
Referenced by oomph::SolidNode::pin_all().
Return vector of position of node at current time.
References ndim().
Referenced by dposition_dt(), and position().
Return i-th nodal coordinate either directly or via hanging node representation.
References hanging_pt(), i, is_hanging(), m, oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), and x().
Return i-th nodal coordinate at time level t (t=0: current; t>0: previous time level), either directly or via hanging node representation.
References hanging_pt(), i, is_hanging(), m, oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), plotPSD::t, and x().
Compute Vector of nodal position at time level t (t=0: current; t>0: previous timestep), either directly or via hanging node representation.
Compute Vector of nodal position at timestep t (t=0: current; t>0: previous timestep), either directly or via hanging node representation.
References i, ndim(), position(), and plotPSD::t.
Compute Vector of nodal positions either directly or via hanging node representation
References i, ndim(), and position().
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), VorticityRecoveryProblem< ELEMENT >::apply_boundary_conditions(), VorticityRecoveryProblem< ELEMENT >::assign_synthetic_veloc_field(), oomph::Mesh::delete_all_external_storage(), oomph::DiskTetMeshFacetedSurface::DiskTetMeshFacetedSurface(), oomph::MyProblem::doc_boundaries(), oomph::ElementWithMovingNodes::get_dnodal_coordinates_dgeom_dofs(), oomph::MyProblem::get_error_norm(), oomph::MyProblem::my_set_initial_condition(), oomph::FiniteElement::nodal_position(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::XdaTetMesh< ELEMENT >::setup_boundary_coordinates(), oomph::MGSolver< DIM >::setup_interpolation_matrices_unstructured(), oomph::HelmholtzMGPreconditioner< DIM >::setup_interpolation_matrices_unstructured(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), and oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh().
Return generalised nodal coordinate either directly or via hanging node representation.
References hanging_pt(), i, is_hanging(), k, m, oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), and x_gen().
Referenced by dposition_gen_dt(), and oomph::FiniteElement::nodal_position_gen().
double oomph::Node::position_gen | ( | const unsigned & | t, |
const unsigned & | k, | ||
const unsigned & | i | ||
) | const |
Return generalised nodal coordinate at time level t (t=0: current; t>0: previous time level), either directly or via hanging node representation.
References hanging_pt(), i, is_hanging(), k, m, oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), plotPSD::t, and x_gen().
|
inlinevirtual |
Return whether any position coordinate has been copied (always false)
Reimplemented in oomph::SolidNode.
Referenced by oomph::SelfStartingBDF2::assign_initial_positions_impulsive(), oomph::Steady< NSTEPS >::assign_initial_positions_impulsive(), oomph::Newmark< NSTEPS >::assign_initial_positions_impulsive(), oomph::BDF< NSTEPS >::assign_initial_positions_impulsive(), oomph::BDF< NSTEPS >::calculate_predicted_positions(), oomph::TR::calculate_predicted_positions(), oomph::SelfStartingBDF2::calculate_predicted_positions_bdf2(), oomph::SelfStartingBDF2::shift_time_positions(), oomph::IMRBase::shift_time_positions(), oomph::Steady< NSTEPS >::shift_time_positions(), oomph::NewmarkBDF< NSTEPS >::shift_time_positions(), and oomph::BDF< NSTEPS >::shift_time_positions().
Return whether the position coordinate i has been copied (always false)
Reimplemented in oomph::SolidNode.
|
inline |
Return a pointer to the position timestepper.
References Position_time_stepper_pt.
Referenced by oomph::AlgebraicCollapsibleChannelMesh< ELEMENT >::algebraic_node_update(), oomph::AlgebraicFSIDrivenCavityMesh< ELEMENT >::algebraic_node_update(), copy(), oomph::LinearisedAxisymmetricNavierStokesEquations::dnodal_position_perturbation_dt_lin_axi_nst(), oomph::LinearisedAxisymmetricFluidInterfaceElement::dXhat_dt(), oomph::RefineableQDPVDElement< DIM, NNODE_1D >::fill_in_generic_contribution_to_residuals_pvd(), oomph::LinearisedAxisymmetricNavierStokesEquations::fill_in_generic_residual_contribution_lin_axi_nst(), oomph::SolidFiniteElement::fill_in_jacobian_for_newmark_accel(), oomph::AxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::ProjectableAdvectionDiffusionReactionElement< ADR_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableAxisymLinearElasticityElement< AXISYM_LINEAR_ELAST_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableAxisymmetricPoroelasticityElement< AXISYMMETRIC_POROELASTICITY_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableDarcyElement< DARCY_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableDisplacementBasedFoepplvonKarmanElement< FVK_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableFoepplvonKarmanElement< FVK_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::GeneralisedNewtonianProjectableAxisymmetricTaylorHoodElement< TAYLOR_HOOD_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::GeneralisedNewtonianProjectableAxisymmetricCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableGeneralisedNewtonianTaylorHoodElement< TAYLOR_HOOD_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableGeneralisedNewtonianCrouzeixRaviartElement< CROUZEIX_RAVIART_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::GenericLagrangeInterpolatedProjectableElement< ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableHelmholtzElement< HELMHOLTZ_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableLinearElasticityElement< LINEAR_ELAST_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectablePMLFourierDecomposedHelmholtzElement< FOURIER_DECOMPOSED_HELMHOLTZ_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectablePMLHelmholtzElement< HELMHOLTZ_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectablePMLTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectablePoissonElement< POISSON_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectablePVDElement< PVD_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectablePVDElementWithContinuousPressure< PVD_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableTimeHarmonicFourierDecomposedLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableTimeHarmonicLinearElasticityElement< TIME_HARMONIC_LINEAR_ELAST_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >::nhistory_values_for_coordinate_projection(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::node_update_central_region(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::node_update_in_central_box(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::node_update_in_lower_right_box(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::node_update_in_upper_left_box(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::node_update_lower_right_region(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::node_update_upper_left_region(), oomph::MyTaylorHoodElement< DIM >::output(), oomph::ProjectableUnsteadyHeatSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >::output(), oomph::ProjectableUnsteadyHeatMixedOrderSpaceTimeElement< UNSTEADY_HEAT_ELEMENT >::output(), oomph::ProjectableUnsteadyHeatElement< UNSTEADY_HEAT_ELEMENT >::output(), oomph::ContinuationStorageScheme::set_consistent_pinned_positions(), set_position_time_stepper(), oomph::SolidNode::set_position_time_stepper(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), and oomph::UnstructuredTwoDMeshGeometryBase::snap_nodes_onto_geometric_objects().
|
inline |
Return a pointer to the position timestepper (const version).
References Position_time_stepper_pt.
Return the i-th value stored at the Node. This interface does NOT take the hanging status of the Node into account.
References i, and oomph::Data::value().
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::FiniteElement::raw_nodal_value(), and value().
Return the i-th value at time level t (t=0: present, t>0: previous). This interface does NOT take the hanging status of the Node into account.
References i, plotPSD::t, and oomph::Data::value().
void oomph::Node::read | ( | std::ifstream & | restart_file | ) |
Read nodal position and associated data from file for restart.
Read nodal positions and associated data from file for restart.
References j, Ndim, Nposition_type, oomph::TimeStepper::ntstorage(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, Position_time_stepper_pt, oomph::Data::read(), oomph::Global_string_for_annotation::string(), plotPSD::t, and X_position.
Referenced by oomph::Mesh::read(), and oomph::SolidNode::read().
|
virtual |
Broken interface for removing the node from the mesh boundary b Here to provide error reporting.
Interface for function to remove the node from the mesh boundary b. Broken here in order to report run-time erorrs. Must be overloaded by all boundary nodes
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), oomph::TwoLayerSpineMesh< BASE_ELEMENT >::build_two_layer_mesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::MeshHelper::merge_spine_meshes(), oomph::RefineableQuadMeshWithMovingCylinder< ELEMENT >::RefineableQuadMeshWithMovingCylinder(), oomph::Mesh::remove_boundary_node(), and oomph::Mesh::remove_boundary_nodes().
|
virtual |
Resize the number of equations.
Resize the node to allow it to store n_value unknowns.
Reimplemented from oomph::Data.
References oomph::Data::constrain(), Hanging_pt, i, oomph::Data::nvalue(), oomph::Data::resize(), and oomph::Data::unconstrain().
Referenced by oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), and oomph::FaceElement::resize_nodes().
|
inline |
Set pointer to auxiliary update function – this can be used to update any nodal values following the update of the nodal position. This is needed e.g. to update the no-slip condition on moving boundaries.
References Aux_node_update_fct_pt.
Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), UnstructuredImmersedEllipseProblem< ELEMENT >::complete_problem_setup(), UnstructuredFluidProblem< ELEMENT >::complete_problem_setup(), FSIRingProblem::FSIRingProblem(), and OscRingNStProblem< ELEMENT >::OscRingNStProblem().
|
virtual |
Set the vector of the k-th generalised boundary coordinates on mesh boundary b. Broken virtual interface provides run-time error checking
Interface for function to set the k-th generalised boundary coordinate of the node on boundary b. Broken here to provide run-time error reports. Must be overloaded by all boundary nodes.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
Referenced by AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), oomph::RefineableQElement< 3 >::build(), oomph::RefineableQElement< 2 >::build(), oomph::BrickFromTetMesh< ELEMENT >::build_mesh(), oomph::TwoLayerSpineMesh< BASE_ELEMENT >::build_two_layer_mesh(), oomph::ChannelWithLeafletMesh< ELEMENT >::ChannelWithLeafletMesh(), oomph::CollapsibleChannelMesh< ELEMENT >::CollapsibleChannelMesh(), oomph::ElasticRefineableRectangularQuadMesh< ELEMENT >::ElasticRefineableRectangularQuadMesh(), ElasticRefineableTwoLayerMesh< ELEMENT >::ElasticRefineableTwoLayerMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::rebuild_from_sons(), RefineableElasticCubicMesh< ELEMENT >::RefineableElasticCubicMesh(), oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), set_coordinates_on_boundary(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::XdaTetMesh< ELEMENT >::setup_boundary_coordinates(), oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates(), oomph::TetMeshBase::snap_to_quadratic_surface(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), and WallMesh< ELEMENT >::WallMesh().
|
inlinevirtual |
Set the vector of coordinates on mesh boundary b Broken virtual interface provides run-time error checking
References b, and set_coordinates_on_boundary().
Set the hanging data for the i-th value. (hang_pt=0 to make non-hanging)
Set the hanging data for the i-th value. If node is already hanging, simply overwrite the appropriate entry. If the node isn't hanging (because it might not be hanging geometrically), create the Vector of hanging pointers and make the other entries point to the node's geometric hanging data. Set hang_pt=0 to make entry explicitly non-hanging. Use Node::set_nonhanging() to unhang everything and clear up storage.
References oomph::Data::constrain(), constrain_positions(), Hanging_pt, i, n, oomph::Data::nvalue(), oomph::Data::unconstrain(), and unconstrain_positions().
Referenced by oomph::TreeBasedRefineableMeshBase::complete_hanging_nodes(), oomph::RefineableQElement< 3 >::oc_hang_helper(), and oomph::RefineableQElement< 2 >::quad_hang_helper().
|
inline |
Mark node as non-obsolete.
References Obsolete.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), and oomph::RefineableElement::unbuild().
void oomph::Node::set_nonhanging | ( | ) |
Label node as non-hanging node by removing all hanging node data.
References Hanging_pt, oomph::Data::nvalue(), oomph::Data::unconstrain(), and unconstrain_positions().
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::Mesh::delete_all_external_storage(), and oomph::TreeBasedRefineableMeshBase::p_adapt_mesh().
|
inline |
Mark node as obsolete.
References Obsolete.
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::PMLCornerQuadMesh< ELEMENT >::PMLCornerQuadMesh(), and oomph::PMLQuadMesh< ELEMENT >::PMLQuadMesh().
|
virtual |
Set a new position timestepper be resizing the appropriate storage
Set a new position TimeStepper be resizing the appropriate storage. The current (zero) values will be unaffected, but all other entries will be set to zero.
Reimplemented in oomph::SolidNode.
References j, ndim(), nposition_type(), oomph::TimeStepper::ntstorage(), Position_time_stepper_pt, position_time_stepper_pt(), plotPSD::t, and X_position.
|
inlinevirtual |
Unconstrain the positions when the node is made non-hanging Empty virtual function that is overloaded in SolidNodes
Reimplemented in oomph::SolidNode.
Referenced by set_hanging_pt(), and set_nonhanging().
|
inlinevirtual |
The unpin_all() function must be overloaded by SolidNode, so we put the virtual interface here to avoid virtual functions in Data
Reimplemented in oomph::SolidNode.
References oomph::Data::unpin_all().
Referenced by oomph::SolidNode::unpin_all().
Return vector of values calculated using value(vector).
References oomph::Data::nvalue().
Referenced by value().
Return i-th value (dofs or pinned) at this node either directly or via hanging node representation. Note that this REDFINES the interface in Data Thus, the present function will be called provided that it is accessed through a pointer to a node i.e. Node* node_pt->value() will take hanging information into account. If a pointer to a Node has been explicitly down-cast to a pointer to Data then the "wrong" (Data) version of the function will be called.
Return i-th value (free or pinned) at this node either directly or via hanging node representation.
References hanging_pt(), i, is_hanging(), m, oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), and raw_value().
Referenced by oomph::TreeBasedRefineableMeshBase::adapt_mesh(), oomph::PeriodicOrbitAssemblyHandler< NNODE_1D >::adapt_temporal_mesh(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), HeatedCircularPenetratorElement::centre(), oomph::BoundaryNode< NODE_TYPE >::clear_copied_pointers(), ContactProblem< ELEMENT >::complete_problem_setup(), oomph::StefanBoltzmannRadiationBase::contribution_to_stefan_boltzmann_radiation(), oomph::AxisymmetricVolumeConstraintBoundingElement::contribution_to_volume_flux(), oomph::LinearisedQCrouzeixRaviartElement::copy_efunction_to_normalisation(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::copy_onto_original_mesh(), oomph::Mesh::delete_all_external_storage(), RayleighProblem< ELEMENT, TIMESTEPPER >::doc_solution(), RayleighTractionProblem< ELEMENT, TIMESTEPPER >::doc_solution(), oomph::LinearisedAxisymmetricFluidInterfaceElement::dXhat_dt(), HeatedCircularPenetratorElement::fill_in_contribution_to_residuals(), oomph::ClampedSlidingHermiteBeamBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::ClampedHermiteShellBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::HeightControlElement::fill_in_contribution_to_residuals(), oomph::NonlinearSurfaceContactElement< ELEMENT >::fill_in_contribution_to_residuals_surface_contact(), oomph::LinearSurfaceContactElement< ELEMENT >::fill_in_contribution_to_residuals_surface_contact(), oomph::HeatedLinearSurfaceContactElement< ELEMENT >::fill_in_contribution_to_residuals_surface_contact(), oomph::SurfaceMeltElement< ELEMENT >::fill_in_contribution_to_residuals_surface_melt(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::FSIImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::fill_in_generic_contribution_to_residuals_fsi_displ_lagr_multiplier(), DependentPositionPointElement::fill_in_generic_contribution_to_residuals_match_position(), SlavePositionPointElement::fill_in_generic_contribution_to_residuals_match_position(), oomph::ImposeImpenetrabilityElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::ImposeParallelOutflowElement< ELEMENT >::fill_in_generic_contribution_to_residuals_parall_lagr_multiplier(), oomph::LinearisedAxisymPoroelasticBJS_FSIElement< FLUID_BULK_ELEMENT, POROELASTICITY_BULK_ELEMENT >::fill_in_generic_residual_contribution_axisym_poroelastic_fsi(), oomph::BiharmonicFluidBoundaryElement::fill_in_generic_residual_contribution_biharmonic_boundary(), oomph::LinearisedFSIAxisymmetricNStNoSlipBCElementElement< FLUID_BULK_ELEMENT, SOLID_BULK_ELEMENT >::fill_in_generic_residual_contribution_fsi_no_slip_axisym(), oomph::UnsteadyHeatFluxPseudoMeltElement< ELEMENT >::fill_in_generic_residual_contribution_ust_heat_flux(), oomph::Problem::get_dofs(), oomph::MyProblem::get_error_norm(), oomph::SurfaceContactElementBase< ELEMENT >::get_interpolated_lagrange_p(), oomph::SurfaceMeltElement< ELEMENT >::get_interpolated_lagrange_p(), oomph::BiharmonicEquations< DIM >::interpolated_dudx(), oomph::SurfaceMeltElement< ELEMENT >::interpolated_melt_rate(), oomph::DGFaceElement::interpolated_u(), main(), oomph::FiniteElement::nodal_value(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::UnsteadyHeatFluxPseudoMeltElement< ELEMENT >::output(), oomph::ClampedHermiteShellBoundaryConditionElement::output(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::FSIImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::output(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::UnsteadyHeatFluxPseudoMeltElement< ELEMENT >::plot_residual_landscape(), oomph::RefineableImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_displ_lagr_multiplier(), oomph::RefineableFSIImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::refineable_fill_in_generic_contribution_to_residuals_fsi_displ_lagr_multiplier(), oomph::MyProblem::set_up_impulsive_initial_condition(), oomph::ImposeDisplacementByLagrangeMultiplierElement< ELEMENT >::square_of_l2_norm_of_error(), ContactProblem< ELEMENT >::switch_to_displ_control(), RefineablePorousChannelProblem< ELEMENT >::symmetrise_eigenfunction_for_adaptive_pitchfork_tracking(), oomph::TimeStepper::time_derivative(), SphericalSpinUpProblem< ELEMENT >::timestep(), oomph::MyProblem::trace_values(), oomph::FluidInterfaceElement::u(), oomph::LinearisedAxisymmetricFluidInterfaceElement::u(), and oomph::BiharmonicElement< DIM >::u().
Return i-th value at time level t (t=0: present, t>0: previous) either directly or via hanging node representation. Note that this REDEFINES the interface in Data Thus, the present function will be called provided that it is accessed through a pointer to a node i.e. Node* node_pt->value() will take hanging information into account. If a pointer to a Node has been explicitly down-cast to a pointer to Data then the "wrong" (Data) version of the function will be called.
Return i-th value (free or pinned) at this node at time level t either directly or via hanging node representation.
References hanging_pt(), i, is_hanging(), m, oomph::HangInfo::master_node_pt(), oomph::HangInfo::master_weight(), oomph::HangInfo::nmaster(), raw_value(), and plotPSD::t.
Compute Vector of values (dofs or pinned) in this data at time level t (t=0: present; t>0: previous). This interface explicitly takes the hanging status into account. Thus, the present function will be called provided that it is accessed through a pointer to a node i.e. Node* node_pt->value() will take hanging information into account. If a pointer to a Node has been explicitly down-cast to a pointer to Data then the "wrong" (Data) version of the function will be called.
Compute Vector of values (dofs or pinned) at this node at time level t (t=0: present; t>0: previous) either directly or via hanging node representation.
References i, oomph::Data::nvalue(), plotPSD::t, and value().
Compute Vector of values for the Data value taking the hanging node status into account. Note that this REDEFINES the interface in Data Thus, the present function will be called provided that it is accessed through a pointer to a node i.e. Node* node_pt->value() will take hanging information into account. If a pointer to a Node has been explicitly down-cast to a pointer to Data then the "wrong" (Data) version of the function will be called.
Compute Vector of values (dofs or pinned) at this Data object either directly or via hanging node representation.
References i, oomph::Data::nvalue(), and value().
Return the i-th nodal coordinate.
References i, Nposition_type, x_gen_range_check(), and X_position.
Referenced by UnstructuredTorusProblem< ELEMENT >::actions_after_adapt(), PseudoElasticCollapsibleChannelProblem< FLUID_ELEMENT, SOLID_ELEMENT >::actions_after_adapt(), ElasticInclinedPlaneProblem< ELEMENT, TIMESTEPPER >::actions_after_implicit_timestep(), ContactProblem< ELEMENT >::actions_before_adapt(), StefanBoltzmannProblem< ELEMENT >::actions_before_implicit_timestep(), UnsteadyHeatProblem< ELEMENT >::actions_before_implicit_timestep(), LinearWaveProblem< ELEMENT, TIMESTEPPER >::actions_before_implicit_timestep(), RefineableUnsteadyHeatProblem< ELEMENT >::actions_before_implicit_timestep(), InclinedPlaneProblem< ELEMENT, INTERFACE_ELEMENT >::actions_before_implicit_timestep(), SphericalSpinUpProblem< ELEMENT >::actions_before_implicit_timestep(), RefineableAdvectionDiffusionProblem< ELEMENT >::actions_before_newton_solve(), TwoMeshFluxAdvectionDiffusionProblem< ELEMENT >::actions_before_newton_solve(), SUPGAdvectionDiffusionProblem< ELEMENT >::actions_before_newton_solve(), OneDPoissonProblem< ELEMENT >::actions_before_newton_solve(), PoissonProblem< ELEMENT >::actions_before_newton_solve(), MultiPoissonProblem< ELEMENT >::actions_before_newton_solve(), RefineableTwoDPoissonProblem< ELEMENT >::actions_before_newton_solve(), RefineableTwoMeshFluxPoissonProblem< ELEMENT >::actions_before_newton_solve(), RefineableConvectionProblem< NST_ELEMENT, AD_ELEMENT >::actions_before_newton_solve(), FluxPoissonMGProblem< ELEMENT, MESH >::actions_before_newton_solve(), UnitCubePoissonMGProblem< ELEMENT, MESH >::actions_before_newton_solve(), TiltedCavityProblem< ELEMENT >::actions_before_newton_solve(), FpTestProblem::actions_before_newton_solve(), FallingBlockProblem< ELEMENT >::actions_before_newton_solve(), RefineablePoissonProblem< ELEMENT >::actions_before_newton_solve(), EighthSpherePoissonProblem< ELEMENT >::actions_before_newton_solve(), RefineableOneDPoissonProblem< ELEMENT >::actions_before_newton_solve(), PRefineableOneDPoissonProblem< ELEMENT >::actions_before_newton_solve(), FluxPoissonProblem< ELEMENT >::actions_before_newton_solve(), TwoMeshFluxPoissonProblem< ELEMENT >::actions_before_newton_solve(), PrescribedBoundaryDisplacementProblem< ELEMENT >::actions_before_newton_solve(), ThreeDPoissonProblem< ELEMENT >::actions_before_newton_solve(), TestPoissonProblem< ELEMENT >::actions_before_newton_solve(), TestRefineablePoissonProblem< ELEMENT >::actions_before_newton_solve(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::actions_before_newton_solve(), oomph::StreamfunctionProblem::actions_before_solve(), Beam::actionsBeforeOomphTimeStep(), SolidBag::actionsBeforeOomphTimeStep(), oomph::Problem::adapt(), oomph::TreeBasedRefineableMeshBase::adapt_mesh(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::add_mesh(), AirwayReopeningProblem< ELEMENT >::AirwayReopeningProblem(), oomph::MyAlgebraicCollapsibleChannelMesh< ELEMENT >::algebraic_node_update(), oomph::AlgebraicCollapsibleChannelMesh< ELEMENT >::algebraic_node_update(), oomph::AlgebraicFSIDrivenCavityMesh< ELEMENT >::algebraic_node_update(), AnnularDiskProblem< ELASTICITY_ELEMENT >::AnnularDiskProblem(), AnnularQuadMesh< ELEMENT >::AnnularQuadMesh(), oomph::AnnularSpineMesh< ELEMENT >::AnnularSpineMesh(), BendingCantileverProblem< ELEMENT >::apply_boundary_conditions(), ExtrudedMovingCylinderProblem< TWO_D_ELEMENT, THREE_D_ELEMENT >::apply_boundary_conditions(), UnstructuredFvKProblem< ELEMENT >::apply_boundary_conditions(), UnstructuredPoissonProblem< ELEMENT >::apply_boundary_conditions(), PoissonProblem< ELEMENT >::apply_boundary_conditions(), PMLStructuredCubicHelmholtz< ELEMENT >::apply_boundary_conditions(), PMLHelmholtzMGProblem< ELEMENT >::apply_boundary_conditions(), NavierStokesProblem< ELEMENT >::apply_boundary_conditions(), SimpleShearProblem< ELEMENT >::apply_boundary_conditions(), UnsteadyHeatProblem< ELEMENT >::apply_boundary_conditions(), TwoDDGProblem< ELEMENT >::apply_boundary_conditions(), TwoDDGProblem< ELEMENT >::apply_initial_conditions(), oomph::TetMeshBase::assess_mesh_quality(), oomph::Newmark< NSTEPS >::assign_initial_data_values(), oomph::GeneralisedElement::assign_local_eqn_numbers(), oomph::StreamfunctionProblem::assign_velocities(), AxialSpineQuarterTubeMesh< ELEMENT, INTERFACE_ELEMENT >::AxialSpineQuarterTubeMesh(), AxisymmetricVibratingShellProblem< ELEMENT >::AxisymmetricVibratingShellProblem(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::backup(), oomph::BackupMeshForProjection< GEOMETRIC_ELEMENT >::BackupMeshForProjection(), SolidBag::bendBag(), BendingCantileverProblem< ELEMENT >::BendingCantileverProblem(), oomph::RefineableQElement< 3 >::build(), oomph::RefineableSolidQElement< 3 >::build(), oomph::RefineableQElement< 1 >::build(), oomph::RefineableQElement< 2 >::build(), oomph::RefineableSolidQElement< 2 >::build(), oomph::GmshTetMesh< ELEMENT >::build_from_scaffold(), oomph::GeompackQuadMesh< ELEMENT >::build_from_scaffold(), oomph::SimpleCubicTetMesh< ELEMENT >::build_from_scaffold(), oomph::TetgenMesh< ELEMENT >::build_from_scaffold(), oomph::TriangleMesh< ELEMENT >::build_from_scaffold(), oomph::QuadFromTriangleMesh< ELEMENT >::build_from_scaffold(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::build_mesh(), oomph::ExtrudedCubeMeshFromQuadMesh< ELEMENT >::build_mesh(), oomph::FishMesh< ELEMENT >::build_mesh(), oomph::BrickFromTetMesh< ELEMENT >::build_mesh(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), oomph::TwoLayerSpineMesh< BASE_ELEMENT >::build_two_layer_mesh(), oomph::BDF< NSTEPS >::calculate_predicted_positions(), oomph::TR::calculate_predicted_positions(), oomph::SelfStartingBDF2::calculate_predicted_positions_bdf2(), HeatedCircularPenetratorElement::centre(), oomph::Mesh::check_for_repeated_nodes(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::check_integrity(), oomph::RefineableQElement< 1 >::check_integrity(), oomph::RefineableQElement< 2 >::check_integrity(), oomph::FiniteElement::check_jacobian(), CoatedDiskProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::CoatedDiskProblem(), CoatedSphereProblem< ELASTICITY_ELEMENT, HELMHOLTZ_ELEMENT >::CoatedSphereProblem(), AxisymmetricVibratingShellProblem< ELEMENT >::complete_problem_setup(), VibratingShellProblem< ELEMENT >::complete_problem_setup(), ContactProblem< ELEMENT >::complete_problem_setup(), TwoLayerInterfaceProblem< ELEMENT >::complete_problem_setup(), BubbleInChannelProblem< ELEMENT >::complete_problem_setup(), DropInChannelProblem< ELEMENT >::complete_problem_setup(), ElasticAnnulusProblem< ELASTICITY_ELEMENT >::complete_problem_setup(), oomph::RefineableTriangleMesh< ELEMENT >::compute_area_target(), oomph::RefineableTetgenMesh< ELEMENT >::compute_volume_target(), oomph::RefineableTetMeshBase::compute_volume_target(), oomph::TwoDimensionalPMLHelper::create_bottom_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_bottom_right_pml_mesh(), BendingCantileverProblem< ELEMENT >::create_constraint_elements(), StefanBoltzmannProblem< ELEMENT >::create_melt_elements(), oomph::GmshTetScaffoldMesh::create_mesh_from_msh_file(), oomph::TwoDimensionalPMLHelper::create_top_left_pml_mesh(), oomph::TwoDimensionalPMLHelper::create_top_right_pml_mesh(), CylinderAndInterfaceMesh< ELEMENT >::CylinderAndInterfaceMesh(), MeltSpinningProblem< ELEMENT >::deform_free_surface(), AxisymFreeSurfaceNozzleAdvDiffRobinProblem< ELEMENT >::deform_free_surface(), InterfaceProblem< ELEMENT, TIMESTEPPER >::deform_free_surface(), MeshDeformation::deform_mesh(), oomph::Mesh::delete_all_external_storage(), demo_smoothing_with_nonlinear_elasticity(), oomph::FSI_functions::doc_fsi(), StefanBoltzmannProblem< ELEMENT >::doc_solution(), TwoLayerInterfaceProblem< ELEMENT >::doc_solution(), RefineableDrivenCavityProblem< ELEMENT >::doc_solution(), PoissonProblem< ELEMENT >::doc_solution(), FallingBlockProblem< ELEMENT >::doc_solution(), RisingBubbleProblem< ELEMENT >::doc_solution(), PRefineableDrivenCavityProblem< ELEMENT >::doc_solution(), RayleighProblem< ELEMENT, TIMESTEPPER >::doc_solution(), RayleighTractionProblem< ELEMENT, TIMESTEPPER >::doc_solution(), FSIChannelWithLeafletProblem< ELEMENT >::doc_solution(), oomph::DummyErrorEstimator::DummyErrorEstimator(), dx_dt(), oomph::EighthSphereMesh< ELEMENT >::EighthSphereMesh(), ElasticQuadFromTriangleMesh< ELEMENT >::ElasticQuadFromTriangleMesh(), ElasticRefineableTwoLayerMesh< ELEMENT >::ElasticRefineableTwoLayerMesh(), ElasticTetMesh< ELEMENT >::ElasticTetMesh(), ElasticTriangleMesh< ELEMENT >::ElasticTriangleMesh(), ElasticTwoLayerMesh< ELEMENT >::ElasticTwoLayerMesh(), ElementAnalysis::ElementAnalysis(), UnsteadyHeatProblem< ELEMENT >::enforce_time_periodic_boundary_conditions(), EntryFlowProblem< ELEMENT >::EntryFlowProblem(), HeatedCircularPenetratorElement::fill_in_contribution_to_residuals(), oomph::NonlinearSurfaceContactElement< ELEMENT >::fill_in_contribution_to_residuals_surface_contact(), oomph::LinearSurfaceContactElement< ELEMENT >::fill_in_contribution_to_residuals_surface_contact(), oomph::HeatedLinearSurfaceContactElement< ELEMENT >::fill_in_contribution_to_residuals_surface_contact(), DependentPositionPointElement::fill_in_generic_contribution_to_residuals_match_position(), SlavePositionPointElement::fill_in_generic_contribution_to_residuals_match_position(), oomph::FourierDecomposedHelmholtzDtNBoundaryElement< ELEMENT >::fill_in_generic_residual_contribution_fourier_decomposed_helmholtz_DtN_bc(), oomph::NavierStokesElementWithSingularity< BASIC_NAVIER_STOKES_ELEMENT >::fill_in_generic_residual_contribution_wrapped_nst(), GlobalParameters::find_node_on_centerline(), FlatPlateMesh< ELEMENT >::FlatPlateMesh(), FluidTriangleMesh< ELEMENT >::FluidTriangleMesh(), for(), FourierDecomposedTimeHarmonicLinearElasticityProblem< ELEMENT >::FourierDecomposedTimeHarmonicLinearElasticityProblem(), FpTestProblem::FpTestProblem(), FreeSurfaceRotationProblem< ELEMENT >::FreeSurfaceRotationProblem(), FSIChannelWithLeafletProblem< ELEMENT >::FSIChannelWithLeafletProblem(), oomph::FSIDrivenCavityMesh< ELEMENT >::FSIDrivenCavityMesh(), oomph::FullCircleMesh< ELEMENT >::FullCircleMesh(), RefineableModalPoissonEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::AxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianAxisymmetricNavierStokesEquations::get_dresidual_dnodal_coordinates(), oomph::GeneralisedNewtonianNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableGeneralisedNewtonianNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::FiniteElement::get_dresidual_dnodal_coordinates(), oomph::RefineableElement::get_dresidual_dnodal_coordinates(), oomph::NavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::SpaceTimeNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::RefineableSpaceTimeNavierStokesEquations< DIM >::get_dresidual_dnodal_coordinates(), oomph::Z2ErrorEstimator::get_element_errors(), oomph::DummyErrorEstimator::get_element_errors(), ThreeDimBethertonProblem< ELEMENT >::get_lambda(), SCoupling< M, O >::getSCoupledElements(), hanging_pt(), ElasticTriangleMesh< ELEMENT >::identify_boundaries(), MyCanyonMesh< ELEMENT, INTERFACE_ELEMENT >::init_spine_height(), MyTipMesh< ELEMENT, INTERFACE_ELEMENT >::init_spine_height(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::interface_min_max(), Global_Parameters::is_on_fsi_boundary(), oomph::SolubleSurfactantTransportInterfaceElement::l2_norm_of_height(), TwoDDGProblem< ELEMENT >::limit(), main(), WallMesh< ELEMENT >::max_deformation(), oomph::HelmholtzMGPreconditioner< DIM >::maximum_edge_width(), WallMesh< ELEMENT >::min_deformation(), ThreeDimBethertonProblem< ELEMENT >::multiply_aspect_ratio(), oomph::MyProblem::my_set_initial_condition(), MySolidTriangleMesh< ELEMENT >::MySolidTriangleMesh(), NodeReordering::node_global_position_comparison(), oomph::NodeOrdering::node_global_position_comparison(), oomph::AlgebraicMesh::node_update(), oomph::Mesh::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::node_update_central_region(), oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_I(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_I(), oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_II(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_II(), oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_III(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_III(), oomph::AlgebraicFishMesh< ELEMENT >::node_update_in_body(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::node_update_in_central_box(), oomph::AlgebraicFishMesh< ELEMENT >::node_update_in_fin(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::node_update_in_lower_right_box(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::node_update_in_upper_left_box(), oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::node_update_IV(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_IV(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_IX(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::node_update_lower_right_region(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::node_update_upper_left_region(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_V(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_VI(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_VII(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::node_update_VIII(), oomph::RefineableQElement< 3 >::oc_hang_helper(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::oc_hang_helper(), OneDimMesh< ELEMENT >::OneDimMesh(), FiniteElementComp::operator()(), ElementCmp::operator()(), CompareNodes::operator()(), CompareNodeCoordinatesX::operator()(), CompareNodeCoordinatesY::operator()(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::operator()(), oomph::LinearElasticitySmoothMesh< LINEAR_ELASTICITY_ELEMENT >::operator()(), oomph::PoissonSmoothMesh< POISSON_ELEMENT >::operator()(), oomph::DummyFaceElement< ELEMENT >::output(), output(), oomph::TriangleMesh< FLUID_ELEMENT >::output_boundary_coordinates(), oomph::TriangleMesh< ELEMENT >::output_boundary_coordinates(), oomph::FSIAxisymFoepplvonKarmanElement< NNODE_1D, FLUID_ELEMENT >::output_integration_points(), oomph::MyProblem::output_ltes(), PolarNSProblem< ELEMENT >::output_streamfunction(), oomph::TreeBasedRefineableMeshBase::p_adapt_mesh(), oomph::PRefineableQElement< 1, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::p_refine(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::p_refine(), oomph::Tree::p_refine_if_required(), ElasticBeamProblem::parameter_study(), PeriodicLoadProblem< ELEMENT >::PeriodicLoadProblem(), oomph::FpPressureAdvectionDiffusionProblem< ELEMENT >::pin_all_non_pressure_dofs(), oomph::MGSolver< DIM >::plot(), oomph::PMLQuadMeshBase< ELEMENT >::pml_locate_zeta(), MortaringHelpers::PointElementWithExternalElement::PointElementWithExternalElement(), position(), oomph::FSIAxisymFoepplvonKarmanElement< NNODE_1D, FLUID_ELEMENT >::position(), print_connectivity_matrix(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), PseudoElasticCollapsibleChannelProblem< FLUID_ELEMENT, SOLID_ELEMENT >::PseudoElasticCollapsibleChannelProblem(), oomph::RefineableQElement< 2 >::quad_hang_helper(), oomph::QuarterPipeMesh< ELEMENT >::QuarterPipeMesh(), oomph::QuarterTubeMesh< ELEMENT >::QuarterTubeMesh(), oomph::FiniteElement::raw_nodal_position(), oomph::Data::read(), BrethertonElement< ELEMENT >::reassign_inflow(), oomph::PRefineableQElement< 2, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::PRefineableQElement< 3, INITIAL_NNODE_1D >::rebuild_from_sons(), oomph::TreeBasedRefineableMeshBase::refine_as_in_reference_mesh(), CollapsibleChannelProblem< ELEMENT >::refine_elements_based_on_x_coord(), RefineableElasticCubicMesh< ELEMENT >::RefineableElasticCubicMesh(), RefineableFishPoissonProblem< ELEMENT >::RefineableFishPoissonProblem(), RefineablePeriodicLoadProblem< ELEMENT >::RefineablePeriodicLoadProblem(), oomph::RefineableSolidCubicMesh< ELEMENT >::RefineableSolidCubicMesh(), RefineableYoungLaplaceProblem< ELEMENT >::RefineableYoungLaplaceProblem(), oomph::NonLinearElasticitySmoothMesh< ELEMENT >::reset(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::rotate_90(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::rotate_90_zeq1_xeq0(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::rotate_90_zeq1_yeq0(), run_navier_stokes_outflow(), oomph::TAxisymmetricPoroelasticityElement< ORDER >::scale_basis(), oomph::TRaviartThomasDarcyElement< ORDER >::scale_basis(), oomph::TPoroelasticityElement< ORDER >::scale_basis(), oomph::Mesh::scale_mesh(), oomph::AlgebraicNode::self_test(), AxisymmetricLinearElasticityProblem< ELEMENT, TIMESTEPPER >::set_boundary_conditions(), UnstructuredFluidProblem< ELEMENT >::set_boundary_conditions(), RefineableSphericalCouetteProblem< ELEMENT >::set_boundary_conditions(), RefineableSphericalSpinUpProblem< ELEMENT >::set_boundary_conditions(), SphericalSpinUpProblem< ELEMENT >::set_boundary_conditions(), ConvectionProblem< NST_ELEMENT, AD_ELEMENT >::set_boundary_conditions(), DDConvectionProblem< NST_ELEMENT, AD_ELEMENT >::set_boundary_conditions(), RefineableDDConvectionProblem< NST_ELEMENT, AD_ELEMENT >::set_boundary_conditions(), RefineableSphereConvectionProblem< ELEMENT >::set_boundary_conditions(), UnstructuredImmersedEllipseProblem< ELEMENT >::set_boundary_velocity(), RefineableAdvectionDiffusionPipeProblem< ELEMENT >::set_initial_condition(), LinearWaveProblem< ELEMENT, TIMESTEPPER >::set_initial_condition(), RefineableOneDAdvectionDiffusionReactionProblem< ELEMENT >::set_initial_condition(), RefineableActivatorInhibitorProblem< ELEMENT >::set_initial_condition(), AxisymmetricLinearElasticityProblem< ELEMENT, TIMESTEPPER >::set_initial_conditions(), AdvectionProblem::set_initial_conditions(), RefineableAdvectionDiffusionPipeProblem< ELEMENT >::set_inlet_concentration(), SolidFreeSurfaceRotationProblem< ELEMENT >::set_positions_from_lagrangian_coordinates(), oomph::MGSolver< DIM >::set_self_test_vector(), oomph::MyAlgebraicCollapsibleChannelMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicChannelWithLeafletMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicCollapsibleChannelMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicFSIDrivenCavityMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterCircleSectorMesh< ELEMENT >::setup_algebraic_node_update(), oomph::AlgebraicRefineableQuarterTubeMesh< ELEMENT >::setup_algebraic_node_update(), oomph::TetMeshBase::setup_boundary_coordinates(), oomph::XdaTetMesh< ELEMENT >::setup_boundary_coordinates(), oomph::UnstructuredTwoDMeshGeometryBase::setup_boundary_coordinates(), oomph::FourierDecomposedHelmholtzDtNMesh< ELEMENT >::setup_gamma(), oomph::HelmholtzDtNMesh< ELEMENT >::setup_gamma(), SolarRadiationProblem< ELEMENT >::setup_shielding_nodes(), SheetGlueProblem< ELEMENT >::SheetGlueProblem(), ShellMesh< ELEMENT >::ShellMesh(), oomph::SimpleCubicScaffoldTetMesh::SimpleCubicScaffoldTetMesh(), oomph::SlopingQuadMesh< ELEMENT >::SlopingQuadMesh(), oomph::RefineableTetgenMesh< ELEMENT >::snap_nodes_onto_boundary(), oomph::TetMeshBase::snap_nodes_onto_geometric_objects(), oomph::UnstructuredTwoDMeshGeometryBase::snap_nodes_onto_geometric_objects(), FallingBlockProblem< ELEMENT >::snap_onto_sphere(), RisingBubbleProblem< ELEMENT >::snap_onto_sphere(), oomph::TetMeshBase::snap_to_quadratic_surface(), ABCProblem< ELEMENT, TIMESTEPPERT >::solve(), RefineableRotatingCylinderProblem< ELEMENT >::solve(), solve_with_selected_refinement_pattern(), oomph::TwoDimensionalPMLHelper::sorter_bottom_boundary(), oomph::TwoDimensionalPMLHelper::sorter_left_boundary(), oomph::TwoDimensionalPMLHelper::sorter_right_boundary(), oomph::TwoDimensionalPMLHelper::sorter_top_boundary(), SphericalSteadyRotationProblem< ELEMENT >::SphericalSteadyRotationProblem(), oomph::AnnularSpineMesh< ELEMENT >::spine_node_update(), oomph::MyHorizontalSingleLayerSpineMesh< ELEMENT >::spine_node_update(), SpineInclinedPlaneMesh< ELEMENT >::spine_node_update(), SimpleSpineMesh< ELEMENT >::spine_node_update(), MyCanyonMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), CombCanSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), CombTipSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), STSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), MyTipMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), AxialSpineQuarterTubeMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), oomph::ChannelSpineMesh< ELEMENT >::spine_node_update(), oomph::HorizontalSingleLayerSpineMesh< ELEMENT >::spine_node_update(), oomph::SingleLayerCubicSpineMesh< ELEMENT >::spine_node_update(), oomph::SingleLayerSpineMesh< ELEMENT >::spine_node_update(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_channel(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_film_lower(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_film_upper(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_horizontal_transition_lower(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_horizontal_transition_upper(), oomph::TwoLayerPerturbedSpineMesh< ELEMENT >::spine_node_update_lower(), oomph::TwoLayerSpineMesh< ELEMENT >::spine_node_update_lower(), oomph::TwoLayerPerturbedSpineMesh< ELEMENT >::spine_node_update_upper(), oomph::TwoLayerSpineMesh< ELEMENT >::spine_node_update_upper(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_lower(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_upper(), oomph::TetMeshBase::split_elements_in_corners(), oomph::Tree::split_if_required(), StefanBoltzmannProblem< ELEMENT >::StefanBoltzmannProblem(), oomph::GeneralisedNewtonianAxisymmetricNavierStokesEquations::strain_rate(), SurfactantProblem< ELEMENT, INTERFACE_ELEMENT >::SurfactantProblem(), ContactProblem< ELEMENT >::switch_to_displ_control(), oomph::BDF< NSTEPS >::temporal_error_in_position(), oomph::TR::temporal_error_in_position(), oomph::SelfStartingBDF2::temporal_error_in_position_bdf2(), oomph::TetMeshVertex::TetMeshVertex(), oomph::ThinLayerBrickOnTetMesh< ELEMENT >::ThinLayerBrickOnTetMesh(), ThreeDimBethertonProblem< ELEMENT >::ThreeDimBethertonProblem(), SphericalSpinUpProblem< ELEMENT >::timestep(), oomph::TubeMesh< ELEMENT >::TubeMesh(), TurekProblem< FLUID_ELEMENT, SOLID_ELEMENT >::TurekProblem(), TwoDDGMesh< ELEMENT >::TwoDDGMesh(), TwoDDGProblem< ELEMENT >::TwoDDGProblem(), ElasticInterfaceProblem< ELEMENT, TIMESTEPPER >::unsteady_run(), UnsteadyHeatProblem< ELEMENT >::UnsteadyHeatProblem(), UnstructuredFSIProblem< FLUID_ELEMENT, SOLID_ELEMENT >::UnstructuredFSIProblem(), oomph::SolarRadiationBase::update_limiting_angles(), MortaringValidationProblem< ELEMENT, NON_MORTAR_ELEMENT >::verify_mortared_nodes_coincide(), VibratingShellProblem< ELEMENT >::VibratingShellProblem(), WallMesh< ELEMENT >::WallMesh(), oomph::WomersleyMesh< WOMERSLEY_ELEMENT >::WomersleyMesh(), oomph::TwoDAnnularMesh< ELEMENT >::wrap_into_annular_shape(), and YoungLaplaceProblem< ELEMENT >::YoungLaplaceProblem().
Return the i-th nodal coordinate (const version).
References i, Nposition_type, x_gen_range_check(), and X_position.
Return the position x(i) at previous timestep t (t=0: present; t>0 previous timestep).
References i, Nposition_type, plotPSD::t, x_gen_range_check(), and X_position.
Return the position x(i) at previous timestep t (t=0: present; t>0 previous timestep) (const version)
References i, Nposition_type, plotPSD::t, x_gen_range_check(), and X_position.
Reference to the generalised position x(k,i). ‘Type’: k; Coordinate direction: i.
References i, k, Nposition_type, x_gen_range_check(), and X_position.
Referenced by oomph::Newmark< 2 >::assign_initial_data_values_stage1(), oomph::SelfStartingBDF2::assign_initial_positions_impulsive(), oomph::Steady< NSTEPS >::assign_initial_positions_impulsive(), oomph::Newmark< NSTEPS >::assign_initial_positions_impulsive(), oomph::BDF< NSTEPS >::assign_initial_positions_impulsive(), oomph::RefineableSolidElement::assign_solid_hanging_local_eqn_numbers(), oomph::SolidFiniteElement::assign_solid_local_eqn_numbers(), dx_gen_dt(), oomph::ClampedHermiteShellBoundaryConditionElement::fill_in_contribution_to_residuals(), oomph::BiharmonicFluidBoundaryElement::fill_in_generic_residual_contribution_biharmonic_boundary(), oomph::SolidFiniteElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::RefineableSolidElement::fill_in_jacobian_from_solid_position_by_fd(), oomph::RefineablePseudoSolidNodeUpdateElement< BASIC, SOLID >::fill_in_shape_derivatives_by_fd(), position_gen(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::project(), oomph::FiniteElement::raw_nodal_position_gen(), oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::restore_positions(), oomph::SolidMesh::set_lagrangian_nodal_coordinates(), oomph::Problem::set_pinned_values_to_zero(), oomph::HermiteQuadMesh< ELEMENT >::set_position_of_node(), oomph::SelfStartingBDF2::shift_time_positions(), oomph::IMRBase::shift_time_positions(), oomph::Steady< NSTEPS >::shift_time_positions(), oomph::NewmarkBDF< NSTEPS >::shift_time_positions(), oomph::BDF< NSTEPS >::shift_time_positions(), oomph::Newmark< 2 >::shift_time_values(), and oomph::ProjectionProblem< PROJECTABLE_ELEMENT >::store_positions().
Reference to the generalised position x(k,i). ‘Type’: k; Coordinate direction: i (const version).
References i, k, Nposition_type, x_gen_range_check(), and X_position.
Reference to the generalised position x(k,i) at the previous timestep [t=0: present]. ‘Type’: k; Coordinate direction: i.
References i, k, Nposition_type, plotPSD::t, x_gen_range_check(), and X_position.
|
inline |
Reference to the generalised position x(k,i) at the previous timestep [t=0: present]. ‘Type’: k; Coordinate direction: i. (const version)
References i, k, Nposition_type, plotPSD::t, x_gen_range_check(), and X_position.
|
protected |
Private function to check that the arguemnts to the position functions are in range
/////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// Private function to check that the arguments are within the range of the stored coordinates, position types and time history values.
References i, k, Ndim, Nposition_type, oomph::TimeStepper::ntstorage(), OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, Position_time_stepper_pt, and plotPSD::t.
Direct access to the pointer to the i-th stored coordinate data.
References i, and X_position.
Direct access to the i-th coordinate at time level t (t=0: present; t>0: previous)
References i, Nposition_type, plotPSD::t, and X_position.
|
friend |
to construct periodic Nodes
|
friend |
Output operator: output location and all values at all times, along with any extra information stored for the timestepper.
Node output operator: output equation numbers and values at all times, along with any extra information stored for the timestepper.
|
protected |
Pointer to auxiliary update function – this can be used to update any nodal values following the update of the nodal position. This is needed e.g. to update the no-slip condition on moving boundaries.
Referenced by has_auxiliary_node_update_fct_pt(), oomph::PerturbedSpineNode::node_update(), oomph::AlgebraicNode::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), oomph::SpineNode::node_update(), perform_auxiliary_node_update_fct(), and set_auxiliary_node_update_fct_pt().
|
protected |
C-style array of pointers to hanging node info. It's set to NULL if the node isn't hanging. The first entry (0) is the geometric hanging node data. The remaining entries correspond to the hanging data for the other values stored at the node. Usually, these entries will be the same as the geometric hanging node data represented by Hanging_pt[0], but this is not necessarily the case; e.g. the pressure in Taylor Hood has different hanging node data from the velocities.
Referenced by hanging_pt(), is_hanging(), resize(), set_hanging_pt(), set_nonhanging(), and ~Node().
|
protected |
Eulerian dimension of the node.
Referenced by copy(), dump(), ndim(), read(), oomph::SolidNode::SolidNode(), and x_gen_range_check().
|
static |
Static "Magic number" used to indicate that there is no independent position in a periodic node.
Static "Magic number" passed as independent_position when there is no independent position in the periodic node. For example, in a periodic mesh.
|
protected |
Number of coordinate types used in the mapping between local and global coordinates (e.g. 1 for Lagrange-type elements; 2 for 1D Hermite elements; 4 for 2D Hermite elements, etc).
Referenced by copy(), dump(), nposition_type(), oomph::SolidNode::pin_position(), oomph::SolidNode::position_eqn_number(), oomph::SolidNode::position_is_a_copy(), oomph::SolidNode::position_is_pinned(), read(), oomph::SolidNode::SolidNode(), oomph::SolidNode::unpin_position(), x(), x_gen(), x_gen_range_check(), and x_pt().
|
protected |
Flag to indicate that the Node has become obsolete — usually during mesh refinement process
Referenced by is_obsolete(), set_non_obsolete(), and set_obsolete().
|
protected |
Pointer to the timestepper associated with the position data.
Referenced by copy(), dposition_dt(), dposition_gen_dt(), dump(), dx_dt(), dx_gen_dt(), Node(), oomph::AlgebraicNode::node_update(), oomph::MacroElementNodeUpdateNode::node_update(), position_time_stepper_pt(), read(), set_position_time_stepper(), oomph::SolidNode::set_position_time_stepper(), and x_gen_range_check().
|
protected |
Array of pointers to the data holding the Eulerian positions. The storage format must be the same as the internal data storage so that we can implement the functions x() in generality here without the need for virtual functions. The first index will be a flat array of position types and coordinates and the second will be the number of time history values at each position type.
Referenced by copy(), dump(), Node(), read(), oomph::SolidNode::set_external_variable_position_pt(), set_position_time_stepper(), oomph::SolidNode::set_position_time_stepper(), oomph::SolidNode::SolidNode(), x(), x_gen(), x_position_pt(), x_pt(), ~Node(), and oomph::SolidNode::~SolidNode().