Spines are used for algebraic node update operations in free-surface fluid problems: They form the back-bones along which nodes in a a free-surface mesh are located. Typically, the free surface is located at the "end" of the spine; the nodes in the interior of the mesh are located at fixed fractions along the spine. The key Data member of the Spine object is its "height" – usually an unknown in the problem – which is used by the SpineNode's node update function to update the SpineNode's position. More...
#include <spines.h>
Public Member Functions | |
Spine () | |
Default constructor: Create the Spine and initialise its height to zero. More... | |
Spine (const double &height) | |
Constructor: Create the Spine and initialise its height to the specified value. More... | |
Spine (const double &height, const Vector< Data * > &geom_data_pt) | |
Constructor: Create the Spine and initialise its height to the specified value. Store the vector of (pointers to) the additional geometric Data that is required during the node update operation for this Spine. More... | |
Spine (const double &height, const Vector< Data * > &geom_data_pt, const Vector< GeomObject * > &geom_object_pt) | |
Constructor: Create the Spine and initialise its height to the specified value. Store the vector of (pointers to) the additional geometric Data that is required during the node update operation; also store vector of (pointers to) GeomObjects that is required during the node update operation for this Spine. More... | |
~Spine () | |
Destructor: Wipe Data object that stores the Spine height. All other objects (geometric Data and geometric objects) were created outside the Spine and must be deleted there. More... | |
double & | height () |
Access function to spine height. More... | |
Data *& | spine_height_pt () |
Access function to Data object that stores the spine height. More... | |
Data * | spine_height_pt () const |
Access function to Data object that stores the spine height (const version) More... | |
unsigned | ngeom_data () |
Number of geometric Data that is involved in the node update operations for this Spine. More... | |
void | set_geom_data_pt (const Vector< Data * > &geom_data_pt) |
Set vector of (pointers to) geometric Data that is involved in the node update operations for this Spine. Wipes any previously existing geometric Data. More... | |
void | add_geom_data_pt (Data *geom_data_pt) |
Add (pointer to) geometric Data that is involved in the node update operations for this Spine. More... | |
Data *& | geom_data_pt (const unsigned &i) |
Return i-th geometric Data that is involved in the node update operations for this Spine. More... | |
Data * | geom_data_pt (const unsigned &i) const |
Return i-th geometric Data that is involved in the node update operations for this Spine. Const version. More... | |
Vector< Data * > & | vector_geom_data_pt () |
Return the vector of geometric data. More... | |
unsigned | ngeom_object () |
Number of geometric objects that is involved in the node update operations for this Spine. More... | |
void | set_geom_object_pt (const Vector< GeomObject * > &geom_object_pt) |
Set vector of (pointers to) geometric objects that is involved in the node update operations for this Spine. More... | |
void | add_geom_object_pt (GeomObject *geom_object_pt) |
Add (pointer to) geometric object that is involved in the node update operations for this Spine. More... | |
GeomObject *& | geom_object_pt (const unsigned &i) |
Return i-th geometric object that is involved in the node update operations for this Spine. More... | |
GeomObject * | geom_object_pt (const unsigned &i) const |
Return i-th geometric object that is involved in the node update operations for this Spine. Const version. More... | |
Vector< GeomObject * > & | vector_geom_object_pt () |
Return the vector of all geometric objects that affect this spine. More... | |
unsigned | ngeom_parameter () |
Number of geometric parameters that are involved in the node update operations for this Spine. More... | |
void | set_geom_parameter (const Vector< double > &geom_parameter) |
Set vector of geometric parameters that are involved in the node update operations for this Spine. Wipes any previously existing geometric parameters. More... | |
void | add_geom_parameter (const double &geom_parameter) |
Add geometric parameter involved in the node update operations for this Spine. More... | |
double & | geom_parameter (const unsigned &i) |
Return i-th geometric parameter that is involved in the node update operations for this Spine. More... | |
const double & | geom_parameter (const unsigned &i) const |
Return i-th geometric parameter that is involved in the node update operations for this Spine. Const version. More... | |
Private Attributes | |
Vector< Data * > | Geom_data_pt |
Data that stores the spine height. More... | |
Vector< GeomObject * > | Geom_object_pt |
Vector that stores the pointers to geometric objects that is involved in the node update operation. More... | |
Vector< double > | Geom_parameter |
Vector that stores doubles that are used in the geometric updates. More... | |
Spines are used for algebraic node update operations in free-surface fluid problems: They form the back-bones along which nodes in a a free-surface mesh are located. Typically, the free surface is located at the "end" of the spine; the nodes in the interior of the mesh are located at fixed fractions along the spine. The key Data member of the Spine object is its "height" – usually an unknown in the problem – which is used by the SpineNode's node update function to update the SpineNode's position.
In more complex problems (such as the case where a fluid layer is deposited on an elastic body), the node update function can depend on additional information, such as the GeomObject representation of the elastic body, and additional Data objects wich specify the position on the GeomObject from which the Spine emanates. The Spine class therefore provides storage for pointers to GeomObjects and storage for any additional geometric Data that may be required during node update operations.
|
inline |
Default constructor: Create the Spine and initialise its height to zero.
Definition at line 68 of file spines.h.
References Geom_data_pt.
|
inline |
Constructor: Create the Spine and initialise its height to the specified value.
Definition at line 77 of file spines.h.
References Geom_data_pt, and height().
Constructor: Create the Spine and initialise its height to the specified value. Store the vector of (pointers to) the additional geometric Data that is required during the node update operation for this Spine.
Definition at line 90 of file spines.h.
References geom_data_pt(), Geom_data_pt, height(), and i.
|
inline |
Constructor: Create the Spine and initialise its height to the specified value. Store the vector of (pointers to) the additional geometric Data that is required during the node update operation; also store vector of (pointers to) GeomObjects that is required during the node update operation for this Spine.
Definition at line 115 of file spines.h.
References geom_data_pt(), Geom_data_pt, height(), and i.
|
inline |
|
inline |
Add (pointer to) geometric Data that is involved in the node update operations for this Spine.
Definition at line 191 of file spines.h.
References geom_data_pt(), and Geom_data_pt.
|
inline |
Add (pointer to) geometric object that is involved in the node update operations for this Spine.
Definition at line 237 of file spines.h.
References geom_object_pt(), and Geom_object_pt.
|
inline |
Add geometric parameter involved in the node update operations for this Spine.
Definition at line 280 of file spines.h.
References geom_parameter(), and Geom_parameter.
|
inline |
Return i-th geometric Data that is involved in the node update operations for this Spine.
Definition at line 198 of file spines.h.
References Geom_data_pt, and i.
Referenced by add_geom_data_pt(), oomph::SpineNode::all_geom_data_pt(), set_geom_data_pt(), and Spine().
|
inline |
|
inline |
Return i-th geometric object that is involved in the node update operations for this Spine.
Definition at line 244 of file spines.h.
References Geom_object_pt, and i.
Referenced by add_geom_object_pt(), oomph::SpineNode::all_geom_object_pt(), set_geom_object_pt(), oomph::ChannelSpineMesh< 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::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_lower(), and oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_upper().
|
inline |
Return i-th geometric object that is involved in the node update operations for this Spine. Const version.
Definition at line 251 of file spines.h.
References Geom_object_pt, and i.
|
inline |
Return i-th geometric parameter that is involved in the node update operations for this Spine.
Definition at line 287 of file spines.h.
References Geom_parameter, and i.
Referenced by add_geom_parameter(), set_geom_parameter(), oomph::ChannelSpineMesh< 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::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_lower(), and oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_upper().
|
inline |
Return i-th geometric parameter that is involved in the node update operations for this Spine. Const version.
Definition at line 294 of file spines.h.
References Geom_parameter, and i.
|
inline |
Access function to spine height.
Definition at line 150 of file spines.h.
References Geom_data_pt.
Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), oomph::SpineNode::h(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), and Spine().
|
inline |
Number of geometric Data that is involved in the node update operations for this Spine.
Definition at line 171 of file spines.h.
References Geom_data_pt.
Referenced by oomph::SpineNode::ngeom_data().
|
inline |
Number of geometric objects that is involved in the node update operations for this Spine.
Definition at line 218 of file spines.h.
References Geom_object_pt.
Referenced by oomph::SpineNode::ngeom_object().
|
inline |
Number of geometric parameters that are involved in the node update operations for this Spine.
Definition at line 265 of file spines.h.
References Geom_parameter.
Set vector of (pointers to) geometric Data that is involved in the node update operations for this Spine. Wipes any previously existing geometric Data.
Definition at line 179 of file spines.h.
References geom_data_pt(), Geom_data_pt, and i.
|
inline |
Set vector of (pointers to) geometric objects that is involved in the node update operations for this Spine.
Definition at line 225 of file spines.h.
References geom_object_pt(), Geom_object_pt, and i.
Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), and oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines().
|
inline |
Set vector of geometric parameters that are involved in the node update operations for this Spine. Wipes any previously existing geometric parameters.
Definition at line 273 of file spines.h.
References geom_parameter(), and Geom_parameter.
Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), and oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines().
|
inline |
Access function to Data object that stores the spine height.
Definition at line 156 of file spines.h.
References Geom_data_pt.
Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), oomph::SpineElement< ELEMENT >::complete_setup_of_dependencies(), oomph::SpineMesh::dump(), oomph::Hijacked< ELEMENT >::hijack_nodal_spine_value(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::pin_all_spines(), and oomph::SpineMesh::read().
|
inline |
Access function to Data object that stores the spine height (const version)
Definition at line 163 of file spines.h.
References Geom_data_pt.
Return the vector of geometric data.
Definition at line 211 of file spines.h.
References Geom_data_pt.
|
inline |
Return the vector of all geometric objects that affect this spine.
Definition at line 258 of file spines.h.
References Geom_object_pt.
Data that stores the spine height.
Vector that stores the pointers to additional geometric Data
Definition at line 305 of file spines.h.
Referenced by add_geom_data_pt(), geom_data_pt(), height(), ngeom_data(), set_geom_data_pt(), Spine(), spine_height_pt(), vector_geom_data_pt(), and ~Spine().
|
private |
Vector that stores the pointers to geometric objects that is involved in the node update operation.
Definition at line 309 of file spines.h.
Referenced by add_geom_object_pt(), geom_object_pt(), ngeom_object(), set_geom_object_pt(), and vector_geom_object_pt().
|
private |
Vector that stores doubles that are used in the geometric updates.
Definition at line 312 of file spines.h.
Referenced by add_geom_parameter(), geom_parameter(), ngeom_parameter(), and set_geom_parameter().