Public Member Functions | Private Attributes | List of all members
SpikedLine Class Reference
Inheritance diagram for SpikedLine:

Public Member Functions

 SpikedLine (const Vector< Data *> &geom_data_pt)
 Constructor: Four item of geometric data: More...
 
 SpikedLine (const double &height, const double &amplitude, const double &zeta_min, const double &zeta_max)
 Constructor: Pass height, amplitude, zeta min and zeta max (all are pinned by default) More...
 
 ~SpikedLine ()
 Destructor: Clean up if necessary. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 Position Vector at Lagrangian coordinate zeta. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep. More...
 
virtual void dposition (const Vector< double > &zeta, DenseMatrix< double > &drdzeta) const
 Derivative of position Vector w.r.t. to coordinates: $ \frac{dR_i}{d \zeta_\alpha}$ = drdzeta(alpha,i). Evaluated at current time. More...
 
virtual void d2position (const Vector< double > &zeta, RankThreeTensor< double > &ddrdzeta) const
 2nd derivative of position Vector w.r.t. to coordinates: $ \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}$ = ddrdzeta(alpha,beta,i). Evaluated at current time. More...
 
virtual void d2position (const Vector< double > &zeta, Vector< double > &r, DenseMatrix< double > &drdzeta, RankThreeTensor< double > &ddrdzeta) const
 Posn Vector and its 1st & 2nd derivatives w.r.t. to coordinates: $ \frac{dR_i}{d \zeta_\alpha}$ = drdzeta(alpha,i). $ \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}$ = ddrdzeta(alpha,beta,i). Evaluated at current time. More...
 
unsigned ngeom_data () const
 How many items of Data does the shape of the object depend on? More...
 
Data * geom_data_pt (const unsigned &j)
 Return pointer to the j-th Data item that the object's shape depends on. More...
 

Private Attributes

Vector< Data * > Geom_data_pt
 Vector of pointers to Data items that affects the object's shape. More...
 
bool Must_clean_up
 Do I need to clean up? More...
 

Detailed Description

Steady, spiked 1D line in 2D space

\[ x = \zeta \]

\[ y = \left\{ \begin{array}{cl} H + 2A\left(\frac{\zeta - \zeta_{\mbox{min}}} {\zeta_{\mbox{max}} - \zeta_{\mbox{min}}}\right) & \mbox{for } \zeta \leq \frac{1}{2} \left(\zeta_{\mbox{max}} + \zeta_{\mbox{min}}\right)\\H + 2A\left(\frac{\zeta - \zeta_{\mbox{max}}} {\zeta_{\mbox{min}} - \zeta_{\mbox{max}}}\right) & \mbox{for } \zeta > \frac{1}{2} \left(\zeta_{\mbox{max}} + \zeta_{\mbox{min}}\right)\\ \end{array} \right.\]

Definition at line 80 of file spine_channel2.cc.

Constructor & Destructor Documentation

◆ SpikedLine() [1/2]

SpikedLine::SpikedLine ( const Vector< Data *> &  geom_data_pt)
inline

Constructor: Four item of geometric data:

Geom_data_pt[0]->value(0) = height
Geom_data_pt[0]->value(1) = amplitude
Geom_data_pt[0]->value(2) = zeta_min
Geom_data_pt[0]->value(3) = zeta_max

Definition at line 92 of file spine_channel2.cc.

◆ SpikedLine() [2/2]

SpikedLine::SpikedLine ( const double &  height,
const double &  amplitude,
const double &  zeta_min,
const double &  zeta_max 
)
inline

Constructor: Pass height, amplitude, zeta min and zeta max (all are pinned by default)

Definition at line 121 of file spine_channel2.cc.

◆ ~SpikedLine()

SpikedLine::~SpikedLine ( )
inline

Destructor: Clean up if necessary.

Definition at line 146 of file spine_channel2.cc.

Member Function Documentation

◆ d2position() [1/2]

virtual void SpikedLine::d2position ( const Vector< double > &  zeta,
RankThreeTensor< double > &  ddrdzeta 
) const
inlinevirtual

2nd derivative of position Vector w.r.t. to coordinates: $ \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}$ = ddrdzeta(alpha,beta,i). Evaluated at current time.

Definition at line 256 of file spine_channel2.cc.

◆ d2position() [2/2]

virtual void SpikedLine::d2position ( const Vector< double > &  zeta,
Vector< double > &  r,
DenseMatrix< double > &  drdzeta,
RankThreeTensor< double > &  ddrdzeta 
) const
inlinevirtual

Posn Vector and its 1st & 2nd derivatives w.r.t. to coordinates: $ \frac{dR_i}{d \zeta_\alpha}$ = drdzeta(alpha,i). $ \frac{d^2R_i}{d \zeta_\alpha d \zeta_\beta}$ = ddrdzeta(alpha,beta,i). Evaluated at current time.

Definition at line 270 of file spine_channel2.cc.

References Global_Physical_Variables::A, and Global_Physical_Variables::H.

◆ dposition()

virtual void SpikedLine::dposition ( const Vector< double > &  zeta,
DenseMatrix< double > &  drdzeta 
) const
inlinevirtual

Derivative of position Vector w.r.t. to coordinates: $ \frac{dR_i}{d \zeta_\alpha}$ = drdzeta(alpha,i). Evaluated at current time.

Definition at line 231 of file spine_channel2.cc.

References Global_Physical_Variables::A.

◆ geom_data_pt()

Data* SpikedLine::geom_data_pt ( const unsigned &  j)
inline

Return pointer to the j-th Data item that the object's shape depends on.

Definition at line 313 of file spine_channel2.cc.

◆ ngeom_data()

unsigned SpikedLine::ngeom_data ( ) const
inline

How many items of Data does the shape of the object depend on?

Definition at line 309 of file spine_channel2.cc.

◆ position() [1/2]

void SpikedLine::position ( const Vector< double > &  zeta,
Vector< double > &  r 
) const
inline

Position Vector at Lagrangian coordinate zeta.

Definition at line 158 of file spine_channel2.cc.

References Global_Physical_Variables::A, and Global_Physical_Variables::H.

◆ position() [2/2]

void SpikedLine::position ( const unsigned &  t,
const Vector< double > &  zeta,
Vector< double > &  r 
) const
inline

Parametrised position on object: r(zeta). Evaluated at previous timestep. t=0: current time; t>0: previous timestep.

Definition at line 191 of file spine_channel2.cc.

References Global_Physical_Variables::A, and Global_Physical_Variables::H.

Member Data Documentation

◆ Geom_data_pt

Vector<Data*> SpikedLine::Geom_data_pt
private

Vector of pointers to Data items that affects the object's shape.

Definition at line 319 of file spine_channel2.cc.

◆ Must_clean_up

bool SpikedLine::Must_clean_up
private

Do I need to clean up?

Definition at line 322 of file spine_channel2.cc.


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