variational_force Abstract Interface

abstract interface
public subroutine variational_force(t, state, force, torque, args)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: t

The current simulation time.

type(variational_state), intent(in) :: state

The current maximal-coordinate state.

real(kind=real64), intent(out), dimension(:,:) :: force

The 3-by-nbody world-frame force array.

real(kind=real64), intent(out), dimension(:,:) :: torque

The 3-by-nbody body-frame torque array.

class(*), intent(inout), optional :: args

Optional user-supplied data.

Description

Computes applied forces and body-frame torques at the selected force-evaluation state. Depending on the integrator settings, this is the current state, trial next state, or interpolated midpoint state. Velocity-dependent forces are reevaluated as Newton's trial state changes for the latter two modes.