Flag_definition Namespace Reference

Namespace for definition of flag boundaries. More...

Classes

class  TopOfFlag
 GeomObject that defines the upper boundary of the flag. More...
 
class  BottomOfFlag
 GeomObject that defines the lower boundary of the flag. More...
 
class  TipOfFlag
 GeomObject that defines the tip of the flag. More...
 

Functions

Vector< doubleupper_tip (const double &t)
 Time-dependent vector to upper tip of the "flag". More...
 
Vector< doublelower_tip (const double &t)
 Time-dependent vector to bottom tip of the "flag". More...
 
void setup (Time *time_pt)
 Create all GeomObjects needed to define the cylinder and the flag. More...
 

Variables

double Period =10.0
 Period of prescribed flag oscillation. More...
 
double H =0.2
 Height of flag. More...
 
double L =3.5
 Length of flag. More...
 
double Centre_x =2.0
 x position of centre of cylinder More...
 
double Centre_y =2.0
 y position of centre of cylinder More...
 
double Radius =0.5
 Radius of cylinder. More...
 
double Amplitude =0.33
 Amplitude of tip deflection. More...
 
TimeTime_pt =0
 Pointer to the global time object. More...
 
TopOfFlagTop_flag_pt =0
 Pointer to GeomObject that bounds the upper edge of the flag. More...
 
BottomOfFlagBottom_flag_pt =0
 Pointer to GeomObject that bounds the bottom edge of the flag. More...
 
TipOfFlagTip_flag_pt =0
 Pointer to GeomObject that bounds the tip edge of the flag. More...
 
CircleCylinder_pt =0
 

Detailed Description

Namespace for definition of flag boundaries.

Function Documentation

◆ lower_tip()

Vector<double> Flag_definition::lower_tip ( const double t)

Time-dependent vector to bottom tip of the "flag".

109  {
110  double tmp_ampl=Amplitude;
111  if (t<=0.0) tmp_ampl=0.0;
112  Vector<double> lowertip(2);
113  lowertip[0]= Centre_x+Radius*sqrt(1.0-H*H/(4.0*Radius*Radius))+L;
114  lowertip[1]= Centre_y-0.5*H-
115  tmp_ampl*sin(2.0*MathematicalConstants::Pi*t/Period);
116  return lowertip;
117  } // end of bottom tip
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
MatrixXf H
Definition: HessenbergDecomposition_matrixH.cpp:4
MatrixXd L
Definition: LLT_example.cpp:6
double Pi
Definition: two_d_biharmonic.cc:235
double Centre_y
y position of centre of cylinder
Definition: turek_flag_non_fsi.cc:82
double Period
Period of prescribed flag oscillation.
Definition: turek_flag_non_fsi.cc:70
double Centre_x
x position of centre of cylinder
Definition: turek_flag_non_fsi.cc:79
double Radius
Radius of cylinder.
Definition: turek_flag_non_fsi.cc:85
double Amplitude
Amplitude of tip deflection.
Definition: turek_flag_non_fsi.cc:88
t
Definition: plotPSD.py:36

References Amplitude, Centre_x, Centre_y, H, L, Period, BiharmonicTestFunctions2::Pi, Radius, sin(), sqrt(), and plotPSD::t.

Referenced by Flag_definition::BottomOfFlag::position(), and Flag_definition::TipOfFlag::position().

◆ setup()

void Flag_definition::setup ( Time time_pt)

Create all GeomObjects needed to define the cylinder and the flag.

Create GeomObject that bounds the upper edge of the flag

Create GeomObject that bounds the bottom edge of the flag

Create GeomObject that bounds the tip edge of the flag

278  {
279  // Assign pointer to global time object
280  Time_pt=time_pt;
281 
282  // Create GeomObject of type Circle that defines the
283  // central cylinder.
285 
287  Top_flag_pt=new TopOfFlag;
288 
290  Bottom_flag_pt=new BottomOfFlag;
291 
293  Tip_flag_pt=new TipOfFlag;
294 
295  }
Definition: geom_objects.h:873
TipOfFlag * Tip_flag_pt
Pointer to GeomObject that bounds the tip edge of the flag.
Definition: turek_flag_non_fsi.cc:270
Circle * Cylinder_pt
Definition: turek_flag_non_fsi.cc:274
Time * Time_pt
Pointer to the global time object.
Definition: turek_flag_non_fsi.cc:91
BottomOfFlag * Bottom_flag_pt
Pointer to GeomObject that bounds the bottom edge of the flag.
Definition: turek_flag_non_fsi.cc:267
TopOfFlag * Top_flag_pt
Pointer to GeomObject that bounds the upper edge of the flag.
Definition: turek_flag_non_fsi.cc:264

References Bottom_flag_pt, Centre_x, Centre_y, Cylinder_pt, Radius, Time_pt, Tip_flag_pt, and Top_flag_pt.

Referenced by ElasticCollapsibleChannelMesh< ELEMENT >::ElasticCollapsibleChannelMesh(), ElasticRefineableCollapsibleChannelMesh< ELEMENT >::ElasticRefineableCollapsibleChannelMesh(), main(), run_impedance_tube(), run_navier_stokes_outflow(), HelmholtzPointSourceProblem< ELEMENT >::setup_point_source(), and TurekNonFSIProblem< ELEMENT >::TurekNonFSIProblem().

◆ upper_tip()

Vector<double> Flag_definition::upper_tip ( const double t)

Time-dependent vector to upper tip of the "flag".

97  {
98  double tmp_ampl=Amplitude;
99  if (t<=0.0) tmp_ampl=0.0;
100  Vector<double> uppertip(2);
101  uppertip[0]= Centre_x+Radius*sqrt(1.0-H*H/(4.0*Radius*Radius))+L;
102  uppertip[1]= Centre_y+0.5*H-
103  tmp_ampl*sin(2.0*MathematicalConstants::Pi*t/Period);
104  return uppertip;
105  }

References Amplitude, Centre_x, Centre_y, H, L, Period, BiharmonicTestFunctions2::Pi, Radius, sin(), sqrt(), and plotPSD::t.

Referenced by Flag_definition::TopOfFlag::position(), and Flag_definition::TipOfFlag::position().

Variable Documentation

◆ Amplitude

double Flag_definition::Amplitude =0.33

Amplitude of tip deflection.

Referenced by lower_tip(), and upper_tip().

◆ Bottom_flag_pt

◆ Centre_x

◆ Centre_y

◆ Cylinder_pt

Circle* Flag_definition::Cylinder_pt =0

Pointer to GeomObject of type Circle that defines the central cylinder.

Referenced by setup(), and TurekNonFSIProblem< ELEMENT >::TurekNonFSIProblem().

◆ H

double Flag_definition::H =0.2

◆ L

double Flag_definition::L =3.5

◆ Period

double Flag_definition::Period =10.0

◆ Radius

◆ Time_pt

◆ Tip_flag_pt

◆ Top_flag_pt