Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes

OpenTissue::mbd::BisectionStepSimulator< mbd_types > Class Template Reference

#include <mbd_bisection_step_simulator.h>

Inheritance diagram for OpenTissue::mbd::BisectionStepSimulator< mbd_types >:
OpenTissue::mbd::SimulatorInterface< mbd_types >

List of all members.

Classes

class  constraint_traits
class  edge_traits
class  node_traits

Public Member Functions

 BisectionStepSimulator ()
virtual ~BisectionStepSimulator ()
void run (real_type const &time_step)

Protected Types

typedef
mbd_types::math_policy::index_type 
size_type
typedef
mbd_types::math_policy::real_type 
real_type
typedef
mbd_types::math_policy::vector_type 
vector_type
typedef mbd_types::group_type group_type
typedef
mbd_types::group_ptr_container 
group_ptr_container

Protected Member Functions

void error_correction (group_ptr_container &groups)
void resolve_collisions (group_ptr_container &groups)
void run (group_ptr_container &groups, real_type const &time_step)
void record_state ()
void rewind_state ()

Protected Attributes

vector_type m_s
 Generalized position vector of all bodies.
vector_type m_u
 Generalized velocity vector of all bodies.
group_typem_all
group_ptr_container m_groups
 Temporary Storage, used to hold results from the collision detection engine.

Detailed Description

template<typename mbd_types>
class OpenTissue::mbd::BisectionStepSimulator< mbd_types >

A Bisection Time-based Simulator. This simulator tries to find the time of impact using bisection, it then ask the stepper to resolve collisions at that time, before it tries to simulate forward again.

This kind of simulator was designed with acceleration based formulations in mind.

This kind of simulator requires the stepper method to have three methods: A run method, a resolve_collisions method, and a error_correction method.

09-09-2004 KE: This simulator have not been tested yet....


Member Typedef Documentation

template<typename mbd_types >
typedef mbd_types::group_ptr_container OpenTissue::mbd::BisectionStepSimulator< mbd_types >::group_ptr_container [protected]
template<typename mbd_types >
typedef mbd_types::group_type OpenTissue::mbd::BisectionStepSimulator< mbd_types >::group_type [protected]
template<typename mbd_types >
typedef mbd_types::math_policy::real_type OpenTissue::mbd::BisectionStepSimulator< mbd_types >::real_type [protected]
template<typename mbd_types >
typedef mbd_types::math_policy::index_type OpenTissue::mbd::BisectionStepSimulator< mbd_types >::size_type [protected]
template<typename mbd_types >
typedef mbd_types::math_policy::vector_type OpenTissue::mbd::BisectionStepSimulator< mbd_types >::vector_type [protected]

Constructor & Destructor Documentation

template<typename mbd_types >
OpenTissue::mbd::BisectionStepSimulator< mbd_types >::BisectionStepSimulator (  )  [inline]
template<typename mbd_types >
virtual OpenTissue::mbd::BisectionStepSimulator< mbd_types >::~BisectionStepSimulator (  )  [inline, virtual]

Member Function Documentation

template<typename mbd_types >
void OpenTissue::mbd::BisectionStepSimulator< mbd_types >::error_correction ( group_ptr_container groups  )  [inline, protected]
template<typename mbd_types >
void OpenTissue::mbd::BisectionStepSimulator< mbd_types >::record_state (  )  [inline, protected]
template<typename mbd_types >
void OpenTissue::mbd::BisectionStepSimulator< mbd_types >::resolve_collisions ( group_ptr_container groups  )  [inline, protected]
template<typename mbd_types >
void OpenTissue::mbd::BisectionStepSimulator< mbd_types >::rewind_state (  )  [inline, protected]
template<typename mbd_types >
void OpenTissue::mbd::BisectionStepSimulator< mbd_types >::run ( real_type const &  time_step  )  [inline, virtual]
template<typename mbd_types >
void OpenTissue::mbd::BisectionStepSimulator< mbd_types >::run ( group_ptr_container groups,
real_type const &  time_step 
) [inline, protected]

Member Data Documentation

template<typename mbd_types >
group_type* OpenTissue::mbd::BisectionStepSimulator< mbd_types >::m_all [protected]

body_type group, used to handle the state of all bodies at once, see record_state() and rewind_state() methods

template<typename mbd_types >
group_ptr_container OpenTissue::mbd::BisectionStepSimulator< mbd_types >::m_groups [protected]

Temporary Storage, used to hold results from the collision detection engine.

template<typename mbd_types >
vector_type OpenTissue::mbd::BisectionStepSimulator< mbd_types >::m_s [protected]

Generalized position vector of all bodies.

template<typename mbd_types >
vector_type OpenTissue::mbd::BisectionStepSimulator< mbd_types >::m_u [protected]

Generalized velocity vector of all bodies.


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