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)
 
 ~OscillatingWall ()
 Destructor: Empty. More...
 
doubleamplitude ()
 Access function to the amplitude. More...
 
doubleperiod ()
 Access function to the period. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
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)
 
 ~OscillatingWall ()
 Destructor: Empty. More...
 
doubleamplitude ()
 Access function to the amplitude. More...
 
doubleperiod ()
 Access function to the period. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
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)
 
 ~OscillatingWall ()
 Destructor: Empty. More...
 
doubleamplitude ()
 Access function to the amplitude. More...
 
doubleperiod ()
 Access function to the period. More...
 
void enable_remain_steady_at_maximum_amplitude ()
 
void disable_remain_steady_at_maximum_amplitude ()
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
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)
 
 ~OscillatingWall ()
 Destructor: Empty. More...
 
doubleamplitude ()
 Access function to the amplitude. More...
 
doubleperiod ()
 Access function to the period. More...
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
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)
 
 ~OscillatingWall ()
 Destructor: Empty. More...
 
doubleamplitude ()
 Access function to the amplitude. More...
 
doubleperiod ()
 Access function to the period. More...
 
void enable_remain_steady_at_maximum_amplitude ()
 
void disable_remain_steady_at_maximum_amplitude ()
 
void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
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...
 
- 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
 

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...
 
TimeTime_pt
 Pointer to the global time object. More...
 
bool Remain_steady_at_maximum_amplitude
 

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

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.

Constructor & Destructor Documentation

◆ OscillatingWall() [1/5]

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

126  :
127  GeomObject(1,2), H(h), Length(l), X_left(x_left), A(a), B(0.0), T(period),
128  Time_pt(time_pt)
129  {}
double X_left
x-coordinate of left end
Definition: collapsible_channel.cc:183
Time * Time_pt
Pointer to the global time object.
Definition: collapsible_channel.cc:195
double B
Relative amplitude of horizontal wall motion.
Definition: collapsible_channel.cc:189
double H
Height at ends.
Definition: collapsible_channel.cc:177
double A
Amplitude of oscillation.
Definition: collapsible_channel.cc:186
double & period()
Access function to the period.
Definition: collapsible_channel.cc:138
double Length
Length.
Definition: collapsible_channel.cc:180
double T
Period of the oscillations.
Definition: collapsible_channel.cc:192
GeomObject()
Default constructor.
Definition: geom_objects.h:104
const Scalar * a
Definition: level2_cplx_impl.h:32

◆ ~OscillatingWall() [1/5]

OscillatingWall::~OscillatingWall ( )
inline

Destructor: Empty.

132 {}

◆ OscillatingWall() [2/5]

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

127  :
128  GeomObject(1,2), H(h), Length(l), X_left(x_left), A(a), B(0.0), T(period),
129  Time_pt(time_pt)
130  {}

◆ ~OscillatingWall() [2/5]

OscillatingWall::~OscillatingWall ( )
inline

Destructor: Empty.

133 {}

◆ OscillatingWall() [3/5]

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

134  :
135  GeomObject(1,2), H(h), Length(l), X_left(x_left), A(a), B(0.0), T(period),
136  Time_pt(time_pt)
137  {
139  }
bool Remain_steady_at_maximum_amplitude
Definition: flux_control.cc:231

◆ ~OscillatingWall() [3/5]

OscillatingWall::~OscillatingWall ( )
inline

Destructor: Empty.

142 {}

◆ OscillatingWall() [4/5]

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

172  :
173  GeomObject(1,2), H(h), Length(l), X_left(x_left), A(a), B(0.0), T(period),
174  Time_pt(time_pt)
175  {}

◆ ~OscillatingWall() [4/5]

OscillatingWall::~OscillatingWall ( )
inline

Destructor: Empty.

178 {}

◆ OscillatingWall() [5/5]

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

133  :
134  GeomObject(1,2), H(h), Length(l), X_left(x_left), A(a), B(0.0), T(period),
135  Time_pt(time_pt)
136  {
138  }

◆ ~OscillatingWall() [5/5]

OscillatingWall::~OscillatingWall ( )
inline

Destructor: Empty.

141 {}

Member Function Documentation

◆ amplitude() [1/5]

double& OscillatingWall::amplitude ( )
inline

Access function to the amplitude.

135 {return A;}

◆ amplitude() [2/5]

double& OscillatingWall::amplitude ( )
inline

Access function to the amplitude.

136 {return A;}

◆ amplitude() [3/5]

double& OscillatingWall::amplitude ( )
inline

Access function to the amplitude.

145 {return A;}

◆ amplitude() [4/5]

double& OscillatingWall::amplitude ( )
inline

Access function to the amplitude.

181 {return A;}

◆ amplitude() [5/5]

double& OscillatingWall::amplitude ( )
inline

Access function to the amplitude.

144 {return A;}

◆ disable_remain_steady_at_maximum_amplitude() [1/2]

void OscillatingWall::disable_remain_steady_at_maximum_amplitude ( )
inline

Set the flag so that the wall continues to oscillate after it reaches maximum amplitude

