Flag_definition::TopOfFlag Class Reference

GeomObject that defines the upper boundary of the flag. More...

+ Inheritance diagram for Flag_definition::TopOfFlag:

Public Member Functions

 TopOfFlag ()
 Constructor: It's a 1D object in 2D space. More...
 
 ~TopOfFlag ()
 Destructor (empty) More...
 
void position (const unsigned &t, const Vector< double > &xi, Vector< double > &r) const
 
void position (const Vector< double > &xi, Vector< double > &r) const
 Current position. More...
 
unsigned ngeom_data () const
 Number of geometric Data in GeomObject: None. More...
 
- Public Member Functions inherited from oomph::GeomObject
 GeomObject ()
 Default constructor. More...
 
 GeomObject (const unsigned &ndim)
 
 GeomObject (const unsigned &nlagrangian, const unsigned &ndim)
 
 GeomObject (const unsigned &nlagrangian, const unsigned &ndim, TimeStepper *time_stepper_pt)
 
 GeomObject (const GeomObject &dummy)=delete
 Broken copy constructor. More...
 
void operator= (const GeomObject &)=delete
 Broken assignment operator. More...
 
virtual ~GeomObject ()
 (Empty) destructor More...
 
unsigned nlagrangian () const
 Access function to # of Lagrangian coordinates. More...
 
unsigned ndim () const
 Access function to # of Eulerian coordinates. More...
 
void set_nlagrangian_and_ndim (const unsigned &n_lagrangian, const unsigned &n_dim)
 Set # of Lagrangian and Eulerian coordinates. More...
 
TimeStepper *& time_stepper_pt ()
 
TimeSteppertime_stepper_pt () const
 
virtual Datageom_data_pt (const unsigned &j)
 
virtual void position (const double &t, const Vector< double > &zeta, Vector< double > &r) const
 
virtual void dposition_dt (const Vector< double > &zeta, const unsigned &j, Vector< double > &drdt)
 
virtual void dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const
 
virtual void d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const
 
virtual void d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const
 
virtual void locate_zeta (const Vector< double > &zeta, GeomObject *&sub_geom_object_pt, Vector< double > &s, const bool &use_coordinate_as_initial_guess=false)
 
virtual void interpolated_zeta (const Vector< double > &s, Vector< double > &zeta) const
 

Additional Inherited Members

- Protected Attributes inherited from oomph::GeomObject
unsigned NLagrangian
 Number of Lagrangian (intrinsic) coordinates. More...
 
unsigned Ndim
 Number of Eulerian coordinates. More...
 
TimeStepperGeom_object_time_stepper_pt
 

Detailed Description

GeomObject that defines the upper boundary of the flag.

Constructor & Destructor Documentation

◆ TopOfFlag()

Flag_definition::TopOfFlag::TopOfFlag ( )
inline

Constructor: It's a 1D object in 2D space.

132 : GeomObject(1,2) {}
GeomObject()
Default constructor.
Definition: geom_objects.h:104

◆ ~TopOfFlag()

Flag_definition::TopOfFlag::~TopOfFlag ( )
inline

Destructor (empty)

135 {}

Member Function Documentation

◆ ngeom_data()

unsigned Flag_definition::TopOfFlag::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

167 {return 0;}

◆ position() [1/2]

void Flag_definition::TopOfFlag::position ( const unsigned t,
const Vector< double > &  xi,
Vector< double > &  r 
) const
inlinevirtual

Return the position along the top of the flag (xi[0] varies between 0 and Lx)

Reimplemented from oomph::GeomObject.

141  {
142  // Compute position of fixed point on the cylinder
143  Vector<double> point_on_circle(2);
144  point_on_circle[0]=Centre_x+Radius*sqrt(1.0-H*H/(4.0*Radius*Radius));
145  point_on_circle[1]=Centre_y+H/2.0;
146 
147  r[0] = point_on_circle[0]+xi[0]/L*(upper_tip(Time_pt->time(t))[0]-
148  point_on_circle[0]);
149 
150  r[1] = point_on_circle[1]+xi[0]/L*(upper_tip(Time_pt->time(t))[1]-
151  point_on_circle[1])+
152  1.0/3.0*sin((r[0]-point_on_circle[0])/
153  (upper_tip(Time_pt->time(t))[0]-
154  point_on_circle[0])*MathematicalConstants::Pi)
156 
157  }
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
AnnoyingScalar sqrt(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:134
double & time()
Return the current value of the continuous time.
Definition: timesteppers.h:123
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
Vector< double > upper_tip(const double &t)
Time-dependent vector to upper tip of the "flag".
Definition: turek_flag_non_fsi.cc:96
double H
Height of flag.
Definition: turek_flag_non_fsi.cc:73
double Radius
Radius of cylinder.
Definition: turek_flag_non_fsi.cc:85
double L
Length of flag.
Definition: turek_flag_non_fsi.cc:76
Time * Time_pt
Pointer to the global time object.
Definition: turek_flag_non_fsi.cc:91
r
Definition: UniformPSDSelfTest.py:20
t
Definition: plotPSD.py:36

References Flag_definition::Centre_x, Flag_definition::Centre_y, H, L, Flag_definition::Period, BiharmonicTestFunctions2::Pi, UniformPSDSelfTest::r, Flag_definition::Radius, sin(), sqrt(), plotPSD::t, oomph::Time::time(), Flag_definition::Time_pt, and Flag_definition::upper_tip().

◆ position() [2/2]

void Flag_definition::TopOfFlag::position ( const Vector< double > &  xi,
Vector< double > &  r 
) const
inlinevirtual

Current position.

Implements oomph::GeomObject.

162  {
163  return position(0,xi,r);
164  }
void position(const unsigned &t, const Vector< double > &xi, Vector< double > &r) const
Definition: turek_flag_non_fsi.cc:139

References UniformPSDSelfTest::r.


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