Granular system
Template parameters
field_value_tprimary field type
real_tscalar field type
integrator_tintegrator type
step_handler_tstep handler type
binary_force_contatiner_tbinary force container type
unary_force_container_tunary force container type
Constructor arguments
std::vector<primary_field_t> x0Buffer with initial positions
std::vector<primary_field_t> v0Buffer with initial velocities
std::vector<primary_field_t> theta0Buffer with initial orientations
std::vector<primary_field_t> omega0Buffer with initial angular velocities
real_t t0Time at which the simulation starts
field_value_t field_zeroZero-valued primary field
real_t real_zeroZero-valued scalar field
step_handler_t & step_handlerReference to step handler
binary_force_contatiner_t binary_force_functorsBinary force model container
unary_force_contatiner_t unary_force_functorsUnary force model container
Public member functions
do_step
Synopsis:
Advances the granular system by one time step
Arguments:
realt_t dttime step to advance the simulation by
Return value:
voidno return value
compute_accelerations (binary)
Synopsis:
Computes the translational and angular accelerations of particle i due to its binary interactions with particle j
Arguments:
size_t iindex of the particle that is being accelerated
size_t jindex of the particle that is acting on particle i
std::vector<fielv_value_t> const & xconst reference to the position buffer
std::vector<fielv_value_t> const & vconst reference to the velocity buffer
std::vector<fielv_value_t> const & thetaconst reference to the orientation buffer
std::vector<fielv_value_t> const & omegaconst reference to the angular velocity buffer
real_t tsimulation time
Return value:
std::pair<field_value_t, field_value_t>translational acceleration and angular acceleration of particle i due to its interaction with particle j
compute_accelerations (unary)
Synopsis:
Computes the translational and angular accelerations of particle i due to the unary forces acting on it
Arguments:
size_t iindex of the particle that is being accelerated
std::vector<fielv_value_t> const & xconst reference to the position buffer
std::vector<fielv_value_t> const & vconst reference to the velocity buffer
std::vector<fielv_value_t> const & thetaconst reference to the orientation buffer
std::vector<fielv_value_t> const & omegaconst reference to the angular velocity buffer
real_t tsimulation time
Return value:
std::pair<field_value_t, field_value_t>translational acceleration and angular acceleration of particle i due to the unary force models acting on it
get_x (inherited)
Synopsis:
Returns a const reference to the particle position buffer
Arguments:
voidno arguments
Return value:
std::vector<field_value_t> const &const reference to the particle position buffer
get_v (inherited)
Synopsis:
Returns a const reference to the particle velocity buffer
Arguments:
voidno arguments
Return value:
std::vector<field_value_t> const &const reference to the particle velocity buffer
get_theta (inherited)
Synopsis:
Returns a const reference to the particle orientation buffer
Arguments:
voidno arguments
Return value:
std::vector<field_value_t> const &const reference to the particle orientation buffer
get_omega (inherited)
Synopsis:
Returns a const reference to the particle angular velocity buffer
Arguments:
voidno arguments
Return value:
std::vector<field_value_t> const &const reference to the particle angular velocity buffer
reset_acceleration_buffers (inherited)
Synopsis:
Sets all the values in translational and angular acceleration buffers to zero
Arguments:
voidno arguments
Return value:
voidno return value