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

Refineable version of the RectangularQuadMesh: A two-dimensional mesh of Quad elements with Nx elements in the "x" (horizonal) direction and Ny elements in the "y" (vertical) direction. Two Constructors are provided. The basic constructor assumes that the lower-left-hand corner of the mesh is (0,0) and takes only the arguments, Nx, Ny, Xmax and Ymax. The more complex constructor takes the additional arguments Xmin and Ymin. More...

#include <rectangular_quadmesh.template.h>

Inheritance diagram for oomph::RefineableRectangularQuadMesh< ELEMENT >:
oomph::RectangularQuadMesh< ELEMENT >

Public Member Functions

 RefineableRectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Simple constructor: nx: number of elements in x direction; ny: number of elements in y direction; lx, length of domain in x direction (0,lx); ly, length of domain in y direction (0,ly). Also pass pointer to timestepper (defaults to Steady) More...
 
 RefineableRectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, const bool &periodic_in_x, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Simple constructor: nx: number of elements in x direction; ny: number of elements in y direction; lx, length of domain in x direction (0,lx); ly, length of domain in y direction (0,ly); periodic_in_x, periodicity in x. Also pass pointer to timestepper (defaults to Steady) More...
 
 RefineableRectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor that allows the specification of minimum and maximum values of x and y coordinates Also pass pointer to timestepper (defaults to Steady) More...
 
 RefineableRectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, const bool &periodic_in_x, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor that allows the specification of minimum and maximum values of x and y coordinates and periodicity Also pass pointer to timestepper (defaults to Steady) More...
 
- Public Member Functions inherited from oomph::RectangularQuadMesh< ELEMENT >
 RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Simple constructor: nx: number of elements in x direction; ny: number of elements in y direction; lx, length of domain in x direction (0,lx); ly, length of domain in y direction (0,ly) Also pass pointer to timestepper (defaults to Steady) More...
 
 RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor that allows the specification of minimum and maximum values of x and y coordinates. More...
 
 RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, const bool &periodic_in_x, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Simple constructor: nx: number of elements in x direction; ny: number of elements in y direction; lx, length of domain in x direction (0,lx); ly, length of domain in y direction (0,ly) Boolean flag specifies if the mesh is periodic in the x-direction. Also pass pointer to timestepper (defaults to Steady) More...
 
 RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, const bool &periodic_in_x, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor that allows the specification of minimum and maximum values of x and y coordinates. Boolean flag specifies if the mesh is periodic in the x-direction. More...
 
const unsigned & nx () const
 Return number of elements in x direction. More...
 
const unsigned & ny () const
 Return number of elements in y direction. More...
 
const double x_min () const
 Return the minimum value of x coordinate. More...
 
const double x_max () const
 Return the maximum value of x coordinate. More...
 
const double y_min () const
 Return the minimum value of y coordinate. More...
 
const double y_max () const
 Return the maximum value of y coordinate. More...
 
virtual void element_reorder ()
 Reorder the elements: By default they are ordered in "horizontal" layers (increasing in x, then in y). This function changes this to an ordering in the vertical direction (y first, then x). This is more efficient if a frontal solver is used and the mesh has more elements in the x than the y direction. Can be overloaded in specific derived meshes. More...
 
virtual double x_spacing_function (unsigned xelement, unsigned xnode, unsigned yelement, unsigned ynode)
 Return the value of the x-coordinate at the node given by the local node number (xnode, ynode) in the element (xelement,yelement). The description is in a "psudeo" two-dimensional coordinate system, so the range of xelement is [0,Nx-1], yelement is [0,Ny-1], and that of xnode and ynode is [0,Np-1]. The default is to return nodes that are equally spaced in the x coodinate. More...
 
virtual double y_spacing_function (unsigned xelement, unsigned xnode, unsigned yelement, unsigned ynode)
 Return the value of the y-coordinate at the node given by the local node number (xnode, ynode) in the element (xelement,yelement). The description is in a "psudeo" two-dimensional coordinate system, so the range of xelement is [0,Nx-1], yelement is [0,Ny-1], and that of xnode and ynode is [0,Np-1]. The default it to return nodes that are equally spaced in the y coordinate. More...
 

Additional Inherited Members

