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.

tetgen_scaffold_mesh.h

Go to the documentation of this file.
00001 //LIC// ====================================================================
00002 //LIC// This file forms part of oomph-lib, the object-oriented, 
00003 //LIC// multi-physics finite-element library, available 
00004 //LIC// at http://www.oomph-lib.org.
00005 //LIC// 
00006 //LIC//           Version 0.90. August 3, 2009.
00007 //LIC// 
00008 //LIC// Copyright (C) 2006-2009 Matthias Heil and Andrew Hazel
00009 //LIC// 
00010 //LIC// This library is free software; you can redistribute it and/or
00011 //LIC// modify it under the terms of the GNU Lesser General Public
00012 //LIC// License as published by the Free Software Foundation; either
00013 //LIC// version 2.1 of the License, or (at your option) any later version.
00014 //LIC// 
00015 //LIC// This library is distributed in the hope that it will be useful,
00016 //LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 //LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018 //LIC// Lesser General Public License for more details.
00019 //LIC// 
00020 //LIC// You should have received a copy of the GNU Lesser General Public
00021 //LIC// License along with this library; if not, write to the Free Software
00022 //LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00023 //LIC// 02110-1301  USA.
00024 //LIC// 
00025 //LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
00026 //LIC// 
00027 //LIC//====================================================================
00028 #ifndef OOMPH_TETGEN_SCAFFOLD_MESH_HEADER
00029 #define OOMPH_TETGEN_SCAFFOLD_MESH_HEADER
00030 
00031 #include "mesh.h"
00032 #include "Telements.h"
00033 
00034 namespace oomph
00035 {
00036 
00037 //======================================================================
00038 /// \short Mesh that is based on input files generated by the tetrahedra
00039 /// mesh generator tetgen.
00040 //======================================================================
00041 class TetgenScaffoldMesh : public virtual Mesh
00042 {
00043 
00044 public:
00045 
00046  ///Empty constructor
00047  TetgenScaffoldMesh() {} 
00048 
00049  /// \short Constructor: Pass the filename of the tetrahedra file
00050  TetgenScaffoldMesh(const std::string& node_file_name,
00051                     const std::string& element_file_name,
00052                     const std::string& face_file_name);
00053 
00054  /// Empty destructor 
00055  ~TetgenScaffoldMesh() {}
00056 
00057  /// \short Return the boundary id of the i-th face in the e-th element:
00058  /// This is zero-based as in tetgen. Zero means the face is not
00059  /// on a boundary. Postive numbers identify the boundary.
00060  /// Will be reduced by one to identify the oomph-lib boundary. 
00061  unsigned face_boundary(const unsigned& e, const unsigned& i) const
00062   {return Face_boundary[e][i];}
00063 
00064 protected:
00065 
00066  /// \short Vector of vectors containing the boundary ids of the
00067  /// elements' faces
00068  Vector<Vector<unsigned> > Face_boundary;
00069 
00070 };
00071 
00072 }
00073 
00074 #endif

Generated on Mon Aug 10 11:23:52 2009 by  doxygen 1.4.7