line_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-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// Common base class for all LineMeshes
27
28#ifndef OOMPH_GENERIC_LINE_MESH_HEADER
29#define OOMPH_GENERIC_LINE_MESH_HEADER
30
31// Config header
32#ifdef HAVE_CONFIG_H
33#include <oomph-lib-config.h>
34#endif
35
36
37#ifdef OOMPH_HAS_MPI
38// mpi headers
39#include "mpi.h"
40#endif
41
42// oomph-lib includes
43#include "Vector.h"
44#include "nodes.h"
45#include "matrices.h"
46#include "mesh.h"
47
48namespace oomph
49{
50 //======================================================================
51 /// Base class for line meshes (meshes made of 1D line elements)
52 //======================================================================
53 class LineMeshBase : public virtual Mesh
54 {
55 public:
56 /// Constructor (empty)
58
59 /// Broken copy constructor
60 LineMeshBase(const LineMeshBase& node) = delete;
61
62 /// Broken assignment operator
63 void operator=(const LineMeshBase&) = delete;
64
65 /// Destructor (empty)
66 virtual ~LineMeshBase() {}
67
68 /// Set up lookup schemes which establish which elements are located
69 /// next to mesh's boundaries (wrapper to suppress doc)
75
76 /// Set up lookup schemes which establish which elements are
77 /// located next to mesh's boundaries. Doc in outfile (if it's open).
78 void setup_boundary_element_info(std::ostream& outfile);
79 };
80
81} // namespace oomph
82
83#endif
Base class for line meshes (meshes made of 1D line elements)
Definition line_mesh.h:54
virtual ~LineMeshBase()
Destructor (empty)
Definition line_mesh.h:66
LineMeshBase()
Constructor (empty)
Definition line_mesh.h:57
LineMeshBase(const LineMeshBase &node)=delete
Broken copy constructor.
void operator=(const LineMeshBase &)=delete
Broken assignment operator.
void setup_boundary_element_info()
Set up lookup schemes which establish which elements are located next to mesh's boundaries (wrapper t...
Definition line_mesh.h:70
A general mesh class.
Definition mesh.h:67
TAdvectionDiffusionReactionElement<NREAGENT,DIM,NNODE_1D> elements are isoparametric triangular DIM-d...
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).