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::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT > Class Template Reference

#include <two_layer_spine_mesh.template.h>

Inheritance diagram for oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >:

oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT > oomph::RectangularQuadMesh< ELEMENT > oomph::SpineMesh oomph::QuadMeshBase oomph::Mesh oomph::Mesh List of all members.

Detailed Description

template<class ELEMENT, class INTERFACE_ELEMENT>
class oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >

Axisymmetric-Two-layer spine mesh class derived from standard Two-Layer spine mesh. This creates a finer mesh around boundaries 0, 1 and 2 (bottom, right and top) and also around the interface. This mesh was designed for use with the spin-up and spin-over problems in an axisymmetric domain. Using the same spacing fractions in the both the upper and lower fluids.

Definition at line 247 of file two_layer_spine_mesh.template.h.


Public Member Functions

 Axisym2x6TwoLayerSpineMesh (const unsigned &nxa, const unsigned &nxb, const unsigned &nya1, const unsigned &nyb1, const unsigned &nyc1, const unsigned &nya2, const unsigned &nyb2, const unsigned &nyc2, const double &lx, const double &h1, const double &h2, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor for a non-uniform two layer spine mesh, with element layout in the lower fluid reflected in the upper. Three distinct y regions need numbers of element specified and two x regions.
 Axisym2x6TwoLayerSpineMesh (const unsigned &nxa, const unsigned &nxb, const double &Xfrac, const unsigned &nya1, const unsigned &nyb1, const unsigned &nyc1, const unsigned &nya2, const unsigned &nyb2, const unsigned &nyc2, const double &Yfrac1, const double &Yfrac2, const double &lx, const double &h1, const double &h2, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor for a non-uniform two layer spine mesh, with element layout in the lower fluid reflected in the upper. Three distinct y regions need numbers of element specified and two x regions. The fractions of these regions are specified in this constructor.
double x_spacing_function (unsigned xelement, unsigned xnode, unsigned yelement, unsigned ynode)
 The spacing function for the x co-ordinates with two regions.
double y_spacing_function (unsigned xelement, unsigned xnode, unsigned yelement, unsigned ynode)
 The spacing function for the y co-ordinates with three regions in each fluid.

Private Attributes

unsigned Nxa
unsigned Nxb
unsigned Nya1
unsigned Nyb1
unsigned Nyc1
unsigned Nya2
unsigned Nyb2
unsigned Nyc2
double Xfraction
double Yfraction1
double Yfraction2

Constructor & Destructor Documentation

template<class ELEMENT, class INTERFACE_ELEMENT>
oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh ( const unsigned &  nxa,
const unsigned &  nxb,
const unsigned &  nya1,
const unsigned &  nyb1,
const unsigned &  nyc1,
const unsigned &  nya2,
const unsigned &  nyb2,
const unsigned &  nyc2,
const double &  lx,
const double &  h1,
const double &  h2,
TimeStepper time_stepper_pt = &Mesh::Default_TimeStepper 
)

Constructor for a non-uniform two layer spine mesh, with element layout in the lower fluid reflected in the upper. Three distinct y regions need numbers of element specified and two x regions.

Definition at line 487 of file two_layer_spine_mesh.template.cc.

References oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_two_layer_mesh(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::H1, oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::H2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxa, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxb, oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Ny1, oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Ny2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc2, OOMPH_EXCEPTION_LOCATION, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Xfraction, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction1, and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction2.

template<class ELEMENT, class INTERFACE_ELEMENT>
oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh ( const unsigned &  nxa,
const unsigned &  nxb,
const double &  Xfrac,
const unsigned &  nya1,
const unsigned &  nyb1,
const unsigned &  nyc1,
const unsigned &  nya2,
const unsigned &  nyb2,
const unsigned &  nyc2,
const double &  Yfrac1,
const double &  Yfrac2,
const double &  lx,
const double &  h1,
const double &  h2,
TimeStepper time_stepper_pt = &Mesh::Default_TimeStepper 
)

Constructor for a non-uniform two layer spine mesh, with element layout in the lower fluid reflected in the upper. Three distinct y regions need numbers of element specified and two x regions. The fractions of these regions are specified in this constructor.

Definition at line 573 of file two_layer_spine_mesh.template.cc.

References oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::build_two_layer_mesh(), oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::H1, oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::H2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxa, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxb, oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Ny1, oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Ny2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc2, OOMPH_EXCEPTION_LOCATION, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Xfraction, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction1, and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction2.


Member Function Documentation

template<class ELEMENT, class INTERFACE_ELEMENT>
double oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::x_spacing_function ( unsigned  xelement,
unsigned  xnode,
unsigned  yelement,
unsigned  ynode 
) [virtual]

The spacing function for the x co-ordinates with two regions.

Reimplemented from oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >.

Definition at line 656 of file two_layer_spine_mesh.template.cc.

References oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxa, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxb, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Xfraction, oomph::RectangularQuadMesh< ELEMENT >::Xmax, and oomph::RectangularQuadMesh< ELEMENT >::Xmin.

template<class ELEMENT, class INTERFACE_ELEMENT>
double oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function ( unsigned  xelement,
unsigned  xnode,
unsigned  yelement,
unsigned  ynode 
) [virtual]

The spacing function for the y co-ordinates with three regions in each fluid.

Reimplemented from oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >.

Definition at line 691 of file two_layer_spine_mesh.template.cc.

References oomph::TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::H1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc2, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction1, oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction2, oomph::RectangularQuadMesh< ELEMENT >::Ymax, and oomph::RectangularQuadMesh< ELEMENT >::Ymin.


Member Data Documentation

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxa [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::x_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nxb [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::x_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya1 [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nya2 [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb1 [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyb2 [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc1 [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
unsigned oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Nyc2 [private]

Definition at line 252 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
double oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Xfraction [private]

Definition at line 255 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::x_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
double oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction1 [private]

Definition at line 255 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().

template<class ELEMENT, class INTERFACE_ELEMENT>
double oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Yfraction2 [private]

Definition at line 255 of file two_layer_spine_mesh.template.h.

Referenced by oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::Axisym2x6TwoLayerSpineMesh(), and oomph::Axisym2x6TwoLayerSpineMesh< ELEMENT, INTERFACE_ELEMENT >::y_spacing_function().


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