|
| OscillatingCylinder (double *radius_pt, double *amplitude_pt, Time *time_pt) |
|
virtual | ~OscillatingCylinder () |
| Destructor: Empty. More...
|
|
double & | amplitude () |
| Access function for the amplitude (lvalue) More...
|
|
Time * | time_pt () |
| Access function for the Time pointer. More...
|
|
void | position (const Vector< double > &xi, Vector< double > &r) const |
|
void | position (const unsigned &t, const Vector< double > &xi, Vector< double > &r) const |
|
virtual void | position (const double &t, const Vector< double > &xi, Vector< double > &r) const |
|
virtual void | velocity (const double &t, Vector< double > &u) const |
| Velocity at any given point on the rigid cylinder at time, t. More...
|
|
| OscillatingCylinder (double *radius_pt, double *amplitude_pt, Time *time_pt, const bool &use_transition_phase=true) |
|
virtual | ~OscillatingCylinder () |
| Destructor: Empty. More...
|
|
double & | amplitude () |
| Access function for the amplitude (lvalue) More...
|
|
void | position (const Vector< double > &xi, Vector< double > &r) const |
|
void | position (const unsigned &t, const Vector< double > &xi, Vector< double > &r) const |
|
| OscillatingCylinder (double *radius_pt, double *amplitude_pt, Time *time_pt) |
|
virtual | ~OscillatingCylinder () |
| Destructor: Empty. More...
|
|
double & | amplitude () |
| Access function for the amplitude (lvalue) More...
|
|
Time * | time_pt () |
| Access function for the Time pointer. More...
|
|
void | position (const Vector< double > &xi, Vector< double > &r) const |
|
void | position (const unsigned &t, const Vector< double > &xi, Vector< double > &r) const |
|
virtual void | position (const double &t, const Vector< double > &xi, Vector< double > &r) const |
|
virtual void | velocity (const double &t, Vector< double > &u) const |
| Velocity at any given point on the rigid cylinder at time, t. More...
|
|
| 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 () |
|
TimeStepper * | time_stepper_pt () const |
|
virtual unsigned | ngeom_data () const |
|
virtual Data * | geom_data_pt (const unsigned &j) |
|
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 |
|
Oscillating cylinder class.
///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
Current position vector to material point at Lagrangian coordinate xi (unsteady version). Implementation includes a transition phase where the cylinder oscillates to a smaller amplitude than the target value. Used to ensure that the solution isn't drastically different to that at the next time step. This can be disabled by setting Use_transition_phase to false.
Reimplemented from oomph::GeomObject.
102 std::ostringstream error_message_stream;
105 error_message_stream <<
"Trying to access the position at time history "
106 <<
"value, t: " <<
t <<
".\nThis doesn't make sense "
107 <<
"in the space-time mesh!" << std::endl;
125 double translation=(*Amplitude_pt)*
sin(arg*time);
Definition: oomph_definitions.h:222
double & time()
Return the current value of the continuous time.
Definition: timesteppers.h:123
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86
References OOMPH_CURRENT_FUNCTION, OOMPH_EXCEPTION_LOCATION, oomph::MathematicalConstants::Pi, UniformPSDSelfTest::r, sin(), plotPSD::t, oomph::Time::time(), and Flag_definition::Time_pt.
Current position vector to material point at Lagrangian coordinate xi (unsteady version). Implementation includes a transition phase where the cylinder oscillates to a smaller amplitude than the target value. Used to ensure that the solution isn't drastically different to that at the next time step. This can be disabled by setting Use_transition_phase to false.
Reimplemented from oomph::GeomObject.
158 double translation=(*Amplitude_pt)*
sin(arg*time);
164 double t_transition=2.0;
167 if (time<t_transition)
170 translation*=(time/t_transition)*
exp(1.0-(time/t_transition));
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp(const bfloat16 &a)
Definition: BFloat16.h:615
References Eigen::bfloat16_impl::exp(), oomph::MathematicalConstants::Pi, UniformPSDSelfTest::r, sin(), plotPSD::t, oomph::Time::time(), and Flag_definition::Time_pt.