32 #ifndef OOMPH_FSI_DRIVEN_CAVITY_MESH_HEADER 33 #define OOMPH_FSI_DRIVEN_CAVITY_MESH_HEADER 36 #include "../generic/refineable_quad_mesh.h" 37 #include "../generic/macro_element.h" 38 #include "../generic/domain.h" 39 #include "../generic/quad_mesh.h" 46 #include "../generic/algebraic_elements.h" 70 template <
class ELEMENT>
84 const double& gap_fraction,
86 TimeStepper* time_stepper_pt=
87 &Mesh::Default_TimeStepper);
131 template <
class ELEMENT>
134 public RefineableQuadMesh<ELEMENT>
145 const double& gap_fraction,
147 TimeStepper* time_stepper_pt=
148 &Mesh::Default_TimeStepper) :
150 wall_pt, time_stepper_pt)
153 this->setup_quadtree_forest();
172 template<
class ELEMENT>
188 const double& gap_fraction,
190 TimeStepper* time_stepper_pt=
191 &Mesh::Default_TimeStepper) :
196 AlgebraicMesh::add_geom_object_list_pt(wall_pt);
199 setup_algebraic_node_update();
207 void algebraic_node_update(
const unsigned& t, AlgebraicNode*& node_pt);
217 void setup_algebraic_node_update();
240 template<
class ELEMENT>
242 public RefineableQuadMesh<ELEMENT>,
256 const double& gap_fraction,
258 TimeStepper* time_stepper_pt=
259 &Mesh::Default_TimeStepper) :
261 wall_pt, time_stepper_pt),
266 this->setup_quadtree_forest();
271 void update_node_update(AlgebraicNode*& node_pt);
unsigned Ny
Number of elements in y direction.
double Gap_fraction
Fraction of the gap next to moving lid, relative to the height of the domain.
~RefineableFSIDrivenCavityMesh()
Destructor(empty)
GeomObject * Wall_pt
Pointer to geometric object that represents the moving wall.
const unsigned & nx() const
Access function for number of elements in x directions.
unsigned Nx
Number of elements in x direction.
void update_node_update(AlgebraicNode *&node_pt)
Update the node-udate data after mesh adaptation. Empty – no update of node update required as this ...
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...
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...
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...
const unsigned & ny() const
Access function for number of elements in y directions.
virtual ~AlgebraicFSIDrivenCavityMesh()
Destructor: empty.
Mesh for W. Wall's FSI driven cavity problem. The mesh is derived from the SimpleRectangularQuadMesh ...
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...