Public Member Functions | Private Attributes | List of all members
oomph::Spine Class Reference

#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...
 
Dataspine_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...
 
Datageom_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...
 
GeomObjectgeom_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...
 

Detailed Description

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.

Definition at line 69 of file spines.h.

Constructor & Destructor Documentation

◆ Spine() [1/4]

oomph::Spine::Spine ( )
inline

Default constructor: Create the Spine and initialise its height to zero.

Definition at line 76 of file spines.h.

References Geom_data_pt.

◆ Spine() [2/4]

oomph::Spine::Spine ( const double &  height)
inline

Constructor: Create the Spine and initialise its height to the specified value.

Definition at line 85 of file spines.h.

References Geom_data_pt.

◆ Spine() [3/4]

oomph::Spine::Spine ( const double &  height,
const Vector< Data *> &  geom_data_pt 
)
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 for this Spine.

Definition at line 98 of file spines.h.

References Geom_data_pt, and i.

◆ Spine() [4/4]

oomph::Spine::Spine ( const double &  height,
const Vector< Data *> &  geom_data_pt,
const Vector< GeomObject *> &  geom_object_pt 
)
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 123 of file spines.h.

References Geom_data_pt, and i.

◆ ~Spine()

oomph::Spine::~Spine ( )
inline

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.

Definition at line 150 of file spines.h.

References Geom_data_pt.

Member Function Documentation

◆ add_geom_data_pt()

void oomph::Spine::add_geom_data_pt ( Data geom_data_pt)
inline

Add (pointer to) geometric Data that is involved in the node update operations for this Spine.

Definition at line 196 of file spines.h.

References Geom_data_pt.

◆ add_geom_object_pt()

void oomph::Spine::add_geom_object_pt ( GeomObject geom_object_pt)
inline

Add (pointer to) geometric object that is involved in the node update operations for this Spine.

Definition at line 230 of file spines.h.

References Geom_object_pt.

◆ add_geom_parameter()

void oomph::Spine::add_geom_parameter ( const double &  geom_parameter)
inline

Add geometric parameter involved in the node update operations for this Spine.

Definition at line 262 of file spines.h.

References Geom_parameter.

◆ geom_data_pt() [1/2]

Data*& oomph::Spine::geom_data_pt ( const unsigned &  i)
inline

Return i-th geometric Data that is involved in the node update operations for this Spine.

Definition at line 203 of file spines.h.

References Geom_data_pt, and i.

Referenced by oomph::SpineNode::all_geom_data_pt().

◆ geom_data_pt() [2/2]

Data* oomph::Spine::geom_data_pt ( const unsigned &  i) const
inline

Return i-th geometric Data that is involved in the node update operations for this Spine. Const version.

Definition at line 207 of file spines.h.

References Geom_data_pt, and i.

◆ geom_object_pt() [1/2]

GeomObject*& oomph::Spine::geom_object_pt ( const unsigned &  i)
inline

◆ geom_object_pt() [2/2]

GeomObject* oomph::Spine::geom_object_pt ( const unsigned &  i) const
inline

Return i-th geometric object that is involved in the node update operations for this Spine. Const version.

Definition at line 241 of file spines.h.

References Geom_object_pt, and i.

◆ geom_parameter() [1/2]

double& oomph::Spine::geom_parameter ( const unsigned &  i)
inline

◆ geom_parameter() [2/2]

const double& oomph::Spine::geom_parameter ( const unsigned &  i) const
inline

Return i-th geometric parameter that is involved in the node update operations for this Spine. Const version.

Definition at line 272 of file spines.h.

References Geom_parameter, and i.

◆ height()

double& oomph::Spine::height ( )
inline

◆ ngeom_data()

unsigned oomph::Spine::ngeom_data ( )
inline

Number of geometric Data that is involved in the node update operations for this Spine.

Definition at line 179 of file spines.h.

References Geom_data_pt.

Referenced by oomph::SpineElement< FaceGeometry< ELEMENT > >::complete_setup_of_dependencies(), oomph::SpineNode::ngeom_data(), and oomph::SpineElement< FaceGeometry< ELEMENT > >::spine_local_eqn().

◆ ngeom_object()

unsigned oomph::Spine::ngeom_object ( )
inline

Number of geometric objects that is involved in the node update operations for this Spine.

Definition at line 214 of file spines.h.

References Geom_object_pt.

Referenced by oomph::SpineNode::ngeom_object().

◆ ngeom_parameter()

unsigned oomph::Spine::ngeom_parameter ( )
inline

Number of geometric parameters that are involved in the node update operations for this Spine.

Definition at line 252 of file spines.h.

References Geom_parameter.

◆ set_geom_data_pt()

void oomph::Spine::set_geom_data_pt ( const Vector< Data *> &  geom_data_pt)
inline

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 184 of file spines.h.

References Geom_data_pt, and i.

◆ set_geom_object_pt()

void oomph::Spine::set_geom_object_pt ( const Vector< GeomObject *> &  geom_object_pt)
inline

Set vector of (pointers to) 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, 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().

◆ set_geom_parameter()

void oomph::Spine::set_geom_parameter ( const Vector< double > &  geom_parameter)
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 257 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().

◆ spine_height_pt() [1/2]

Data*& oomph::Spine::spine_height_pt ( )
inline

◆ spine_height_pt() [2/2]

Data* oomph::Spine::spine_height_pt ( ) const
inline

Access function to Data object that stores the spine height (const version)

Definition at line 171 of file spines.h.

References Geom_data_pt.

◆ vector_geom_data_pt()

Vector<Data*>& oomph::Spine::vector_geom_data_pt ( )
inline

Return the vector of geometric data.

Definition at line 210 of file spines.h.

References Geom_data_pt.

◆ vector_geom_object_pt()

Vector<GeomObject*>& oomph::Spine::vector_geom_object_pt ( )
inline

Return the vector of all geometric objects that affect this spine.

Definition at line 248 of file spines.h.

References Geom_object_pt.

Member Data Documentation

◆ Geom_data_pt

Vector<Data*> oomph::Spine::Geom_data_pt
private

◆ Geom_object_pt

Vector<GeomObject*> oomph::Spine::Geom_object_pt
private

Vector that stores the pointers to geometric objects that is involved in the node update operation.

Definition at line 286 of file spines.h.

Referenced by add_geom_object_pt(), geom_object_pt(), ngeom_object(), set_geom_object_pt(), and vector_geom_object_pt().

◆ Geom_parameter

Vector<double> oomph::Spine::Geom_parameter
private

Vector that stores doubles that are used in the geometric updates.

Definition at line 289 of file spines.h.

Referenced by add_geom_parameter(), geom_parameter(), ngeom_parameter(), and set_geom_parameter().


The documentation for this class was generated from the following file: