Public Member Functions | Private Member Functions | Private Attributes | List of all members
oomph::OneDLagrangianMesh< ELEMENT > Class Template Reference

1D mesh parametrised in terms of a 1D Lagrangian coordinate. The Eulerian positions of the nodes are determined by the GeomObject. More...

#include <one_d_lagrangian_mesh.template.h>

Inheritance diagram for oomph::OneDLagrangianMesh< ELEMENT >:
oomph::OneDMesh< ELEMENT >

Public Member Functions

 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 Eulerian position, and the timestepper – defaults to (Steady) default timestepper defined in the Mesh base class. More...
 
 OneDLagrangianMesh (const unsigned &n_element, const double &xmin, const double &xmax, GeomObject *undef_eulerian_posn_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass number of elements, xmin, xmax pointer to GeomObject that defines the undeformed Eulerian position, and the timestepper – defaults to (Steady) default timestepper defined in the Mesh base class. More...
 
void assign_undeformed_positions ()
 Assign the undeformed Eulerian positions to the nodes. More...
 
- Public Member Functions inherited from oomph::OneDMesh< ELEMENT >
 OneDMesh (const unsigned &n_element, const double &length, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass number of elements, n_element, length of domain, length, and pointer to timestepper (defaults to a Steady timestepper so we don't need to specify one in problems without time-dependence). More...
 
 OneDMesh (const unsigned &n_element, const double &xmin, const double &xmax, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor: Pass number of elements, n_element, minimum coordinate, xmin, maximum coordinate, xmax, and a pointer to a timestepper. More...
 

Private Member Functions

void assign_default_element_gradients ()
 Set the default gradients of the elements. More...
 

Private Attributes

GeomObject * Undef_eulerian_posn_pt
 Undeformed Eulerian shape. More...
 

Additional Inherited Members

- Protected Member Functions inherited from oomph::OneDMesh< ELEMENT >
void check_1d () const
 Mesh can only be built with 1D elements (but can be either T or Q so can't use the normal assert_geometric_element function. More...
 
void build_mesh (TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Generic mesh constuction routine, called by all constructors. More...
 
- Protected Attributes inherited from oomph::OneDMesh< ELEMENT >
double Xmin
 Minimum coordinate. More...
 
double Xmax
 Maximum coordinate. More...
 
double Length
 Length of the domain. More...
 
unsigned N
 Number of elements. More...
 

Detailed Description

template<class ELEMENT>
class oomph::OneDLagrangianMesh< ELEMENT >

1D mesh parametrised in terms of a 1D Lagrangian coordinate. The Eulerian positions of the nodes are determined by the GeomObject.

Definition at line 45 of file one_d_lagrangian_mesh.template.h.

Constructor & Destructor Documentation

◆ OneDLagrangianMesh() [1/2]

template<class ELEMENT >
oomph::OneDLagrangianMesh< ELEMENT >::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 Eulerian position, and the timestepper – defaults to (Steady) default timestepper defined in the Mesh base class.

Constructor for 1D mesh: n_element : number of elements length : length of domain undef_eulerian_posn_pt: pointer to geom object that describes the initial Eulerian position of the mesh. time_stepper_pt : timestepper.

Definition at line 47 of file one_d_lagrangian_mesh.template.cc.

References oomph::OneDLagrangianMesh< ELEMENT >::assign_default_element_gradients(), and oomph::OneDLagrangianMesh< ELEMENT >::assign_undeformed_positions().

◆ OneDLagrangianMesh() [2/2]

template<class ELEMENT >
oomph::OneDLagrangianMesh< ELEMENT >::OneDLagrangianMesh ( const unsigned &  n_element,
const double &  xmin,
const double &  xmax,
GeomObject *  undef_eulerian_posn_pt,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)

Constructor: Pass number of elements, xmin, xmax pointer to GeomObject that defines the undeformed Eulerian position, and the timestepper – defaults to (Steady) default timestepper defined in the Mesh base class.

Constructor for 1D mesh: n_element : number of elements xmin : minimum coordinate value (LH end) xmax : maximum coordinate value (RH end) undef_eulerian_posn_pt: pointer to geom object that describes the initial Eulerian position of the mesh. time_stepper_pt : timestepper.

Definition at line 78 of file one_d_lagrangian_mesh.template.cc.

References oomph::OneDLagrangianMesh< ELEMENT >::assign_default_element_gradients(), and oomph::OneDLagrangianMesh< ELEMENT >::assign_undeformed_positions().

Member Function Documentation

◆ assign_default_element_gradients()

template<class ELEMENT >
void oomph::OneDLagrangianMesh< ELEMENT >::assign_default_element_gradients
private

Set the default gradients of the elements.

Set the default (initial) gradients within each element, which are merely the distances between the nodes, scaled by 0.5 because the elements have length 2 in local coordinates. N.B. This only works for QHermiteElements at the moment.

Definition at line 108 of file one_d_lagrangian_mesh.template.cc.

Referenced by oomph::OneDLagrangianMesh< ELEMENT >::OneDLagrangianMesh().

◆ assign_undeformed_positions()

template<class ELEMENT >
void oomph::OneDLagrangianMesh< ELEMENT >::assign_undeformed_positions

Assign the undeformed Eulerian positions to the nodes.

Set the initial (2D Eulerian!) positions of the nodes.

Definition at line 138 of file one_d_lagrangian_mesh.template.cc.

Referenced by oomph::OneDLagrangianMesh< ELEMENT >::OneDLagrangianMesh().

Member Data Documentation

◆ Undef_eulerian_posn_pt

template<class ELEMENT >
GeomObject* oomph::OneDLagrangianMesh< ELEMENT >::Undef_eulerian_posn_pt
private

Undeformed Eulerian shape.

Definition at line 49 of file one_d_lagrangian_mesh.template.h.


The documentation for this class was generated from the following files: