WarpedPlane Class Reference

Warped plane in 3D space. More...

+ Inheritance diagram for WarpedPlane:

Public Member Functions

 WarpedPlane (const double &ampl)
 Constructor: Specify amplitude of deflection from flat horizontal plane. More...
 
 WarpedPlane (const WarpedPlane &dummy)
 Broken copy constructor. More...
 
void operator= (const WarpedPlane &)
 Broken assignment operator. More...
 
 ~WarpedPlane ()
 Empty Destructor. 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
 
doubleampl ()
 Access to amplitude. More...
 
unsigned ngeom_data () const
 
 WarpedPlane (const double &ampl)
 Constructor: Specify amplitude of deflection from flat horizontal plane. More...
 
 WarpedPlane (const WarpedPlane &dummy)
 Broken copy constructor. More...
 
void operator= (const WarpedPlane &)
 Broken assignment operator. More...
 
 ~WarpedPlane ()
 Empty Destructor. 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
 
doubleampl ()
 Access to amplitude. More...
 
unsigned ngeom_data () const
 
- 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 Ampl
 Amplitude of perturbation. More...
 

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

Warped plane in 3D space.

Constructor & Destructor Documentation

◆ WarpedPlane() [1/4]

WarpedPlane::WarpedPlane ( const double ampl)
inline

Constructor: Specify amplitude of deflection from flat horizontal plane.

92  : GeomObject(2,3)
93  {
94  Ampl=ampl;
95  }
double Ampl
Amplitude of perturbation.
Definition: mpi/distribution/three_d_prescribed_displ_lagr_mult/three_d_prescribed_displ_lagr_mult.cc:147
double & ampl()
Access to amplitude.
Definition: mpi/distribution/three_d_prescribed_displ_lagr_mult/three_d_prescribed_displ_lagr_mult.cc:135
GeomObject()
Default constructor.
Definition: geom_objects.h:104

◆ WarpedPlane() [2/4]

WarpedPlane::WarpedPlane ( const WarpedPlane dummy)
inline

Broken copy constructor.

99  {
100  BrokenCopy::broken_copy("WarpedPlane");
101  }
void broken_copy(const std::string &class_name)
Issue error message and terminate execution.
Definition: oomph_utilities.cc:212

References oomph::BrokenCopy::broken_copy().

◆ ~WarpedPlane() [1/2]

WarpedPlane::~WarpedPlane ( )
inline

Empty Destructor.

111 {}

◆ WarpedPlane() [3/4]

WarpedPlane::WarpedPlane ( const double ampl)
inline

Constructor: Specify amplitude of deflection from flat horizontal plane.

94  : GeomObject(2,3)
95  {
96  Ampl=ampl;
97  }

◆ WarpedPlane() [4/4]

WarpedPlane::WarpedPlane ( const WarpedPlane dummy)
inline

Broken copy constructor.

101  {
102  BrokenCopy::broken_copy("WarpedPlane");
103  }

References oomph::BrokenCopy::broken_copy().

◆ ~WarpedPlane() [2/2]

WarpedPlane::~WarpedPlane ( )
inline

Empty Destructor.

113 {}

Member Function Documentation

◆ ampl() [1/2]

double& WarpedPlane::ampl ( )
inline

Access to amplitude.

135 {return Ampl;}

◆ ampl() [2/2]

double& WarpedPlane::ampl ( )
inline

Access to amplitude.

137 {return Ampl;}

◆ ngeom_data() [1/2]

unsigned WarpedPlane::ngeom_data ( ) const
inlinevirtual

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

Reimplemented from oomph::GeomObject.

140  {
141  return 0;
142  }

◆ ngeom_data() [2/2]

unsigned WarpedPlane::ngeom_data ( ) const
inlinevirtual

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

Reimplemented from oomph::GeomObject.

142  {
143  return 0;
144  }

◆ operator=() [1/2]

void WarpedPlane::operator= ( const WarpedPlane )
inline

Broken assignment operator.

105  {
106  BrokenCopy::broken_assign("WarpedPlane");
107  }
void broken_assign(const std::string &class_name)
Issue error message and terminate execution.
Definition: oomph_utilities.cc:195

References oomph::BrokenCopy::broken_assign().

◆ operator=() [2/2]

void WarpedPlane::operator= ( const WarpedPlane )
inline

Broken assignment operator.

107  {
108  BrokenCopy::broken_assign("WarpedPlane");
109  }

References oomph::BrokenCopy::broken_assign().

◆ position() [1/4]

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

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

Reimplemented from oomph::GeomObject.

130  {
131  position(zeta,r);
132  }
void position(const Vector< double > &zeta, Vector< double > &r) const
Position vector at Lagrangian coordinate zeta.
Definition: mpi/distribution/three_d_prescribed_displ_lagr_mult/three_d_prescribed_displ_lagr_mult.cc:114
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 UniformPSDSelfTest::r, and Eigen::zeta().

◆ position() [2/4]

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

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

Reimplemented from oomph::GeomObject.

132  {
133  position(zeta,r);
134  }

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

◆ position() [3/4]

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

Position vector at Lagrangian coordinate zeta.

Implements oomph::GeomObject.

115  {
116  // Position vector
117  r[0] = zeta[0]+5.0*Ampl*zeta[0]*(zeta[0]-1.0)*(zeta[0]-0.7)*
118  zeta[1]*(zeta[1]-1.0);
119  r[1] = zeta[1]+5.0*Ampl*zeta[1]*(zeta[1]-1.0)*(zeta[1]-0.7)*
120  zeta[0]*(zeta[0]-1.0);
121  r[2] = 1.0+Ampl*0.25*(1.0-cos(2.0*MathematicalConstants::Pi*zeta[0]))*
122  (1.0-cos(2.0*MathematicalConstants::Pi*zeta[1]));
123  }
AnnoyingScalar cos(const AnnoyingScalar &x)
Definition: AnnoyingScalar.h:136
double Pi
Definition: two_d_biharmonic.cc:235

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

◆ position() [4/4]

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

Position vector at Lagrangian coordinate zeta.

Implements oomph::GeomObject.

117  {
118  // Position vector
119  r[0] = zeta[0]+5.0*Ampl*zeta[0]*(zeta[0]-1.0)*(zeta[0]-0.7)*
120  zeta[1]*(zeta[1]-1.0);
121  r[1] = zeta[1]+5.0*Ampl*zeta[1]*(zeta[1]-1.0)*(zeta[1]-0.7)*
122  zeta[0]*(zeta[0]-1.0);
123  r[2] = 1.0+Ampl*0.25*(1.0-cos(2.0*MathematicalConstants::Pi*zeta[0]))*
124  (1.0-cos(2.0*MathematicalConstants::Pi*zeta[1]));
125  }

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

Member Data Documentation

◆ Ampl

double WarpedPlane::Ampl
private

Amplitude of perturbation.


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