MyHelicalCylinder Class Reference
+ Inheritance diagram for MyHelicalCylinder:

Public Member Functions

 MyHelicalCylinder (const double &radius, const double &delta, const double &pitch)
 Constructor. More...
 
virtual ~MyHelicalCylinder ()
 Destructor. More...
 
void position (const Vector< double > &xi, Vector< double > &r) const
 Lagrangian coordinate xi. More...
 
void position (const unsigned &t, const Vector< double > &xi, Vector< double > &r) const
 
- 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 unsigned ngeom_data () 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
 

Private Attributes

double Pi
 
double Radius
 
double Delta
 
double P
 

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

The arguemts are the radius of the tube, its curvature in the x,y plane and the pitch of the helix

Constructor & Destructor Documentation

◆ MyHelicalCylinder()

MyHelicalCylinder::MyHelicalCylinder ( const double radius,
const double delta,
const double pitch 
)
inline

Constructor.

51  :
52  GeomObject(3,3),Radius(radius),Delta(delta),P(pitch)
53  {
54  //Set the value of pi
56  }
double Delta
Definition: helical_pipe.cc:81
double Pi
Definition: helical_pipe.cc:79
double P
Definition: helical_pipe.cc:82
double Radius
Definition: helical_pipe.cc:80
GeomObject()
Default constructor.
Definition: geom_objects.h:104
double Pi
Definition: two_d_biharmonic.cc:235
int delta
Definition: MultiOpt.py:96
radius
Definition: UniformPSDSelfTest.py:15

References BiharmonicTestFunctions2::Pi.

◆ ~MyHelicalCylinder()

virtual MyHelicalCylinder::~MyHelicalCylinder ( )
inline

Destructor.

59 {}

Member Function Documentation

◆ position() [1/2]

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

Return the position of the tube as a function of time (doesn't move as a function of time)

Reimplemented from oomph::GeomObject.

74  {
75  position(xi,r);
76  }
void position(const Vector< double > &xi, Vector< double > &r) const
Lagrangian coordinate xi.
Definition: helical_pipe.cc:62
r
Definition: UniformPSDSelfTest.py:20

References UniformPSDSelfTest::r.

◆ position() [2/2]

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

Lagrangian coordinate xi.

Implements oomph::GeomObject.

63 {
64  r[0] = (1.0/Delta)*cos(xi[0]) + xi[2]*Radius*cos(xi[0])*cos(xi[1]);
65  r[1] = (1.0/Delta)*sin(xi[0]) + xi[2]*Radius*sin(xi[0])*cos(xi[1]);
66  r[2] = P*xi[0]/(2.0*Pi) - xi[2]*Radius*sin(xi[1]);
67 }
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137

References cos(), Global_Physical_Variables::Delta, Global_Physical_Variables::P, BiharmonicTestFunctions2::Pi, UniformPSDSelfTest::r, Global_Physical_Variables::Radius, and sin().

Member Data Documentation

◆ Delta

double MyHelicalCylinder::Delta
private

◆ P

double MyHelicalCylinder::P
private

◆ Pi

double MyHelicalCylinder::Pi
private

◆ Radius

double MyHelicalCylinder::Radius
private

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