one_d_lagrangian_mesh.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// 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#ifndef OOMPH_ONE_D_LAGRANGIAN_MESH_HEADER
27#define OOMPH_ONE_D_LAGRANGIAN_MESH_HEADER
28
29// OOMPH-LIB headers
30#include "../generic/mesh.h"
31#include "../generic/geom_objects.h"
32#include "../generic/fsi.h"
33
34// Include the header for the one dimensional mesh
35#include "one_d_mesh.template.h"
36
37
38namespace oomph
39{
40 //=======================================================================
41 /// 1D mesh parametrised in terms of a 1D Lagrangian coordinate.
42 /// The Eulerian positions of the nodes are determined by the GeomObject.
43 //=======================================================================
44 template<class ELEMENT>
45 class OneDLagrangianMesh : public OneDMesh<ELEMENT>, public SolidMesh
46 {
47 private:
48 /// Undeformed Eulerian shape
50
51 /// Set the default gradients of the elements
53
54 public:
55 /// Constructor: Pass number of elements, length,
56 /// pointer to GeomObject that defines the undeformed Eulerian position,
57 /// and the timestepper -- defaults to (Steady) default timestepper defined
58 /// in the Mesh base class
60 const unsigned& n_element,
61 const double& length,
62 GeomObject* undef_eulerian_posn_pt,
63 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper);
64
65 /// Constructor: Pass number of elements, xmin, xmax
66 /// pointer to GeomObject that defines the undeformed Eulerian position,
67 /// and the timestepper -- defaults to (Steady) default timestepper defined
68 /// in the Mesh base class
70 const unsigned& n_element,
71 const double& xmin,
72 const double& xmax,
73 GeomObject* undef_eulerian_posn_pt,
74 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper);
75
76
77 /// Assign the undeformed Eulerian positions to the nodes
79 };
80
81} // namespace oomph
82
83#endif
/////////////////////////////////////////////////////////////////////
Definition: geom_objects.h:101
static Steady< 0 > Default_TimeStepper
Default Steady Timestepper, to be used in default arguments to Mesh constructors.
Definition: mesh.h:75
1D mesh parametrised in terms of a 1D Lagrangian coordinate. The Eulerian positions of the nodes are ...
void assign_undeformed_positions()
Assign the undeformed Eulerian positions to the nodes.
OneDLagrangianMesh(const unsigned &n_element, const double &length, GeomObject *undef_eulerian_posn_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass number of elements, length, pointer to GeomObject that defines the undeformed Euler...
void assign_default_element_gradients()
Set the default gradients of the elements.
GeomObject * Undef_eulerian_posn_pt
Undeformed Eulerian shape.
1D mesh consisting of N one-dimensional elements from the QElement family.
General SolidMesh class.
Definition: mesh.h:2562
////////////////////////////////////////////////////////////////////// //////////////////////////////...
Definition: timesteppers.h:231
//////////////////////////////////////////////////////////////////// ////////////////////////////////...