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,
79 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper);
119 template<
class ELEMENT>
122 public RefineableQuadMesh<ELEMENT>
132 const double& gap_fraction,
134 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
136 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt)
139 this->setup_quadtree_forest();
157 template<
class ELEMENT>
171 const double& gap_fraction,
173 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
175 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt)
178 AlgebraicMesh::add_geom_object_list_pt(wall_pt);
216 template<
class ELEMENT>
218 :
public RefineableQuadMesh<ELEMENT>,
230 const double& gap_fraction,
232 TimeStepper* time_stepper_pt = &Mesh::Default_TimeStepper)
234 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt),
236 nx,
ny, lx, ly, gap_fraction, wall_pt, time_stepper_pt)
239 this->setup_quadtree_forest();
/ 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...
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.
//////////////////////////////////////////////////////////////////////// ////////////////////////////...
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...
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.
////////////////////////////////////////////////////////////////////// //////////////////////////////...