28 #ifndef OOMPH_FSI_DRIVEN_CAVITY_MESH_HEADER
29 #define OOMPH_FSI_DRIVEN_CAVITY_MESH_HEADER
32 #include "../generic/refineable_quad_mesh.h"
33 #include "../generic/macro_element.h"
34 #include "../generic/domain.h"
35 #include "../generic/quad_mesh.h"
42 #include "../generic/algebraic_elements.h"
64 template<
class ELEMENT>
77 const double& gap_fraction,
119 template<
class ELEMENT>
132 const double& gap_fraction,
136 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt)
157 template<
class ELEMENT>
171 const double& gap_fraction,
175 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt)
216 template<
class ELEMENT>
230 const double& gap_fraction,
234 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt),
236 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt)
/ Alebraic node update version of FSIDrivenCavityMesh
virtual ~AlgebraicFSIDrivenCavityMesh()
Destructor: empty.
void algebraic_node_update(const unsigned &t, AlgebraicNode *&node_pt)
Update nodal position at time level t (t=0: present; t>0: previous)
void setup_algebraic_node_update()
Function to setup the algebraic node update.
void update_node_update(AlgebraicNode *&node_pt)
Update the node-udate data after mesh adaptation. Empty – no update of node update required as this i...
AlgebraicFSIDrivenCavityMesh(const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, const double &gap_fraction, GeomObject *wall_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass number of elements, lengths, pointer to GeomObject that defines the collapsible seg...
////////////////////////////////////////////////////////////////////
void add_geom_object_list_pt(GeomObject *geom_object_pt)
Add the specified GeomObject to the list of geometric objects associated with this AlgebraicMesh; rem...
AlgebraicNode * node_pt(const unsigned long &n)
Return a pointer to the n-th global AlgebraicNode.
////////////////////////////////////////////////////////////////////
Mesh for W. Wall's FSI driven cavity problem. The mesh is derived from the SimpleRectangularQuadMesh ...
unsigned Nx
Number of elements in x direction.
GeomObject * Wall_pt
Pointer to geometric object that represents the moving wall.
double Gap_fraction
Fraction of the gap next to moving lid, relative to the height of the domain.
FSIDrivenCavityMesh(const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, const double &gap_fraction, GeomObject *wall_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass number of elements, number of elements, fractional height of the gap above the movi...
unsigned Ny
Number of elements in y direction.
/////////////////////////////////////////////////////////////////////
static Steady< 0 > Default_TimeStepper
Default Steady Timestepper, to be used in default arguments to Mesh constructors.
//////////////////////////////////////////////////////////////////////// ////////////////////////////...
RefineableAlgebraicFSIDrivenCavityMesh(const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, const double &gap_fraction, GeomObject *wall_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass number of elements, lengths, pointer to GeomObject that defines the collapsible seg...
void update_node_update(AlgebraicNode *&node_pt)
Update the node update data for specified node following any mesh adapation.
////////////////////////////////////////////////////////////////// //////////////////////////////////...
~RefineableFSIDrivenCavityMesh()
Destructor(empty)
RefineableFSIDrivenCavityMesh(const unsigned &nx, const unsigned &ny, const double &lx, const double &ly, const double &gap_fraction, GeomObject *wall_pt, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Constructor: Pass number of elements, lengths, pointer to geometric object that describes the wall an...
Intermediate mesh class that implements the mesh adaptation functions specified in the TreeBasedRefin...
void setup_quadtree_forest()
Set up QuadTreeForest. Wipes any existing tree structure below the minimum refinement level and regar...
Simple rectangular 2D Quad mesh class. Nx : number of elements in the x direction.
const unsigned & ny() const
Access function for number of elements in y directions.
const unsigned & nx() const
Access function for number of elements in x directions.
////////////////////////////////////////////////////////////////////// //////////////////////////////...
//////////////////////////////////////////////////////////////////// ////////////////////////////////...