◆ disable_remain_steady_at_maximum_amplitude() [2/2]

void OscillatingWall::disable_remain_steady_at_maximum_amplitude ( )
inline

Set the flag so that the wall continues to oscillate after it reaches maximum amplitude

◆ enable_remain_steady_at_maximum_amplitude() [1/2]

void OscillatingWall::enable_remain_steady_at_maximum_amplitude ( )
inline

Set the flag so that the wall remains steady once it reaches maximum amplitude

◆ enable_remain_steady_at_maximum_amplitude() [2/2]

void OscillatingWall::enable_remain_steady_at_maximum_amplitude ( )
inline

Set the flag so that the wall remains steady once it reaches maximum amplitude

◆ ngeom_data() [1/5]

unsigned OscillatingWall::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

172 {return 0;}

◆ ngeom_data() [2/5]

unsigned OscillatingWall::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

173 {return 0;}

◆ ngeom_data() [3/5]

unsigned OscillatingWall::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

204 {return 0;}

◆ ngeom_data() [4/5]

unsigned OscillatingWall::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

218 {return 0;}

◆ ngeom_data() [5/5]

unsigned OscillatingWall::ngeom_data ( ) const
inlinevirtual

Number of geometric Data in GeomObject: None.

Reimplemented from oomph::GeomObject.

202 {return 0;}

◆ period() [1/5]

double& OscillatingWall::period ( )
inline

Access function to the period.

138 {return T;}

◆ period() [2/5]

double& OscillatingWall::period ( )
inline

Access function to the period.

139 {return T;}

◆ period() [3/5]

double& OscillatingWall::period ( )
inline

Access function to the period.

148 {return T;}

◆ period() [4/5]

double& OscillatingWall::period ( )
inline

Access function to the period.

184 {return T;}

◆ period() [5/5]

double& OscillatingWall::period ( )
inline

Access function to the period.

147 {return T;}

◆ position() [1/10]

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

Position vector at Lagrangian coordinate zeta at time level t.

Reimplemented from oomph::GeomObject.

