Flag_definition::BottomOfFlag Class Reference

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

+ Inheritance diagram for Flag_definition::BottomOfFlag:

Public Member Functions

 BottomOfFlag ()
 Constructor: More...
 
 ~BottomOfFlag ()
 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 lower boundary of the flag.

Constructor & Destructor Documentation

◆ BottomOfFlag()

Flag_definition::BottomOfFlag::BottomOfFlag ( )
inline

Constructor:

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

◆ ~BottomOfFlag()

Flag_definition::BottomOfFlag::~BottomOfFlag ( )
inline

Destructor (empty)

185 {}

Member Function Documentation

◆ ngeom_data()

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

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

217 {return 0;}

◆ position() [1/2]

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

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

Reimplemented from oomph::GeomObject.

192  {
193  // Compute position of fixed point on the cylinder
194  Vector<double> point_on_circle(2);
195  point_on_circle[0]=Centre_x+Radius*sqrt(1.0-H*H/(4.0*Radius*Radius));
196  point_on_circle[1]=Centre_y-H/2.0;
197 
198  r[0] = point_on_circle[0]+ xi[0]/L*(lower_tip(Time_pt->time(t))[0]-
199  point_on_circle[0]);
200 
201  r[1] = point_on_circle[1]+ xi[0]/L*(lower_tip(Time_pt->time(t))[1]-
202  point_on_circle[1])+
203  1.0/3.0*sin((r[0]-point_on_circle[0])/
204  (lower_tip(Time_pt->time(t))[0]-
205  point_on_circle[0])*MathematicalConstants::Pi)
207  }
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
double H
Height of flag.
Definition: turek_flag_non_fsi.cc:73
Vector< double > lower_tip(const double &t)
Time-dependent vector to bottom tip of the "flag".
Definition: turek_flag_non_fsi.cc:108
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::lower_tip(), Flag_definition::Period, BiharmonicTestFunctions2::Pi, UniformPSDSelfTest::r, Flag_definition::Radius, sin(), sqrt(), plotPSD::t, oomph::Time::time(), and Flag_definition::Time_pt.

◆ position() [2/2]

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

Current position.

Implements oomph::GeomObject.

212  {
213  return position(0,xi,r);
214  }
void position(const unsigned &t, const Vector< double > &xi, Vector< double > &r) const
Definition: turek_flag_non_fsi.cc:190

References UniformPSDSelfTest::r.


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