- Protected Member Functions inherited from oomph::RectangularQuadMesh< ELEMENT >
void build_mesh (TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Generic mesh construction function: contains all the hard work. More...
 
 RectangularQuadMesh (const unsigned &nx, const unsigned &ny, const double &xmin, const double &xmax, const double &ymin, const double &ymax, const bool &periodic_in_x, const bool &build, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
 Constructor that allows the specification of minimum and maximum values of x and y coordinates and does not build the mesh This is intend to be used in derived classes that overload the spacing functions. THis is scheduled to be changed, however. The reason why this MUST be done is because the virtual spacing functions cannot be called in the base constructur, because they will not have been overloaded yet!! More...
 
- Protected Attributes inherited from oomph::RectangularQuadMesh< ELEMENT >
unsigned Nx
 Nx: number of elements in x-direction. More...
 
unsigned Ny
 Ny: number of elements in y-direction. More...
 
unsigned Np
 Np: number of (linear) points in the element. More...
 
double Xmin
 Minimum value of x coordinate. More...
 
double Xmax
 Maximum value of x coordinate. More...
 
double Ymin
 Minimum value of y coordinate. More...
 
double Ymax
 Maximum value of y coordinate. More...
 
bool Xperiodic
 Boolean variable used to determine whether the mesh is periodic in the x-direction. More...
 

Detailed Description

template<class ELEMENT>
class oomph::RefineableRectangularQuadMesh< ELEMENT >

Refineable version of the RectangularQuadMesh: A two-dimensional mesh of Quad elements with Nx elements in the "x" (horizonal) direction and Ny elements in the "y" (vertical) direction. Two Constructors are provided. The basic constructor assumes that the lower-left-hand corner of the mesh is (0,0) and takes only the arguments, Nx, Ny, Xmax and Ymax. The more complex constructor takes the additional arguments Xmin and Ymin.

This class is designed to be used as a Base class for more complex two dimensional meshes. The virtual functions x_spacing_function() and y_spacing_function() may be overloaded to provide arbitrary node spacing. The default is uniformly spaced nodes in each direction.

Definition at line 323 of file rectangular_quadmesh.template.h.

Constructor & Destructor Documentation

◆ RefineableRectangularQuadMesh() [1/4]

template<class ELEMENT >
oomph::RefineableRectangularQuadMesh< ELEMENT >::RefineableRectangularQuadMesh ( const unsigned &  nx,
const unsigned &  ny,
const double &  lx,
const double &  ly,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Simple constructor: nx: number of elements in x direction; ny: number of elements in y direction; lx, length of domain in x direction (0,lx); ly, length of domain in y direction (0,ly). Also pass pointer to timestepper (defaults to Steady)

Definition at line 332 of file rectangular_quadmesh.template.h.

◆ RefineableRectangularQuadMesh() [2/4]

template<class ELEMENT >
oomph::RefineableRectangularQuadMesh< ELEMENT >::RefineableRectangularQuadMesh ( const unsigned &  nx,
const unsigned &  ny,
const double &  lx,
const double &  ly,
const bool &  periodic_in_x,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Simple constructor: nx: number of elements in x direction; ny: number of elements in y direction; lx, length of domain in x direction (0,lx); ly, length of domain in y direction (0,ly); periodic_in_x, periodicity in x. Also pass pointer to timestepper (defaults to Steady)

Definition at line 350 of file rectangular_quadmesh.template.h.

◆ RefineableRectangularQuadMesh() [3/4]

template<class ELEMENT >
oomph::RefineableRectangularQuadMesh< ELEMENT >::RefineableRectangularQuadMesh ( const unsigned &  nx,
const unsigned &  ny,
const double &  xmin,
const double &  xmax,
const double &  ymin,
const double &  ymax,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Constructor that allows the specification of minimum and maximum values of x and y coordinates Also pass pointer to timestepper (defaults to Steady)

Definition at line 368 of file rectangular_quadmesh.template.h.

◆ RefineableRectangularQuadMesh() [4/4]

template<class ELEMENT >
oomph::RefineableRectangularQuadMesh< ELEMENT >::RefineableRectangularQuadMesh ( const unsigned &  nx,
const unsigned &  ny,
const double &  xmin,
const double &  xmax,
const double &  ymin,
const double &  ymax,
const bool &  periodic_in_x,
TimeStepper *  time_stepper_pt = &Mesh::Default_TimeStepper 
)
inline

Constructor that allows the specification of minimum and maximum values of x and y coordinates and periodicity Also pass pointer to timestepper (defaults to Steady)

Definition at line 387 of file rectangular_quadmesh.template.h.


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