144  {
145  using namespace MathematicalConstants;
146 
147  // Smoothly ramp up the oscillation during the first period
148  double ramp=1.0;
149  if (Time_pt->time(t)<T)
150  {
151  ramp=0.5*(1.0-cos(Pi*Time_pt->time(t)/T));
152  }
153 
154  // Position vector
155  r[0] = zeta[0]+X_left
156  -B*A*sin(2.0*3.14159*zeta[0]/Length)*
157  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
158 
159  r[1] = H+A*((Length-zeta[0])*zeta[0])/pow(0.5*Length,2)*
160  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
161 
162  } // end of "unsteady" version
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
AnnoyingScalar sin(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:137
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
double ramp(double x)
Definition: class_CwiseUnaryOp_ptrfun.cpp:5
Definition: matrices.h:74
double & time()
Return the current value of the continuous time.
Definition: timesteppers.h:123
double Pi
Definition: two_d_biharmonic.cc:235
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 pow(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:625
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_zeta_op< typename DerivedX::Scalar >, const DerivedX, const DerivedQ > zeta(const Eigen::ArrayBase< DerivedX > &x, const Eigen::ArrayBase< DerivedQ > &q)
Definition: SpecialFunctionsArrayAPI.h:152
r
Definition: UniformPSDSelfTest.py:20
t
Definition: plotPSD.py:36

References cos(), H, Global_Physical_Variables::Length, BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, ramp(), sin(), plotPSD::t, oomph::Time::time(), Flag_definition::Time_pt, GlobalParameters::X_left, and Eigen::zeta().

◆ position() [2/10]

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

Position vector at Lagrangian coordinate zeta at time level t.

Reimplemented from oomph::GeomObject.

145  {
146  using namespace MathematicalConstants;
147 
148  // Smoothly ramp up the oscillation during the first period
149  double ramp=1.0;
150  if (Time_pt->time(t)<T)
151  {
152  ramp=0.5*(1.0-cos(Pi*Time_pt->time(t)/T));
153  }
154 
155  // Position vector
156  r[0] = zeta[0]+X_left
157  -B*A*sin(2.0*3.14159*zeta[0]/Length)*
158  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
159 
160  r[1] = H+A*((Length-zeta[0])*zeta[0])/pow(0.5*Length,2)*
161  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
162 
163  } // end of "unsteady" version

References cos(), H, Global_Physical_Variables::Length, BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, ramp(), sin(), plotPSD::t, oomph::Time::time(), Flag_definition::Time_pt, GlobalParameters::X_left, and Eigen::zeta().

◆ position() [3/10]

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

Position vector at Lagrangian coordinate zeta at time level t.

Reimplemented from oomph::GeomObject.

165  {
166  using namespace MathematicalConstants;
167 
168  // Smoothly ramp up the oscillation during the first period
169  double ramp=1.0;
170  if (Time_pt->time(t)<T)
171  {
172  ramp=0.5*(1.0-cos(Pi*Time_pt->time(t)/T));
173  }
174 
176  {
177  // Position vector
178  r[0] = zeta[0]+X_left
179  +B*A*sin(2.0*3.14159*zeta[0]/Length)*ramp;
180 
181  r[1] = H-A*((Length-zeta[0])*zeta[0])/pow(0.5*Length,2)*ramp;
182  }
183  else
184  {
185  // Position vector
186  r[0] = zeta[0]+X_left
187  -B*A*sin(2.0*3.14159*zeta[0]/Length)*
188  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
189 
190  r[1] = H+A*((Length-zeta[0])*zeta[0])/pow(0.5*Length,2)*
191  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
192  }
193 
194  } // end of "unsteady" version

References cos(), H, Global_Physical_Variables::Length, BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, ramp(), sin(), plotPSD::t, oomph::Time::time(), Flag_definition::Time_pt, GlobalParameters::X_left, and Eigen::zeta().

◆ position() [4/10]

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

Position vector at Lagrangian coordinate zeta at time level t.

Reimplemented from oomph::GeomObject.

190  {
191  using namespace MathematicalConstants;
192 
193  // Smoothly ramp up the oscillation during the first period
194  double ramp=1.0;
195  if (Time_pt->time(t)<T)
196  {
197  ramp=0.5*(1.0-cos(Pi*Time_pt->time(t)/T));
198  }
199 
200  // Position vector
201  r[0] = zeta[0]+X_left
202  -B*A*sin(2.0*3.14159*zeta[0]/Length)*
203  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
204 
205  r[1] = H+A*((Length-zeta[0])*zeta[0])/pow(0.5*Length,2)*
206  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
207 
208  } // end of "unsteady" version

References cos(), H, Global_Physical_Variables::Length, BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, ramp(), sin(), plotPSD::t, oomph::Time::time(), Flag_definition::Time_pt, GlobalParameters::X_left, and Eigen::zeta().

◆ position() [5/10]

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

Position vector at Lagrangian coordinate zeta at time level t.

Reimplemented from oomph::GeomObject.

163  {
164  using namespace MathematicalConstants;
165 
166  // Smoothly ramp up the oscillation during the first period
167  double ramp=1.0;
168  if (Time_pt->time(t)<T)
169  {
170  ramp=0.5*(1.0-cos(Pi*Time_pt->time(t)/T));
171  }
172 
174  {
175  // Position vector
176  r[0] = zeta[0]+X_left
177  +B*A*sin(2.0*3.14159*zeta[0]/Length)*ramp;
178 
179  r[1] = H-A*((Length-zeta[0])*zeta[0])/pow(0.5*Length,2)*ramp;
180  }
181  else
182  {
183  // Position vector
184  r[0] = zeta[0]+X_left
185  -B*A*sin(2.0*3.14159*zeta[0]/Length)*
186  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
187 
188  r[1] = H+A*((Length-zeta[0])*zeta[0])/pow(0.5*Length,2)*
189  sin(2.0*Pi*(Time_pt->time(t))/T)*ramp;
190  }
191 
192  } // end of "unsteady" version

References cos(), H, Global_Physical_Variables::Length, BiharmonicTestFunctions2::Pi, Eigen::bfloat16_impl::pow(), UniformPSDSelfTest::r, ramp(), sin(), plotPSD::t, oomph::Time::time(), Flag_definition::Time_pt, GlobalParameters::X_left, and Eigen::zeta().

◆ position() [6/10]

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

"Current" position vector at Lagrangian coordinate zeta

Implements oomph::GeomObject.

167  {
168  position (0, zeta, r);
169  }
void position(const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
Definition: collapsible_channel.cc:142

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [7/10]

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

"Current" position vector at Lagrangian coordinate zeta

Implements oomph::GeomObject.

168  {
169  position (0, zeta, r);
170  }

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [8/10]

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

"Current" position vector at Lagrangian coordinate zeta

Implements oomph::GeomObject.

199  {
200  position (0, zeta, r);
201  }

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [9/10]

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

"Current" position vector at Lagrangian coordinate zeta

Implements oomph::GeomObject.

213  {
214  position (0, zeta, r);
215  }

References UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [10/10]

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

"Current" position vector at Lagrangian coordinate zeta

Implements oomph::GeomObject.

197  {
198  position (0, zeta, r);
199  }

References UniformPSDSelfTest::r, and Eigen::zeta().

Member Data Documentation

◆ A

double OscillatingWall::A
private

Amplitude of oscillation.

◆ B

double OscillatingWall::B
private

Relative amplitude of horizontal wall motion.

◆ H

double OscillatingWall::H
private

Height at ends.

◆ Length

double OscillatingWall::Length
private

Length.

◆ Remain_steady_at_maximum_amplitude

bool OscillatingWall::Remain_steady_at_maximum_amplitude
private

Flag which if true causes the wall to move to it's maximum amplitude position over one period and then remains steady

◆ T

double OscillatingWall::T
private

Period of the oscillations.

◆ Time_pt

Time * OscillatingWall::Time_pt
private

Pointer to the global time object.

◆ X_left

double OscillatingWall::X_left
private

x-coordinate of left end


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