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