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-2022 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
46namespace 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
//////////////////////////////////////////////////////////////////// ////////////////////////////////...