Public Member Functions | Private Member Functions | Private Attributes | List of all members
oomph::CylinderWithFlagDomain Class Reference

Domain for cylinder with flag as in Turek benchmark. More...

#include <cylinder_with_flag_domain.h>

+ Inheritance diagram for oomph::CylinderWithFlagDomain:

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 &centre_x, const double &centre_y, const double &a)
 
 ~CylinderWithFlagDomain ()
 Destructor: Kill macro elements. 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...
 
Circlecylinder_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 &)
 Broken copy constructor. More...
 
void operator= (const Domain &)
 Broken assignment operator. More...
 
virtual ~Domain ()
 Virtual destructor: Empty. More...
 
MacroElementmacro_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...
 
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...
 
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...
 
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; $ s \in [-1,1] $. 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
 
CircleCylinder_pt
 Pointer to geometric object that represents the central cylinder. More...
 
GeomObjectTop_flag_pt
 Pointer to geometric object that represents the top of the flag. More...
 
GeomObjectBottom_flag_pt
 Pointer to geometric object that represents the bottom of the flag. More...
 
GeomObjectTip_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...
 

Detailed Description

Domain for cylinder with flag as in Turek benchmark.

Definition at line 47 of file cylinder_with_flag_domain.h.

Constructor & Destructor Documentation

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 43 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.

oomph::CylinderWithFlagDomain::~CylinderWithFlagDomain ( )
inline

Destructor: Kill macro elements.

Definition at line 70 of file cylinder_with_flag_domain.h.

References i, and oomph::Domain::Macro_element_pt.

Member Function Documentation

GeomObject*& oomph::CylinderWithFlagDomain::bottom_flag_pt ( )
inline

Access fct to GeomObjects for top, bottom and tip.

Definition at line 90 of file cylinder_with_flag_domain.h.

References Bottom_flag_pt.

Referenced by oomph::AlgebraicCylinderWithFlagMesh< ELEMENT >::set_bottom_flag_pt().

Circle* oomph::CylinderWithFlagDomain::cylinder_pt ( )
inline

Access fct to GeomObject (of type Circle) that represents the cylinder.

Definition at line 87 of file cylinder_with_flag_domain.h.

References Cylinder_pt.

void oomph::CylinderWithFlagDomain::linear_interpolate ( const Vector< double > &  left,
const Vector< double > &  right,
const double &  s,
Vector< double > &  f 
)
inlineprivate

Helper function to interpolate linearly between the "right" and "left" points; $ s \in [-1,1] $.

Definition at line 98 of file cylinder_with_flag_domain.h.

References i.

Referenced by macro_element_boundary().

void oomph::CylinderWithFlagDomain::macro_element_boundary ( const unsigned &  time,
const unsigned &  m,
const unsigned &  direction,
const Vector< double > &  s,
Vector< double > &  f 
)
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)

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::GeomObject::position(), oomph::Circle::position(), oomph::QuadTreeNames::S, Tip_flag_pt, Top_flag_pt, and oomph::QuadTreeNames::W.

GeomObject*& oomph::CylinderWithFlagDomain::tip_flag_pt ( )
inline
GeomObject*& oomph::CylinderWithFlagDomain::top_flag_pt ( )
inline

Member Data Documentation

double oomph::CylinderWithFlagDomain::A
private

Definition at line 187 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

GeomObject* oomph::CylinderWithFlagDomain::Bottom_flag_pt
private

Pointer to geometric object that represents the bottom of the flag.

Definition at line 169 of file cylinder_with_flag_domain.h.

Referenced by bottom_flag_pt(), and macro_element_boundary().

double oomph::CylinderWithFlagDomain::Centre_x
private

Definition at line 181 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain().

double oomph::CylinderWithFlagDomain::Centre_y
private

Definition at line 184 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain().

Circle* oomph::CylinderWithFlagDomain::Cylinder_pt
private

Pointer to geometric object that represents the central cylinder.

Definition at line 163 of file cylinder_with_flag_domain.h.

Referenced by cylinder_pt(), and macro_element_boundary().

double oomph::CylinderWithFlagDomain::Lx
private

Definition at line 175 of file cylinder_with_flag_domain.h.

Referenced by macro_element_boundary().

double oomph::CylinderWithFlagDomain::Ly
private

Definition at line 178 of file cylinder_with_flag_domain.h.

Referenced by macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p1
private

Definition at line 110 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p10
private

Definition at line 119 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p11
private

Definition at line 120 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p12
private

Definition at line 121 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p13
private

Definition at line 122 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p14
private

Definition at line 123 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p15
private

Definition at line 124 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p16
private

Definition at line 125 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p17
private

Definition at line 126 of file cylinder_with_flag_domain.h.

Vector<double> oomph::CylinderWithFlagDomain::p18
private

Definition at line 127 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p19
private

Definition at line 128 of file cylinder_with_flag_domain.h.

Vector<double> oomph::CylinderWithFlagDomain::p2
private

Definition at line 111 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p20
private

Definition at line 129 of file cylinder_with_flag_domain.h.

Vector<double> oomph::CylinderWithFlagDomain::p21
private

Definition at line 130 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p22
private

Definition at line 131 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p23
private

Definition at line 132 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p24
private

Definition at line 133 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p25
private

Definition at line 134 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p26
private

Definition at line 135 of file cylinder_with_flag_domain.h.

Vector<double> oomph::CylinderWithFlagDomain::p27
private

Definition at line 136 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p28
private

Definition at line 137 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p29
private

Definition at line 138 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p3
private

Definition at line 112 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p30
private

Definition at line 139 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p31
private

Definition at line 140 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p32
private

Definition at line 141 of file cylinder_with_flag_domain.h.

Vector<double> oomph::CylinderWithFlagDomain::p33
private

Definition at line 142 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p34
private

Definition at line 143 of file cylinder_with_flag_domain.h.

Vector<double> oomph::CylinderWithFlagDomain::p35
private

Definition at line 144 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p36
private

Definition at line 145 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p37
private

Definition at line 146 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p38
private

Definition at line 147 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p39
private

Definition at line 148 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p4
private

Definition at line 113 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p40
private

Definition at line 149 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p41
private

Definition at line 150 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p42
private

Definition at line 151 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p43
private

Definition at line 152 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p44
private

Definition at line 153 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p45
private

Definition at line 154 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p46
private

Definition at line 155 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p47
private

Definition at line 156 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p48
private

Definition at line 157 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p49
private

Definition at line 158 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p5
private

Definition at line 114 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p50
private

Definition at line 159 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p6
private

Definition at line 115 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p7
private

Definition at line 116 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p8
private

Definition at line 117 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

Vector<double> oomph::CylinderWithFlagDomain::p9
private

Definition at line 118 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

GeomObject* oomph::CylinderWithFlagDomain::Tip_flag_pt
private

Pointer to geometric object that represents the tip of the flag.

Definition at line 172 of file cylinder_with_flag_domain.h.

Referenced by macro_element_boundary(), and tip_flag_pt().

GeomObject* oomph::CylinderWithFlagDomain::Top_flag_pt
private

Pointer to geometric object that represents the top of the flag.

Definition at line 166 of file cylinder_with_flag_domain.h.

Referenced by macro_element_boundary(), and top_flag_pt().


The documentation for this class was generated from the following files: