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

Public Member Functions

 OscillatingWall (const double &h, const double &x_left, const double &l, const double &a, const double &period, Time *time_pt)
 Constructor : It's a 2D object, parametrised by one Lagrangian coordinate. Arguments: height at ends, x-coordinate of left end, length, amplitude of deflection, period of oscillation, and pointer to time object. More...
 
 ~OscillatingWall ()
 Destructor: Empty. More...
 
double & amplitude ()
 Access function to the amplitude. More...
 
double & period ()
 Access function to the period. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 Position vector at Lagrangian coordinate zeta at time level t. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 "Current" position vector at Lagrangian coordinate zeta More...
 
unsigned ngeom_data () const
 Number of geometric Data in GeomObject: None. More...
 
 OscillatingWall (const double &h, const double &x_left, const double &l, const double &a, const double &period, Time *time_pt)
 Constructor : It's a 2D object, parametrised by one Lagrangian coordinate. Arguments: height at ends, x-coordinate of left end, length, amplitude of deflection, period of oscillation, and pointer to time object. More...
 
 ~OscillatingWall ()
 Destructor: Empty. More...
 
double & amplitude ()
 Access function to the amplitude. More...
 
double & period ()
 Access function to the period. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 Position vector at Lagrangian coordinate zeta at time level t. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 "Current" position vector at Lagrangian coordinate zeta More...
 
unsigned ngeom_data () const
 Number of geometric Data in GeomObject: None. More...
 

Private Attributes

double H
 Height at ends. More...
 
double Length
 Length. More...
 
double X_left
 x-coordinate of left end More...
 
double A
 Amplitude of oscillation. More...
 
double B
 Relative amplitude of horizontal wall motion. More...
 
double T
 Period of the oscillations. More...
 
Time * Time_pt
 Pointer to the global time object. More...
 

Detailed Description

Straight, horizontal channel wall at $ y=H $ deforms into an oscillating parabola. The amplitude of the oscillation $ A $ and its period is $ T $. The position vector to a point on the wall, parametrised by the Lagrangian coordinate $ \zeta \in [0,L]$, is therefore given by

\[ {\bf R}(\zeta,t) = \left( \begin{array}{c} L_{up} + \zeta \\ 1 \end{array} \right) + A \left( \begin{array}{l} - B \sin\left(\frac{2\pi}{L_{collapsible}}\zeta\right) \\ \left( \frac{2}{L_{collapsible}}\right)^2 \zeta \ (L-\zeta) \end{array} \right) \ \sin\left(\frac{2\pi t}{T}\right) \ {\cal R}(t) \]

The parameter $ B $ is zero by default. If it is set to a nonzero value, the material particles on the wall also perform some horizontal motion. The "ramp" function

