Triangular facet
Template parameters
field_value_t
primary field type
real_t
scalar field type
surface_force_functors_t ...
list of surface force model types
Constructor arguments
field_value_t v_facet
initial translational velocity of the facet
std::tuple<field_value_t, field_value_t, field_value_t> vertices
vertices of the triangular facet
surface_force_functors_t & ...
list of surface force model references
Public member functions
operator ()
Synopsis:
Called by the unary force container to compute the acceleration of particle i due to surface forces exerted on it because of the triangular facet
Arguments:
size_t i
index of the particle that is being accelerated
std::vector<fielv_value_t> const & x
const reference to the position buffer
std::vector<fielv_value_t> const & v
const reference to the velocity buffer
std::vector<fielv_value_t> const & theta
const reference to the orientation buffer
std::vector<fielv_value_t> const & omega
const reference to the angular velocity buffer
real_t t
simulation time
Return value:
std::pair<field_value_t, field_value_t>
translational acceleration and angular acceleration of particle i due to surface forces exerted on it by the triangular facet
get_unit_normal()
Synopsis:
Returns the normal unit vector of the plane in which the triangular facet lies
Arguments:
void
no arguments
Return value:
field_value_t const &
const reference to the normal unit vector of the plane in which the triangular facet lies
get_vertices()
Synopsis:
Returns the tuple with current positions of the vertices of the triangular facet
Arguments:
void
no arguments
Return value:
std::tuple<field_value_t, field_value_t, field_value_t> const &
const reference to the tuple containing the positions of the vertices of the triangular facet
update_positions()
Synopsis:
Needs to be called at every integration time step to update the positions of the vertices based on the facet velocity, v_facet
, unless the facet is static
Arguments:
real_t dt
time step by which the vertex positions need to be advanced
void
no return value
Public member variables
field_value_t v_facet
current translational velocity of the triangular facet