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)
 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.
 
 ~CylinderWithFlagDomain ()
 Destructor: Emtpy because clean up happens in base class as a service to the user!
 
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)
 
Circlecylinder_pt ()
 Access fct to GeomObject (of type Circle) that represents the cylinder.
 
GeomObject *& bottom_flag_pt ()
 Access fct to GeomObjects for top, bottom and tip.
 
GeomObject *& top_flag_pt ()
 
GeomObject *& tip_flag_pt ()
 

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] $.
 

Private Attributes

Vector< doublep1
 
Vector< doublep2
 
Vector< doublep3
 
Vector< doublep4
 
Vector< doublep5
 
Vector< doublep6
 
Vector< doublep7
 
Vector< doublep8
 
Vector< doublep9
 
Vector< doublep10
 
Vector< doublep11
 
Vector< doublep12
 
Vector< doublep13
 
Vector< doublep14
 
Vector< doublep15
 
Vector< doublep16
 
Vector< doublep17
 
Vector< doublep18
 
Vector< doublep19
 
Vector< doublep20
 
Vector< doublep21
 
Vector< doublep22
 
Vector< doublep23
 
Vector< doublep24
 
Vector< doublep25
 
Vector< doublep26
 
Vector< doublep27
 
Vector< doublep28
 
Vector< doublep29
 
Vector< doublep30
 
Vector< doublep31
 
Vector< doublep32
 
Vector< doublep33
 
Vector< doublep34
 
Vector< doublep35
 
Vector< doublep36
 
Vector< doublep37
 
Vector< doublep38
 
Vector< doublep39
 
Vector< doublep40
 
Vector< doublep41
 
Vector< doublep42
 
Vector< doublep43
 
Vector< doublep44
 
Vector< doublep45
 
Vector< doublep46
 
Vector< doublep47
 
Vector< doublep48
 
Vector< doublep49
 
Vector< doublep50
 
CircleCylinder_pt
 Pointer to geometric object that represents the central cylinder.
 
GeomObjectTop_flag_pt
 Pointer to geometric object that represents the top of the flag.
 
GeomObjectBottom_flag_pt
 Pointer to geometric object that represents the bottom of the flag.
 
GeomObjectTip_flag_pt
 Pointer to geometric object that represents the tip of the flag.
 
double Lx
 
double Ly
 
double Centre_x
 
double Centre_y
 
double A
 

Detailed Description

Domain for cylinder with flag as in Turek benchmark.

Definition at line 39 of file cylinder_with_flag_domain.h.

Constructor & Destructor Documentation

◆ CylinderWithFlagDomain()

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 
)
inline

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 196 of file cylinder_with_flag_domain.h.

References A, Centre_x, Centre_y, 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.

◆ ~CylinderWithFlagDomain()

oomph::CylinderWithFlagDomain::~CylinderWithFlagDomain ( )
inline

Destructor: Emtpy because clean up happens in base class as a service to the user!

Definition at line 61 of file cylinder_with_flag_domain.h.

Member Function Documentation

◆ bottom_flag_pt()

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

Access fct to GeomObjects for top, bottom and tip.

Definition at line 82 of file cylinder_with_flag_domain.h.

References Bottom_flag_pt.

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

◆ cylinder_pt()

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

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

Definition at line 76 of file cylinder_with_flag_domain.h.

References Cylinder_pt.

◆ linear_interpolate()

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.

Referenced by macro_element_boundary().

◆ 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 
)
inline

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)

Definition at line 385 of file cylinder_with_flag_domain.h.

References A, Bottom_flag_pt, Cylinder_pt, linear_interpolate(), Lx, Ly, 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, Tip_flag_pt, and Top_flag_pt.

◆ tip_flag_pt()

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

◆ top_flag_pt()

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

Member Data Documentation

◆ A

double oomph::CylinderWithFlagDomain::A
private

Definition at line 186 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ Bottom_flag_pt

GeomObject* oomph::CylinderWithFlagDomain::Bottom_flag_pt
private

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

Definition at line 168 of file cylinder_with_flag_domain.h.

Referenced by bottom_flag_pt(), and macro_element_boundary().

◆ Centre_x

double oomph::CylinderWithFlagDomain::Centre_x
private

Definition at line 180 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain().

◆ Centre_y

double oomph::CylinderWithFlagDomain::Centre_y
private

Definition at line 183 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain().

◆ Cylinder_pt

Circle* oomph::CylinderWithFlagDomain::Cylinder_pt
private

Pointer to geometric object that represents the central cylinder.

Definition at line 162 of file cylinder_with_flag_domain.h.

Referenced by cylinder_pt(), and macro_element_boundary().

◆ Lx

double oomph::CylinderWithFlagDomain::Lx
private

Definition at line 174 of file cylinder_with_flag_domain.h.

Referenced by macro_element_boundary().

◆ Ly

double oomph::CylinderWithFlagDomain::Ly
private

Definition at line 177 of file cylinder_with_flag_domain.h.

Referenced by macro_element_boundary().

◆ p1

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

Definition at line 110 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p10

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

Definition at line 119 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p11

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

Definition at line 120 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p12

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

Definition at line 121 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p13

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

Definition at line 122 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p14

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

Definition at line 123 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p15

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

Definition at line 124 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p16

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

Definition at line 125 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p17

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

Definition at line 126 of file cylinder_with_flag_domain.h.

◆ p18

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

Definition at line 127 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p19

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

Definition at line 128 of file cylinder_with_flag_domain.h.

◆ p2

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

Definition at line 111 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p20

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

Definition at line 129 of file cylinder_with_flag_domain.h.

◆ p21

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

Definition at line 130 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p22

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

Definition at line 131 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p23

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

Definition at line 132 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p24

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

Definition at line 133 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p25

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

Definition at line 134 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p26

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

Definition at line 135 of file cylinder_with_flag_domain.h.

◆ p27

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

Definition at line 136 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p28

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

Definition at line 137 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p29

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

Definition at line 138 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p3

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

Definition at line 112 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p30

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

Definition at line 139 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p31

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

Definition at line 140 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p32

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

Definition at line 141 of file cylinder_with_flag_domain.h.

◆ p33

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

Definition at line 142 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p34

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

Definition at line 143 of file cylinder_with_flag_domain.h.

◆ p35

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

Definition at line 144 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p36

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

Definition at line 145 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p37

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

Definition at line 146 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p38

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

Definition at line 147 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p39

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

Definition at line 148 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p4

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

Definition at line 113 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p40

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

Definition at line 149 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p41

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

Definition at line 150 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p42

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

Definition at line 151 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p43

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

Definition at line 152 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p44

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

Definition at line 153 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p45

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

Definition at line 154 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p46

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

Definition at line 155 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p47

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

Definition at line 156 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p48

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

Definition at line 157 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p49

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

Definition at line 158 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p5

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

Definition at line 114 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p50

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

Definition at line 159 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p6

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

Definition at line 115 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p7

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

Definition at line 116 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p8

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

Definition at line 117 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ p9

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

Definition at line 118 of file cylinder_with_flag_domain.h.

Referenced by CylinderWithFlagDomain(), and macro_element_boundary().

◆ Tip_flag_pt

GeomObject* oomph::CylinderWithFlagDomain::Tip_flag_pt
private

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

Definition at line 171 of file cylinder_with_flag_domain.h.

Referenced by macro_element_boundary(), and tip_flag_pt().

◆ Top_flag_pt

GeomObject* oomph::CylinderWithFlagDomain::Top_flag_pt
private

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

Definition at line 165 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 file: