WavyWall Class Reference
+ Inheritance diagram for WavyWall:

Public Member Functions

 WavyWall (const double &l, const double &amplitude)
 Constructor: Pass wavelength and amplitude. More...
 
void position (const Vector< double > &zeta, Vector< double > &r) const
 Position vector to wavy wall. 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 unsigned ngeom_data () const
 
virtual Datageom_data_pt (const unsigned &j)
 
virtual void position (const unsigned &t, const Vector< double > &zeta, Vector< double > &r) const
 
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
 

Protected Attributes

double L
 Wavelength. More...
 
double A
 Amplitude. More...
 
- 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

//////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// Geometric object representing a wavy wall, parametrised by

\[ x = \zeta \]

\[ y = A (1 - \cos(2\pi\zeta/L) )\]

Constructor & Destructor Documentation

◆ WavyWall()

WavyWall::WavyWall ( const double l,
const double amplitude 
)
inline

Constructor: Pass wavelength and amplitude.

59  : GeomObject(1,2), L(l), A(amplitude) {}
double A
Amplitude.
Definition: simple_spine_channel.cc:74
double L
Wavelength.
Definition: simple_spine_channel.cc:71
GeomObject()
Default constructor.
Definition: geom_objects.h:104

Member Function Documentation

◆ position()

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

Position vector to wavy wall.

Implements oomph::GeomObject.

63  {
64  r[0]=zeta[0];
65  r[1]=A*(1.0-cos(2.0*MathematicalConstants::Pi*zeta[0]/L));
66  }
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
double Pi
Definition: two_d_biharmonic.cc:235
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

References cos(), L, BiharmonicTestFunctions2::Pi, UniformPSDSelfTest::r, and Eigen::zeta().

Member Data Documentation

◆ A

double WavyWall::A
protected

Amplitude.

◆ L

double WavyWall::L
protected

Wavelength.


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