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

Public Member Functions

 SinusoidalWall (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...
 
 SinusoidalWall (const Vector< Data *> &geom_data_pt)
 Constructor: One item of geometric data, containing four values: More...
 
 ~SinusoidalWall ()
 Destructor: Clean up if necessary. More...
 
double & height ()
 Access function for horizontal half axis. More...
 
double & amplitude ()
 Access function for vertical half axis. 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

Geometric object representing a sinusoidal wall, parametrised by

\[ x = \zeta \]

\[ y = H + A \sin\left(\frac{2\pi \left(\zeta-\zeta_{\mbox{min}}\right)} {\zeta_{\mbox{max}}-\zeta_{\mbox{min}}} \right)\]

Definition at line 76 of file spine_channel.cc.

Constructor & Destructor Documentation

◆ SinusoidalWall() [1/2]

SinusoidalWall::SinusoidalWall ( 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 83 of file spine_channel.cc.

◆ SinusoidalWall() [2/2]

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

Constructor: One item of geometric data, containing four values:

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 115 of file spine_channel.cc.

◆ ~SinusoidalWall()

SinusoidalWall::~SinusoidalWall ( )
inline

Destructor: Clean up if necessary.

Definition at line 144 of file spine_channel.cc.

Member Function Documentation

◆ amplitude()

double& SinusoidalWall::amplitude ( )
inline

Access function for vertical half axis.

Definition at line 158 of file spine_channel.cc.

◆ d2position() [1/2]

virtual void SinusoidalWall::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 241 of file spine_channel.cc.

References Global_Physical_Variables::A.

◆ d2position() [2/2]

virtual void SinusoidalWall::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 262 of file spine_channel.cc.

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

◆ dposition()

virtual void SinusoidalWall::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 222 of file spine_channel.cc.

References Global_Physical_Variables::A.

◆ geom_data_pt()

Data* SinusoidalWall::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 293 of file spine_channel.cc.

◆ height()

double& SinusoidalWall::height ( )
inline

Access function for horizontal half axis.

Definition at line 155 of file spine_channel.cc.

◆ ngeom_data()

unsigned SinusoidalWall::ngeom_data ( ) const
inline

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

Definition at line 289 of file spine_channel.cc.

◆ position() [1/2]

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

Position vector at Lagrangian coordinate zeta.

Definition at line 162 of file spine_channel.cc.

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

◆ position() [2/2]

void SinusoidalWall::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 188 of file spine_channel.cc.

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

Member Data Documentation

◆ Geom_data_pt

Vector<Data*> SinusoidalWall::Geom_data_pt
private

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

Definition at line 299 of file spine_channel.cc.

◆ Must_clean_up

bool SinusoidalWall::Must_clean_up
private

Do I need to clean up?

Definition at line 302 of file spine_channel.cc.


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