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::RefineableAxisymmetricQCrouzeixRaviartElement Class Reference

#include <refineable_axisym_navier_stokes_elements.h>

Inheritance diagram for oomph::RefineableAxisymmetricQCrouzeixRaviartElement:

oomph::AxisymmetricQCrouzeixRaviartElement oomph::RefineableAxisymmetricNavierStokesEquations oomph::RefineableQElement< 2 > oomph::QElement< 2, 3 > oomph::AxisymmetricNavierStokesEquations oomph::AxisymmetricNavierStokesEquations oomph::RefineableElement oomph::ElementWithZ2ErrorEstimator oomph::RefineableElement oomph::QuadElementBase oomph::FiniteElement oomph::FiniteElement oomph::FiniteElement oomph::FiniteElement oomph::FiniteElement oomph::QElementBase oomph::FiniteElement oomph::GeomObject oomph::GeneralisedElement oomph::GeomObject oomph::GeneralisedElement oomph::GeomObject oomph::GeneralisedElement oomph::GeomObject oomph::GeneralisedElement oomph::GeomObject oomph::GeneralisedElement List of all members.

Detailed Description

Refineable version of Axisymmetric Quad Crouzeix Raviart elements (note that unlike the cartesian version this is not scale-able to higher dimensions!)

Definition at line 523 of file refineable_axisym_navier_stokes_elements.h.


Public Member Functions

 RefineableAxisymmetricQCrouzeixRaviartElement ()
 Constructor:.
unsigned ncont_interpolated_values () const
 Number of continuously interpolated values: 3 (velocities).
void rebuild_from_sons (Mesh *&mesh_pt)
 Rebuild from sons: Reconstruct pressure from the (merged) sons.
unsigned nrecovery_order ()
 Order of recovery shape functions for Z2 error estimation: Same order as shape functions.
unsigned nvertex_node () const
 Number of vertex nodes in the element.
Nodevertex_node_pt (const unsigned &j) const
 Pointer to the j-th vertex node in the element.
void get_interpolated_values (const Vector< double > &s, Vector< double > &values)
 Get the function value u in Vector. Note: Given the generality of the interface (this function is usually called from black-box documentation or interpolation routines), the values Vector sets its own size in here.
void get_interpolated_values (const unsigned &t, const Vector< double > &s, Vector< double > &values)
 Get all function values [u,v..,p] at previous timestep t (t=0: present; t>0: previous timestep).
Note: Given the generality of the interface (this function is usually called from black-box documentation or interpolation routines), the values Vector sets its own size in here.
Note: No pressure history is kept, so pressure is always the current value.
void further_setup_hanging_nodes ()
 Perform additional hanging node procedures for variables that are not interpolated by all nodes. Empty.
void further_build ()

Private Member Functions

void unpin_elemental_pressure_dofs ()
 Unpin all the internal pressure freedoms.

Constructor & Destructor Documentation

oomph::RefineableAxisymmetricQCrouzeixRaviartElement::RefineableAxisymmetricQCrouzeixRaviartElement (  )  [inline]

Constructor:.

Definition at line 542 of file refineable_axisym_navier_stokes_elements.h.


Member Function Documentation

void oomph::RefineableAxisymmetricQCrouzeixRaviartElement::further_build (  )  [inline, virtual]

Further build for Crouzeix_Raviart interpolates the internal pressure dofs from father element: Make sure pressure values and dp/ds agree between fathers and sons at the midpoints of the son elements.

Reimplemented from oomph::RefineableAxisymmetricNavierStokesEquations.

Definition at line 704 of file refineable_axisym_navier_stokes_elements.h.

References oomph::Tree::father_pt(), oomph::RefineableAxisymmetricNavierStokesEquations::further_build(), oomph::GeneralisedElement::internal_data_pt(), oomph::AxisymmetricNavierStokesEquations::interpolated_p_axi_nst(), oomph::QuadTreeNames::NE, oomph::QuadTreeNames::NW, oomph::Tree::object_pt(), oomph::AxisymmetricQCrouzeixRaviartElement::P_axi_nst_internal_index, oomph::RefineableQElement< 2 >::quadtree_pt(), oomph::QuadTreeNames::SE, oomph::Data::set_value(), oomph::Tree::son_type(), and oomph::QuadTreeNames::SW.

void oomph::RefineableAxisymmetricQCrouzeixRaviartElement::further_setup_hanging_nodes (  )  [inline, virtual]