\[ {\cal R}(t) = \left\{ \begin{array}{ll} \frac{1}{2}(1-\cos(\pi t/T)) & \mbox{for $t<T$} \\ 1 & \mbox{for $t \ge T$} \end{array} \right. \]

provides a "smooth" startup of the oscillation.

Straight, horizontal channel wall at $ y=H $ deforms into an oscillating parabola. The amplitude of the oscillation $ A $ and its period is $ T $. The position vector to a point on the wall, parametrised by the Lagrangian coordinate $ \zeta \in [0,L]$, is therefore given by

\[ {\bf R}(\zeta,t) = \left( \begin{array}{c} L_{up} + \zeta \newline 1 \end{array} \right) + A \left( \begin{array}{l} - B \sin\left(\frac{2\pi}{L_{collapsible}}\zeta\right) \newline \left(\frac{2}{L_{collapsible}}\right)^2 \zeta \ (L-\zeta) \end{array} \right) \ \sin\left(\frac{2\pi t}{T}\right) \ {\cal R}(t) \]

The parameter $ B $ is zero by default. If it is set to a nonzero value, the material particles on the wall also perform some horizontal motion. The "ramp" function

\[ {\cal R}(t) = \left\{ \begin{array}{ll} \frac{1}{2}(1-\cos(\pi t/T)) & \mbox{for $t<T$} \\ 1 & \mbox{for $t \ge T$} \end{array} \right. \]

provides a "smooth" startup of the oscillation.

Definition at line 120 of file collapsible_channel.cc.

Constructor & Destructor Documentation

◆ OscillatingWall() [1/2]

OscillatingWall::OscillatingWall ( const double &  h,
const double &  x_left,
const double &  l,
const double &  a,
const double &  period,
Time *  time_pt 
)
inline

Constructor : It's a 2D object, parametrised by one Lagrangian coordinate. Arguments: height at ends, x-coordinate of left end, length, amplitude of deflection, period of oscillation, and pointer to time object.

Definition at line 129 of file collapsible_channel.cc.

◆ ~OscillatingWall() [1/2]

OscillatingWall::~OscillatingWall ( )
inline

Destructor: Empty.

Definition at line 136 of file collapsible_channel.cc.

◆ OscillatingWall() [2/2]

OscillatingWall::OscillatingWall ( const double &  h,
const double &  x_left,
const double &  l,
const double &  a,
const double &  period,
Time *  time_pt 
)
inline

Constructor : It's a 2D object, parametrised by one Lagrangian coordinate. Arguments: height at ends, x-coordinate of left end, length, amplitude of deflection, period of oscillation, and pointer to time object.

Definition at line 130 of file collapsible_channel_algebraic.cc.

◆ ~OscillatingWall() [2/2]

OscillatingWall::~OscillatingWall ( )
inline

Destructor: Empty.

Definition at line 137 of file collapsible_channel_algebraic.cc.

Member Function Documentation

◆ amplitude() [1/2]

double& OscillatingWall::amplitude ( )
inline

Access function to the amplitude.

Definition at line 139 of file collapsible_channel.cc.

◆ amplitude() [2/2]

double& OscillatingWall::amplitude ( )
inline

Access function to the amplitude.

Definition at line 140 of file collapsible_channel_algebraic.cc.

◆ ngeom_data() [1/2]

unsigned OscillatingWall::ngeom_data ( ) const
inline

Number of geometric Data in GeomObject: None.

Definition at line 176 of file collapsible_channel.cc.

◆ ngeom_data() [2/2]

unsigned OscillatingWall::ngeom_data ( ) const
inline

◆ period() [1/2]

double& OscillatingWall::period ( )
inline

Access function to the period.

Definition at line 142 of file collapsible_channel.cc.

◆ period() [2/2]

double& OscillatingWall::period ( )
inline

Access function to the period.

Definition at line 143 of file collapsible_channel_algebraic.cc.

◆ position() [1/4]

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

Position vector at Lagrangian coordinate zeta at time level t.

Definition at line 146 of file collapsible_channel.cc.

◆ position() [2/4]

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

Position vector at Lagrangian coordinate zeta at time level t.

Definition at line 147 of file collapsible_channel_algebraic.cc.

◆ position() [3/4]

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

"Current" position vector at Lagrangian coordinate zeta

Definition at line 170 of file collapsible_channel.cc.

◆ position() [4/4]

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

"Current" position vector at Lagrangian coordinate zeta

Definition at line 171 of file collapsible_channel_algebraic.cc.

Member Data Documentation

◆ A

double OscillatingWall::A
private

Amplitude of oscillation.

Definition at line 190 of file collapsible_channel.cc.

◆ B

double OscillatingWall::B
private

Relative amplitude of horizontal wall motion.

Definition at line 193 of file collapsible_channel.cc.

◆ H

double OscillatingWall::H
private

Height at ends.

Definition at line 181 of file collapsible_channel.cc.

◆ Length

double OscillatingWall::Length
private

Length.

Definition at line 184 of file collapsible_channel.cc.

◆ T

double OscillatingWall::T
private

Period of the oscillations.

Definition at line 196 of file collapsible_channel.cc.

◆ Time_pt

Time * OscillatingWall::Time_pt
private

Pointer to the global time object.

Definition at line 199 of file collapsible_channel.cc.

◆ X_left

double OscillatingWall::X_left
private

x-coordinate of left end

Definition at line 187 of file collapsible_channel.cc.


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