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// Version 1.0; svn revision $LastChangedRevision$
7 //LIC//
8 //LIC// $LastChangedDate$
9 //LIC//
10 //LIC// Copyright (C) 2006-2016 Matthias Heil and Andrew Hazel
11 //LIC//
12 //LIC// This library is free software; you can redistribute it and/or
13 //LIC// modify it under the terms of the GNU Lesser General Public
14 //LIC// License as published by the Free Software Foundation; either
15 //LIC// version 2.1 of the License, or (at your option) any later version.
16 //LIC//
17 //LIC// This library is distributed in the hope that it will be useful,
18 //LIC// but WITHOUT ANY WARRANTY; without even the implied warranty of
19 //LIC// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 //LIC// Lesser General Public License for more details.
21 //LIC//
22 //LIC// You should have received a copy of the GNU Lesser General Public
23 //LIC// License along with this library; if not, write to the Free Software
24 //LIC// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
25 //LIC// 02110-1301 USA.
26 //LIC//
27 //LIC// The authors may be contacted at oomph-lib@maths.man.ac.uk.
28 //LIC//
29 //LIC//====================================================================
30 #ifndef OOMPH_ONE_D_LAGRANGIAN_MESH_HEADER
31 #define OOMPH_ONE_D_LAGRANGIAN_MESH_HEADER
32 
33 //OOMPH-LIB headers
34 #include "../generic/mesh.h"
35 #include "../generic/geom_objects.h"
36 #include "../generic/fsi.h"
37 
38 //Include the header for the one dimensional mesh
39 #include "one_d_mesh.template.h"
40 
41 
42 namespace oomph
43 {
44 
45 //=======================================================================
46 /// 1D mesh parametrised in terms of a 1D Lagrangian coordinate.
47 /// The Eulerian positions of the nodes are determined by the GeomObject.
48 //=======================================================================
49 template <class ELEMENT>
50 class OneDLagrangianMesh : public OneDMesh<ELEMENT>, public SolidMesh
51 {
52 
53 private:
54 
55  /// Undeformed Eulerian shape
57 
58  /// Set the default gradients of the elements
60 
61  /// Assign the undeformed Eulerian positions to the nodes
63 
64 public:
65 
66  /// \short Constructor: Pass number of elements, length,
67  /// pointer to GeomObject that defines the undeformed Eulerian position,
68  /// and the timestepper -- defaults to (Steady) default timestepper defined
69  /// in the Mesh base class
70  OneDLagrangianMesh(const unsigned &n_element,
71  const double &length,
72  GeomObject* undef_eulerian_posn_pt,
73  TimeStepper* time_stepper_pt=
75 
76  /// \short Constructor: Pass number of elements, xmin, xmax
77  /// pointer to GeomObject that defines the undeformed Eulerian position,
78  /// and the timestepper -- defaults to (Steady) default timestepper defined
79  /// in the Mesh base class
80  OneDLagrangianMesh(const unsigned &n_element, const double &xmin,
81  const double &xmax,
82  GeomObject* undef_eulerian_posn_pt,
83  TimeStepper* time_stepper_pt=
85 
86 };
87 
88 }
89 
90 #endif
static Steady< 0 > Default_TimeStepper
Default Steady Timestepper, to be used in default arguments to Mesh constructors. ...
Definition: mesh.h:85
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...
GeomObject * Undef_eulerian_posn_pt
Undeformed Eulerian shape.
General SolidMesh class.
Definition: mesh.h:2213
void assign_default_element_gradients()
Set the default gradients of the elements.
Base class for time-stepping schemes. Timestepper provides an approximation of the temporal derivativ...
Definition: timesteppers.h:219