simple_rectangular_quadmesh.template.h
Go to the documentation of this file.
1 //LIC// ====================================================================
2 //LIC// This file forms part of oomph-lib, the object-oriented,
3 //LIC// multi-physics finite-element library, available
4 //LIC// at http://www.oomph-lib.org.
5 //LIC//
6 //LIC// Version 1.0; svn revision $LastChangedRevision$
7 //LIC//
8 //LIC// $LastChangedDate$
9 //LIC//
10 //LIC// Copyright (C) 2006-2016 Matthias Heil and Andrew Hazel
11 //LIC//
12 //LIC// This library is free software; you can redistribute it and/or
13 //LIC// modify it under the terms of the GNU Lesser General Public
14 //LIC// License as published by the Free Software Foundation; either
15 //LIC// version 2.1 of the License, or (at your option) any later version.
16 //LIC//
17 //LIC// This library is distributed in the hope that it will be useful,
18 //LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
19 //LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 //LIC// Lesser General Public License for more details.
21 //LIC//
22 //LIC// You should have received a copy of the GNU Lesser General Public
23 //LIC// License along with this library; if not, write to the Free Software
24 //LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
25 //LIC// 02110-1301 USA.
26 //LIC//
27 //LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
28 //LIC//
29 //LIC//====================================================================
30 #ifndef OOMPH_SIMPLE_RECTANGULAR_QUADMESH_HEADER
31 #define OOMPH_SIMPLE_RECTANGULAR_QUADMESH_HEADER
32 
33 // Config header generated by autoconfig
34 #ifdef HAVE_CONFIG_H
35  #include <oomph-lib-config.h>
36 #endif
37 
38 // OOMPH-LIB headers
39 #include "../generic/mesh.h"
40 #include "../generic/matrices.h"
41 #include "../generic/quadtree.h"
42 #include "../generic/quad_mesh.h"
43 
44 namespace oomph
45 {
46 
47 //=======================================================================
48 /// Simple rectangular 2D Quad mesh class.
49 /// Nx : number of elements in the x direction
50 ///
51 /// Ny : number of elements in the y direction
52 ///
53 /// Lx : length in the x direction
54 ///
55 /// Ly : length in the y direction
56 ///
57 /// Ordering of elements: 'Lower left' to 'lower right' then 'upwards'
58 ///
59 /// Timestepper defaults to Steady.
60 //=======================================================================
61 template <class ELEMENT>
62 class SimpleRectangularQuadMesh : public virtual QuadMeshBase
63 {
64 
65  public:
66 
67  /// \short Constructor: Pass number of elements in the horizontal
68  /// and vertical directions, and the corresponding dimensions.
69  /// Timestepper defaults to Steady.
70  SimpleRectangularQuadMesh(const unsigned &Nx, const unsigned &Ny,
71  const double &Lx, const double &Ly,
72  TimeStepper* time_stepper_pt=
73  &Mesh::Default_TimeStepper);
74 
75  /// Access function for number of elements in x directions
76  const unsigned& nx() const {return NX;}
77 
78  /// Access function for number of elements in y directions
79  const unsigned& ny() const {return NY;}
80 
81 private:
82 
83  /// Number of elements in x direction
84  unsigned NX;
85 
86  /// Number of elements in y direction
87  unsigned NY;
88 
89 };
90 
91 }
92 
93 #endif
unsigned NX
Number of elements in x direction.
unsigned NY
Number of elements in y direction.
const unsigned & nx() const
Access function for number of elements in x directions.
const unsigned & ny() const
Access function for number of elements in y directions.
SimpleRectangularQuadMesh(const unsigned &Nx, const unsigned &Ny, const double &Lx, const double &Ly, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass number of elements in the horizontal and vertical directions, and the corresponding...