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

 


Beta release!

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

oomph-lib AT maths DOT man DOT ac DOT uk

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

oomph::SpineNode Class Reference

#include <spines.h>

Inheritance diagram for oomph::SpineNode:

oomph::Node oomph::Data List of all members.

Detailed Description

Class for nodes that live on spines. The assumption is that each Node lies at a fixed fraction on a single spine (although more complex behaviour could be included by adding more variables to the spine). In general, more complex node updating should be handled by the classes implemented for algebraic node updates.

Definition at line 305 of file spines.h.


Public Member Functions

 SpineNode (const unsigned &n_dim, const unsigned &n_position_type, const unsigned &initial_nvalue)
 Steady Constructor, initialise pointers to zero.
 SpineNode (TimeStepper *const &time_stepper_pt, const unsigned &n_dim, const unsigned &n_position_type, const unsigned &initial_nvalue)
 Unsteady Constructor, initialise pointers to zero.
Spine *& spine_pt ()
 Access function to spine.
double & fraction ()
 Set reference to fraction along spine.
unsigned & node_update_fct_id ()
 Access function to ID of node update function (within specific mesh).
SpineMesh *& spine_mesh_pt ()
 Access function to Pointer to SpineMesh that this node is a part of and which implements the node update function(s).
double & h ()
 Access function to spine height.
void node_update (const bool &update_all_time_levels_for_new_node=false)
 Update function, call the update function in the Node's SpineMesh.
unsigned ngeom_data () const
 Return the number of geometric data, zero if no spine.
unsigned ngeom_object () const
 Return the number of geometric objects, zero if no spine.
Data ** all_geom_data_pt ()
 Return the vector of all geometric data.
GeomObject ** all_geom_object_pt ()
 Return the vector of all geometric objects.

Private Attributes

SpineSpine_pt
 Private internal data pointer to a spine.
double Fraction
 Private double that represents the fixed fraction along the spine.
SpineMeshSpine_mesh_pt
 Pointer to SpineMesh that this node is a part of. (The mesh implements the node update function(s)).
unsigned Node_update_fct_id

Constructor & Destructor Documentation

oomph::SpineNode::SpineNode ( const unsigned &  n_dim,
const unsigned &  n_position_type,
const unsigned &  initial_nvalue 
) [inline]

Steady Constructor, initialise pointers to zero.

Definition at line 330 of file spines.h.

oomph::SpineNode::SpineNode ( TimeStepper *const &  time_stepper_pt,
const unsigned &  n_dim,
const unsigned &  n_position_type,
const unsigned &  initial_nvalue 
) [inline]

Unsteady Constructor, initialise pointers to zero.

Definition at line 336 of file spines.h.


Member Function Documentation

Data** oomph::SpineNode::all_geom_data_pt (  )  [inline, virtual]

Return the vector of all geometric data.

Reimplemented from oomph::Node.

Definition at line 378 of file spines.h.

References oomph::Spine::geom_data_pt(), and Spine_pt.

GeomObject** oomph::SpineNode::all_geom_object_pt (  )  [inline, virtual]

Return the vector of all geometric objects.

Reimplemented from oomph::Node.

Definition at line 382 of file spines.h.

References oomph::Spine::geom_object_pt(), and Spine_pt.

double& oomph::SpineNode::fraction (  )  [inline]

Set reference to fraction along spine.

Definition at line 346 of file spines.h.

References Fraction.

Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), oomph::SingleLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), oomph::SingleLayerCubicSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_two_layer_mesh(), oomph::SingleLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), oomph::SingleLayerCubicSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), 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::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_lower(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_upper(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_lower(), and oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_upper().

double& oomph::SpineNode::h (  )  [inline]

Access function to spine height.

Definition at line 359 of file spines.h.

References oomph::Spine::height(), and Spine_pt.

Referenced by oomph::SingleLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), oomph::SingleLayerCubicSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), 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::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_lower(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_upper(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_lower(), and oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update_vertical_transition_upper().

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

Return the number of geometric data, zero if no spine.

Reimplemented from oomph::Node.

Definition at line 366 of file spines.h.

References oomph::Spine::ngeom_data(), and Spine_pt.

unsigned oomph::SpineNode::ngeom_object (  )  const [inline, virtual]

Return the number of geometric objects, zero if no spine.

Reimplemented from oomph::Node.

Definition at line 372 of file spines.h.

References oomph::Spine::ngeom_object(), and Spine_pt.

void oomph::SpineNode::node_update ( const bool &  update_all_time_levels_for_new_node = false  )  [virtual]

Update function, call the update function in the Node's SpineMesh.

Overload thet node update function, call the update function in the Node's SpineMesh

Reimplemented from oomph::Node.

Definition at line 48 of file spines.cc.

References oomph::Node::Aux_node_update_fct_pt, Spine_mesh_pt, and oomph::SpineMesh::spine_node_update().

unsigned& oomph::SpineNode::node_update_fct_id (  )  [inline]

Access function to ID of node update function (within specific mesh).

Definition at line 349 of file spines.h.

References Node_update_fct_id.

Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_two_layer_mesh(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update(), and oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::spine_node_update().

SpineMesh*& oomph::SpineNode::spine_mesh_pt (  )  [inline]

Access function to Pointer to SpineMesh that this node is a part of and which implements the node update function(s).

Definition at line 353 of file spines.h.

References Spine_mesh_pt.

Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), oomph::SingleLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), oomph::SingleLayerCubicSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), and oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_two_layer_mesh().

Spine* & oomph::SpineNode::spine_pt (  )  [inline]

Access function to spine.

Definition at line 343 of file spines.h.

References Spine_pt.

Referenced by oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::BrethertonSpineMesh(), oomph::ChannelSpineMesh< ELEMENT >::build_channel_spine_mesh(), oomph::SingleLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), oomph::SingleLayerCubicSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_single_layer_mesh(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_two_layer_mesh(), oomph::Hijacked< oomph::SpineElement< oomph::FaceGeometry< oomph::FaceGeometry< ELEMENT > > > >::hijack_nodal_spine_value(), oomph::BrethertonSpineMesh< ELEMENT, INTERFACE_ELEMENT >::reposition_spines(), 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().


Member Data Documentation

double oomph::SpineNode::Fraction [private]

Private double that represents the fixed fraction along the spine.

Definition at line 315 of file spines.h.

Referenced by fraction().

unsigned oomph::SpineNode::Node_update_fct_id [private]

ID of node update function (within specific mesh -- useful if there are multiple node update functions, e.g. in two-layer problems.

Definition at line 323 of file spines.h.

Referenced by node_update_fct_id().

SpineMesh* oomph::SpineNode::Spine_mesh_pt [private]

Pointer to SpineMesh that this node is a part of. (The mesh implements the node update function(s)).

Definition at line 319 of file spines.h.

Referenced by node_update(), and spine_mesh_pt().

Spine* oomph::SpineNode::Spine_pt [private]

Private internal data pointer to a spine.

Definition at line 312 of file spines.h.

Referenced by all_geom_data_pt(), all_geom_object_pt(), h(), ngeom_data(), ngeom_object(), and spine_pt().


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