|
| | 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.