Concerning your question #1. If you want to specify the initial direction of self-propulsion, you'll need to specify the particle's intitial orientation (default is along the z-axis) using the quaterions. Internally, the algorithm moves the particle along its own 'internal' axis, which is the one that coincides with the z-axis at time t=0, unless you change that. No rotation is involved in the propulsion, unless you also thermalize the system (Langevin or LB thermostat), in which case the particle reorients due to Brownian motion, or if you have some external torques imposed. Self-propelled particles can reorient when you use a lattice-Boltzmann fluid and several coupling points, due to 'hydrodynamic torques'. I hope that answers your question.