26 #ifndef OOMPH_CYLINDER_WITH_FLAG_MESH_HEADER
27 #define OOMPH_CYLINDER_WITH_FLAG_MESH_HEADER
34 #include "../generic/refineable_quad_mesh.h"
35 #include "../generic/quad_mesh.h"
38 #include "../generic/algebraic_elements.h"
47 template<
class ELEMENT>
63 const double& flag_length,
64 const double& flag_height,
65 const double& centre_x,
66 const double& centre_y,
97 template<
class ELEMENT>
112 const double& length,
114 const double& flag_length,
115 const double& flag_height,
116 const double& centre_x,
117 const double& centre_y,
154 template<
class ELEMENT>
170 const double& length,
172 const double& flag_length,
173 const double& flag_height,
174 const double& centre_x,
175 const double& centre_y,
350 template<
class ELEMENT>
366 const double& length,
368 const double& flag_length,
369 const double& flag_height,
370 const double& centre_x,
371 const double& centre_y,
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
Algebraic version of CylinderWithFlagMesh.
Definition: cylinder_with_flag_mesh.template.h:158
void node_update_V(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1571
GeomObject * top_flag_pt() const
Definition: cylinder_with_flag_mesh.template.h:254
void set_tip_flag_pt(GeomObject *tip_flag_pt)
Definition: cylinder_with_flag_mesh.template.h:237
void node_update_II(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1441
double Height
Height of the domain.
Definition: cylinder_with_flag_mesh.template.h:324
AlgebraicCylinderWithFlagMesh(Circle *cylinder_pt, GeomObject *top_flag_pt, GeomObject *bottom_flag_pt, GeomObject *tip_flag_pt, const double &length, const double &height, const double &flag_length, const double &flag_height, const double ¢re_x, const double ¢re_y, const double &a, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Definition: cylinder_with_flag_mesh.template.h:165
GeomObject * Top_flag_pt
Top flag.
Definition: cylinder_with_flag_mesh.template.h:312
double Centre_x
x position of the centre of the cylinder
Definition: cylinder_with_flag_mesh.template.h:333
void node_update_III(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1477
GeomObject * Cylinder_pt
Cylinder.
Definition: cylinder_with_flag_mesh.template.h:309
void algebraic_node_update(const unsigned &t, AlgebraicNode *&node_pt)
The algebraic node update function.
Definition: cylinder_with_flag_mesh.template.cc:1344
void node_update_IV(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1523
void set_bottom_flag_pt(GeomObject *bottom_flag_pt)
Definition: cylinder_with_flag_mesh.template.h:219
double Centre_y
x position of the centre of the cylinder
Definition: cylinder_with_flag_mesh.template.h:336
void node_update_I(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1402
double Length
Length of the domain.
Definition: cylinder_with_flag_mesh.template.h:321
double Flag_height
Flag thickness.
Definition: cylinder_with_flag_mesh.template.h:330
double Flag_length
Flag length.
Definition: cylinder_with_flag_mesh.template.h:327
void node_update_VIII(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1707
void node_update_VI(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1620
GeomObject * bottom_flag_pt() const
Definition: cylinder_with_flag_mesh.template.h:246
void set_top_flag_pt(GeomObject *top_flag_pt)
Definition: cylinder_with_flag_mesh.template.h:228
void update_node_update(AlgebraicNode *&node_pt)
Definition: cylinder_with_flag_mesh.template.h:270
double A
radius of the cylinder
Definition: cylinder_with_flag_mesh.template.h:339
void node_update_VII(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1662
GeomObject * Bottom_flag_pt
Bottom flag.
Definition: cylinder_with_flag_mesh.template.h:315
virtual ~AlgebraicCylinderWithFlagMesh()
Destructor: empty.
Definition: cylinder_with_flag_mesh.template.h:214
GeomObject * Tip_flag_pt
Tip flag.
Definition: cylinder_with_flag_mesh.template.h:318
void setup_algebraic_node_update()
Function to setup the algebraic node update.
Definition: cylinder_with_flag_mesh.template.cc:915
GeomObject * tip_flag_pt() const
Definition: cylinder_with_flag_mesh.template.h:261
void node_update_IX(const unsigned &t, AlgebraicNode *&node_pt)
Helper function.
Definition: cylinder_with_flag_mesh.template.cc:1793
Definition: algebraic_elements.h:599
void add_geom_object_list_pt(GeomObject *geom_object_pt)
Definition: algebraic_elements.h:823
AlgebraicNode * node_pt(const unsigned long &n)
Return a pointer to the n-th global AlgebraicNode.
Definition: algebraic_elements.h:620
Definition: algebraic_elements.h:55
Definition: geom_objects.h:873
Domain for cylinder with flag as in Turek benchmark.
Definition: cylinder_with_flag_domain.h:42
GeomObject *& top_flag_pt()
Definition: cylinder_with_flag_domain.h:88
GeomObject *& bottom_flag_pt()
Access fct to GeomObjects for top, bottom and tip.
Definition: cylinder_with_flag_domain.h:84
GeomObject *& tip_flag_pt()
Definition: cylinder_with_flag_domain.h:92
Definition: cylinder_with_flag_mesh.template.h:49
virtual ~CylinderWithFlagMesh()
Destructor: Kill the domain.
Definition: cylinder_with_flag_mesh.template.h:71
CylinderWithFlagDomain * Domain_pt
Pointer to the domain.
Definition: cylinder_with_flag_mesh.template.h:84
CylinderWithFlagMesh(Circle *cylinder_pt, GeomObject *top_flag_pt, GeomObject *bottom_flag_pt, GeomObject *tip_flag_pt, const double &length, const double &height, const double &flag_length, const double &flag_height, const double ¢re_x, const double ¢re_y, const double &a, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Definition: cylinder_with_flag_mesh.template.cc:43
CylinderWithFlagDomain * domain_pt()
Access function to the domain.
Definition: cylinder_with_flag_mesh.template.h:77
Definition: geom_objects.h:101
static Steady< 0 > Default_TimeStepper
The Steady Timestepper.
Definition: mesh.h:75
Base class for quad meshes (meshes made of 2D quad elements).
Definition: quad_mesh.h:57
Refineable version of AlgebraicCylinderWithFlagMesh.
Definition: cylinder_with_flag_mesh.template.h:354
void update_node_update(AlgebraicNode *&node_pt)
Update the node update functions.
Definition: cylinder_with_flag_mesh.template.cc:1883
RefineableAlgebraicCylinderWithFlagMesh(Circle *cylinder_pt, GeomObject *top_flag_pt, GeomObject *bottom_flag_pt, GeomObject *tip_flag_pt, const double &length, const double &height, const double &flag_length, const double &flag_height, const double ¢re_x, const double ¢re_y, const double &a, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Definition: cylinder_with_flag_mesh.template.h:361
Refineable version of CylinderWithFlagMesh.
Definition: cylinder_with_flag_mesh.template.h:100
virtual ~RefineableCylinderWithFlagMesh()
Destructor: Empty.
Definition: cylinder_with_flag_mesh.template.h:142
RefineableCylinderWithFlagMesh(Circle *cylinder_pt, GeomObject *top_flag_pt, GeomObject *bottom_flag_pt, GeomObject *tip_flag_pt, const double &length, const double &height, const double &flag_length, const double &flag_height, const double ¢re_x, const double ¢re_y, const double &a, TimeStepper *time_stepper_pt=&Mesh::Default_TimeStepper)
Definition: cylinder_with_flag_mesh.template.h:107
Definition: refineable_quad_mesh.h:53
void setup_quadtree_forest()
Definition: refineable_quad_mesh.h:88
Definition: timesteppers.h:231
const Scalar * a
Definition: level2_cplx_impl.h:32
double height(const double &x)
Height of domain.
Definition: simple_spine_channel.cc:429
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
t
Definition: plotPSD.py:36