```c++ for each time_step t: for each pedestrian p: reset_social_force(p) // (1) compute_acceleration_term(p) // (2) compute_repulsive_effects_from_pedestrians(p, pedestrians) // (3) compute_repulsive_effects_from_borders(p, board) for each pedestrian p: // next pos, desired dir, desired v, curr v update_state(p) ``` (1) $\vec{F}_\alpha(\vec{v}_\alpha, v^0_\alpha \vec{e}_\alpha) \vec{e}_\alpha(t) = \frac{1}{\tau_\alpha}(v^0_\alpha \vec{e}_\alpha - \vec{v}_\alpha)$ (2) $\sum_{\beta} \vec{F}_{\alpha\beta}(\vec{e}_{\alpha}, \vec{r}_{\alpha} - \vec{r}_{\beta})$ (3) $\sum_{B} \vec{F}_{\alpha B}(\vec{e}_{\alpha}, \vec{r}_{\alpha} - \vec{r}_{B})$