quad_mesh.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-2023 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 // Common base class for all QuadMeshes
27 #ifndef OOMPH_QUAD_MESH_HEADER
28 #define OOMPH_QUAD_MESH_HEADER
29 
30 // Config header generated by autoconfig
31 #ifdef HAVE_CONFIG_H
32 #include <oomph-lib-config.h>
33 #endif
34 
35 #ifdef OOMPH_HAS_MPI
36 // mpi headers
37 #include "mpi.h"
38 #endif
39 
40 // oomph-lib includes
41 #include "Vector.h"
42 #include "nodes.h"
43 #include "matrices.h"
44 #include "mesh.h"
45 
46 namespace oomph
47 {
48  /// ////////////////////////////////////////////////////////////////////
49  /// ////////////////////////////////////////////////////////////////////
50  /// ////////////////////////////////////////////////////////////////////
51 
52 
53  //================================================================
54  /// Base class for quad meshes (meshes made of 2D quad elements).
55  //================================================================
56  class QuadMeshBase : public virtual Mesh
57  {
58  public:
59  /// Constructor (empty)
61 
62  /// Broken copy constructor
63  QuadMeshBase(const QuadMeshBase& node) = delete;
64 
65  /// Broken assignment operator
66  void operator=(const QuadMeshBase&) = delete;
67 
68  /// Destructor (empty)
69  virtual ~QuadMeshBase() {}
70 
71  /// Setup lookup schemes which establish whic elements are located
72  /// next to mesh's boundaries (wrapper to suppress doc).
74  {
75  std::ofstream outfile;
77  }
78 
79  /// Setup lookup schemes which establish whic elements are located
80  /// next to mesh's boundaries. Doc in outfile (if it's open).
81  void setup_boundary_element_info(std::ostream& outfile);
82  };
83 
84 } // namespace oomph
85 
86 #endif
A general mesh class.
Definition: mesh.h:67
//////////////////////////////////////////////////////////////////// ////////////////////////////////...
Definition: quad_mesh.h:57
void operator=(const QuadMeshBase &)=delete
Broken assignment operator.
QuadMeshBase()
Constructor (empty)
Definition: quad_mesh.h:60
QuadMeshBase(const QuadMeshBase &node)=delete
Broken copy constructor.
virtual ~QuadMeshBase()
Destructor (empty)
Definition: quad_mesh.h:69
void setup_boundary_element_info()
Setup lookup schemes which establish whic elements are located next to mesh's boundaries (wrapper to ...
Definition: quad_mesh.h:73
//////////////////////////////////////////////////////////////////// ////////////////////////////////...