#include <mbd_driving_force.h>
Public Types | |
typedef mbd_types::body_type | body_type |
typedef mbd_types::math_policy::vector3_type | vector3_type |
typedef mbd_types::math_policy::real_type | real_type |
typedef mbd_types::math_policy::value_traits | value_traits |
Public Member Functions | |
DrivingForce () | |
virtual | ~DrivingForce () |
void | compute (body_type const &body, vector3_type &force, vector3_type &torque) |
void | set_global_simulation_time (real_type const &time) |
Protected Attributes | |
vector3_type | m_G |
The Initial Acceleration. Initially set to gravity in positive y-axis. | |
real_type | m_frequency |
The frequency of the driving cycle in (radians per second). | |
real_type | m_phase |
The phase transition of the driving force (initial displacement). | |
real_type | m_time |
The global simulation time, i.e. the time at which the driving force should be evaluated. |
Driving force_type (callback) Class.
This class implemens and oscillating force, i.e. a force which magnitude is modulated by a cosine signal.
The initial un-modulated force is represented as F = m G, where m is the body mass and G is an initial ``gravitational'' acceleration. The driving force is computed as:
F(t) = m cos( t + ) G
This class was contributed by Ricardo Ortiz-Rosado (UIOWA) and tweaked by Kenny Erleben.
typedef mbd_types::body_type OpenTissue::mbd::DrivingForce< mbd_types >::body_type |
Reimplemented from OpenTissue::mbd::ForceInterface< mbd_types >.
typedef mbd_types::math_policy::real_type OpenTissue::mbd::DrivingForce< mbd_types >::real_type |
typedef mbd_types::math_policy::value_traits OpenTissue::mbd::DrivingForce< mbd_types >::value_traits |
typedef mbd_types::math_policy::vector3_type OpenTissue::mbd::DrivingForce< mbd_types >::vector3_type |
Reimplemented from OpenTissue::mbd::ForceInterface< mbd_types >.
OpenTissue::mbd::DrivingForce< mbd_types >::DrivingForce | ( | ) | [inline] |
virtual OpenTissue::mbd::DrivingForce< mbd_types >::~DrivingForce | ( | ) | [inline, virtual] |
void OpenTissue::mbd::DrivingForce< mbd_types >::compute | ( | body_type const & | body, | |
vector3_type & | force, | |||
vector3_type & | torque | |||
) | [inline] |
void OpenTissue::mbd::DrivingForce< mbd_types >::set_global_simulation_time | ( | real_type const & | time | ) | [inline] |
Set Global Simulation Time. This method should be invoked whenever the system time is advanced.
time | The global system simulation time. |
real_type OpenTissue::mbd::DrivingForce< mbd_types >::m_frequency [protected] |
The frequency of the driving cycle in (radians per second).
vector3_type OpenTissue::mbd::DrivingForce< mbd_types >::m_G [protected] |
The Initial Acceleration. Initially set to gravity in positive y-axis.
real_type OpenTissue::mbd::DrivingForce< mbd_types >::m_phase [protected] |
The phase transition of the driving force (initial displacement).
real_type OpenTissue::mbd::DrivingForce< mbd_types >::m_time [protected] |
The global simulation time, i.e. the time at which the driving force should be evaluated.