Perform additional hanging node procedures for variables that are not interpolated by all nodes. Empty.

Implements oomph::RefineableQElement< 2 >.

Definition at line 698 of file refineable_axisym_navier_stokes_elements.h.

void oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values ( const unsigned &  t,
const Vector< double > &  s,
Vector< double > &  values 
) [inline, virtual]

Get all function values [u,v..,p] at previous timestep t (t=0: present; t>0: previous timestep).
Note: Given the generality of the interface (this function is usually called from black-box documentation or interpolation routines), the values Vector sets its own size in here.
Note: No pressure history is kept, so pressure is always the current value.

Implements oomph::RefineableElement.

Definition at line 666 of file refineable_axisym_navier_stokes_elements.h.

References oomph::FiniteElement::nnode(), oomph::FiniteElement::nodal_value(), oomph::FiniteElement::shape(), and oomph::AxisymmetricNavierStokesEquations::u_index_axi_nst().

void oomph::RefineableAxisymmetricQCrouzeixRaviartElement::get_interpolated_values ( const Vector< double > &  s,
Vector< double > &  values 
) [inline, virtual]

Get the function value u in Vector. Note: Given the generality of the interface (this function is usually called from black-box documentation or interpolation routines), the values Vector sets its own size in here.

Implements oomph::RefineableElement.

Definition at line 646 of file refineable_axisym_navier_stokes_elements.h.

References oomph::AxisymmetricNavierStokesEquations::interpolated_u_axi_nst().

unsigned oomph::RefineableAxisymmetricQCrouzeixRaviartElement::ncont_interpolated_values (  )  const [inline, virtual]

Number of continuously interpolated values: 3 (velocities).

Implements oomph::RefineableElement.

Definition at line 549 of file refineable_axisym_navier_stokes_elements.h.

unsigned oomph::RefineableAxisymmetricQCrouzeixRaviartElement::nrecovery_order (  )  [inline, virtual]

Order of recovery shape functions for Z2 error estimation: Same order as shape functions.

Implements oomph::ElementWithZ2ErrorEstimator.

Definition at line 629 of file refineable_axisym_navier_stokes_elements.h.

unsigned oomph::RefineableAxisymmetricQCrouzeixRaviartElement::nvertex_node (  )  const [inline, virtual]

Number of vertex nodes in the element.

Implements oomph::ElementWithZ2ErrorEstimator.

Definition at line 635 of file refineable_axisym_navier_stokes_elements.h.

void oomph::RefineableAxisymmetricQCrouzeixRaviartElement::rebuild_from_sons ( Mesh *&  mesh_pt  )  [inline, virtual]

Rebuild from sons: Reconstruct pressure from the (merged) sons.

Implements oomph::RefineableElement.

Definition at line 552 of file refineable_axisym_navier_stokes_elements.h.

References oomph::GeneralisedElement::internal_data_pt(), oomph::QuadTreeNames::NE, oomph::QuadTreeNames::NW, oomph::Tree::object_pt(), oomph::AxisymmetricQCrouzeixRaviartElement::P_axi_nst_internal_index, oomph::RefineableQElement< 2 >::quadtree_pt(), oomph::QuadTreeNames::SE, oomph::Data::set_value(), oomph::Tree::son_pt(), oomph::QuadTreeNames::SW, and oomph::Data::value().

void oomph::RefineableAxisymmetricQCrouzeixRaviartElement::unpin_elemental_pressure_dofs (  )  [inline, private, virtual]

Unpin all the internal pressure freedoms.

Implements oomph::RefineableAxisymmetricNavierStokesEquations.

Definition at line 531 of file refineable_axisym_navier_stokes_elements.h.

References oomph::AxisymmetricQCrouzeixRaviartElement::npres_axi_nst(), and oomph::AxisymmetricQCrouzeixRaviartElement::P_axi_nst_internal_index.

Node* oomph::RefineableAxisymmetricQCrouzeixRaviartElement::vertex_node_pt ( const unsigned &  j  )  const [inline, virtual]

Pointer to the j-th vertex node in the element.

Implements oomph::ElementWithZ2ErrorEstimator.

Definition at line 639 of file refineable_axisym_navier_stokes_elements.h.


The documentation for this class was generated from the following file:
Generated on Mon Aug 10 11:27:03 2009 by  doxygen 1.4.7