Domain for cylinder with flag as in Turek benchmark.
GeomObject *& top_flag_pt()
GeomObject * Tip_flag_pt
Pointer to geometric object that represents the tip of the flag.
void macro_element_boundary(const unsigned &time, const unsigned &m, const unsigned &direction, const Vector< double > &s, Vector< double > &f)
Parametrisation of macro element boundaries: f(s) is the position vector to macro-element m's boundar...
GeomObject *& bottom_flag_pt()
Access fct to GeomObjects for top, bottom and tip.
~CylinderWithFlagDomain()
Destructor: Emtpy because clean up happens in base class as a service to the user!
Circle * cylinder_pt()
Access fct to GeomObject (of type Circle) that represents the cylinder.
GeomObject * Top_flag_pt
Pointer to geometric object that represents the top of the flag.
GeomObject *& tip_flag_pt()
void linear_interpolate(const Vector< double > &left, const Vector< double > &right, const double &s, Vector< double > &f)
Helper function to interpolate linearly between the "right" and "left" points; .
CylinderWithFlagDomain(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)
Constructor. Pass the pointers to the GeomObjects that parametrise the cylinder, the three edges of t...
GeomObject * Bottom_flag_pt
Pointer to geometric object that represents the bottom of the flag.
Circle * Cylinder_pt
Pointer to geometric object that represents the central cylinder.
Base class for Domains with curvilinear and/or time-dependent boundaries. Domain boundaries are typic...