Domain for cylinder with flag as in Turek benchmark. More...
#include <cylinder_with_flag_domain.h>
Public Member Functions | |
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 the flag, the length and height of the domain, the length and height of the flag, the coordinates of the centre of the cylinder and its radius. More... | |
~CylinderWithFlagDomain () | |
Destructor: Emtpy because clean up happens in base class as a service to the user! More... | |
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 boundary in the specified direction [N/S/E/W] at the specfied discrete time level (time=0: present; time>0: previous) More... | |
Circle * | cylinder_pt () |
Access fct to GeomObject (of type Circle) that represents the cylinder. More... | |
GeomObject *& | bottom_flag_pt () |
Access fct to GeomObjects for top, bottom and tip. More... | |
GeomObject *& | top_flag_pt () |
GeomObject *& | tip_flag_pt () |
Public Member Functions inherited from oomph::Domain | |
Domain () | |
Constructor. More... | |
Domain (const Domain &)=delete | |
Broken copy constructor. More... | |
void | operator= (const Domain &)=delete |
Broken assignment operator. More... | |
virtual | ~Domain () |
Destructor: Strictly speaking, whoever creates an object dynamically should be responsible for the cleanup of said object but it makes sense here for the Domain to generically kill any MacroElements left over in the MacroElement container (if it hasn't already been done in the derived class) to avoid memory leaks. More... | |
MacroElement * | macro_element_pt (const unsigned &i) |
Access to i-th macro element. More... | |
unsigned | nmacro_element () |
Number of macro elements in domain. More... | |
void | output (const std::string &filename, const unsigned &nplot) |
Output macro elements. More... | |
void | output (std::ostream &outfile, const unsigned &nplot) |
Output macro elements. More... | |
virtual void | macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at continuous time, t. More... | |
void | macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More... | |
void | output_macro_element_boundaries (const std::string &filename, const unsigned &nplot) |
Output all macro element boundaries as tecplot zones. More... | |
void | output_macro_element_boundaries (std::ostream &outfile, const unsigned &nplot) |
Output all macro element boundaries as tecplot zones. More... | |
virtual void | dmacro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at time level t (t=0: present; t>0: previous): f(s). Broken virtual. More... | |
virtual void | dmacro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at continuous time level t. Broken virtual. More... | |
void | dmacro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary derivatives i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More... | |
virtual void | d2macro_element_boundary (const unsigned &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e.g. N/S/W/E in 2D) at time level t (t=0: present; t>0: previous): f(s). Broken virtual. More... | |
virtual void | d2macro_element_boundary (const double &t, const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary seocond derivatives i_direct (e.g. N/S/W/E in 2D) at continuous time level t. Broken virtual. More... | |
void | d2macro_element_boundary (const unsigned &i_macro, const unsigned &i_direct, const Vector< double > &s, Vector< double > &f) |
Vector representation of the i_macro-th macro element boundary second derivatives i_direct (e.g. N/S/W/E in 2D) at current time: f(s). More... | |
Private Member Functions | |
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; . More... | |
Private Attributes | |
Vector< double > | p1 |
Vector< double > | p2 |
Vector< double > | p3 |
Vector< double > | p4 |
Vector< double > | p5 |
Vector< double > | p6 |
Vector< double > | p7 |
Vector< double > | p8 |
Vector< double > | p9 |
Vector< double > | p10 |
Vector< double > | p11 |
Vector< double > | p12 |
Vector< double > | p13 |
Vector< double > | p14 |
Vector< double > | p15 |
Vector< double > | p16 |
Vector< double > | p17 |
Vector< double > | p18 |
Vector< double > | p19 |
Vector< double > | p20 |
Vector< double > | p21 |
Vector< double > | p22 |
Vector< double > | p23 |
Vector< double > | p24 |
Vector< double > | p25 |
Vector< double > | p26 |
Vector< double > | p27 |
Vector< double > | p28 |
Vector< double > | p29 |
Vector< double > | p30 |
Vector< double > | p31 |
Vector< double > | p32 |
Vector< double > | p33 |
Vector< double > | p34 |
Vector< double > | p35 |
Vector< double > | p36 |
Vector< double > | p37 |
Vector< double > | p38 |
Vector< double > | p39 |
Vector< double > | p40 |
Vector< double > | p41 |
Vector< double > | p42 |
Vector< double > | p43 |
Vector< double > | p44 |
Vector< double > | p45 |
Vector< double > | p46 |
Vector< double > | p47 |
Vector< double > | p48 |
Vector< double > | p49 |
Vector< double > | p50 |
Circle * | Cylinder_pt |
Pointer to geometric object that represents the central cylinder. More... | |
GeomObject * | Top_flag_pt |
Pointer to geometric object that represents the top of the flag. More... | |
GeomObject * | Bottom_flag_pt |
Pointer to geometric object that represents the bottom of the flag. More... | |
GeomObject * | Tip_flag_pt |
Pointer to geometric object that represents the tip of the flag. More... | |
double | Lx |
double | Ly |
double | Centre_x |
double | Centre_y |
double | A |
Additional Inherited Members | |
Protected Attributes inherited from oomph::Domain | |
Vector< MacroElement * > | Macro_element_pt |
Vector of pointers to macro elements. More... | |
Domain for cylinder with flag as in Turek benchmark.
Definition at line 41 of file cylinder_with_flag_domain.h.
oomph::CylinderWithFlagDomain::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 & | centre_x, | ||
const double & | centre_y, | ||
const double & | a | ||
) |
Constructor. Pass the pointers to the GeomObjects that parametrise the cylinder, the three edges of the flag, the length and height of the domain, the length and height of the flag, the coordinates of the centre of the cylinder and its radius.
Constructor, Pass the pointers to the GeomObjects that parametrise the cylinder, the three edges of the flag, the length and height of the domain, the length and height of the flag, the coordinates of the centre of the cylinder and its radius.
Definition at line 37 of file cylinder_with_flag_domain.cc.
References A, Centre_x, Centre_y, i, oomph::Domain::Macro_element_pt, p1, p10, p11, p12, p13, p14, p15, p16, p18, p2, p21, p22, p23, p24, p25, p27, p28, p29, p3, p30, p31, p33, p35, p36, p37, p38, p39, p4, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p5, p50, p6, p7, p8, and p9.
|
inline |
Destructor: Emtpy because clean up happens in base class as a service to the user!
Definition at line 63 of file cylinder_with_flag_domain.h.
|
inline |
Access fct to GeomObjects for top, bottom and tip.
Definition at line 84 of file cylinder_with_flag_domain.h.
References Bottom_flag_pt.
Referenced by oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::set_bottom_flag_pt().
|
inline |
Access fct to GeomObject (of type Circle) that represents the cylinder.
Definition at line 78 of file cylinder_with_flag_domain.h.
References Cylinder_pt.
|
inlineprivate |
Helper function to interpolate linearly between the "right" and "left" points; .
Definition at line 100 of file cylinder_with_flag_domain.h.
Referenced by macro_element_boundary().
|
virtual |
Parametrisation of macro element boundaries: f(s) is the position vector to macro-element m's boundary in the specified direction [N/S/E/W] at the specfied discrete time level (time=0: present; time>0: previous)
Implements oomph::Domain.
Definition at line 227 of file cylinder_with_flag_domain.cc.
References A, Bottom_flag_pt, Cylinder_pt, oomph::QuadTreeNames::E, linear_interpolate(), Lx, Ly, oomph::QuadTreeNames::N, p1, p10, p11, p12, p13, p14, p15, p16, p18, p2, p21, p22, p23, p24, p25, p27, p28, p29, p3, p30, p31, p33, p35, p36, p37, p38, p39, p4, p40, p41, p42, p43, p44, p45, p46, p47, p48, p49, p5, p50, p6, p7, p8, p9, oomph::Circle::position(), oomph::GeomObject::position(), s, oomph::QuadTreeNames::S, Tip_flag_pt, Top_flag_pt, and oomph::QuadTreeNames::W.
|
inline |
Definition at line 92 of file cylinder_with_flag_domain.h.
References Tip_flag_pt.
Referenced by oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::set_tip_flag_pt().
|
inline |
Definition at line 88 of file cylinder_with_flag_domain.h.
References Top_flag_pt.
Referenced by oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::set_top_flag_pt().
|
private |
Definition at line 189 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Pointer to geometric object that represents the bottom of the flag.
Definition at line 171 of file cylinder_with_flag_domain.h.
Referenced by bottom_flag_pt(), and macro_element_boundary().
|
private |
Definition at line 183 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain().
|
private |
Definition at line 186 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain().
|
private |
Pointer to geometric object that represents the central cylinder.
Definition at line 165 of file cylinder_with_flag_domain.h.
Referenced by cylinder_pt(), and macro_element_boundary().
|
private |
Definition at line 177 of file cylinder_with_flag_domain.h.
Referenced by macro_element_boundary().
|
private |
Definition at line 180 of file cylinder_with_flag_domain.h.
Referenced by macro_element_boundary().
|
private |
Definition at line 112 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 121 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 122 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 123 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 124 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 125 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 126 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 127 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 128 of file cylinder_with_flag_domain.h.
|
private |
Definition at line 129 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 130 of file cylinder_with_flag_domain.h.
|
private |
Definition at line 113 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 131 of file cylinder_with_flag_domain.h.
|
private |
Definition at line 132 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 133 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 134 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 135 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 136 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 137 of file cylinder_with_flag_domain.h.
|
private |
Definition at line 138 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 139 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 140 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 114 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 141 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 142 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 143 of file cylinder_with_flag_domain.h.
|
private |
Definition at line 144 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 145 of file cylinder_with_flag_domain.h.
|
private |
Definition at line 146 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 147 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 148 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 149 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 150 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 115 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 151 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 152 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 153 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 154 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 155 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 156 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 157 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 158 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 159 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 160 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 116 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 161 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 117 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 118 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 119 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Definition at line 120 of file cylinder_with_flag_domain.h.
Referenced by CylinderWithFlagDomain(), and macro_element_boundary().
|
private |
Pointer to geometric object that represents the tip of the flag.
Definition at line 174 of file cylinder_with_flag_domain.h.
Referenced by macro_element_boundary(), and tip_flag_pt().
|
private |
Pointer to geometric object that represents the top of the flag.
Definition at line 168 of file cylinder_with_flag_domain.h.
Referenced by macro_element_boundary(), and top_flag_pt().