72#ifdef ESPRESSO_CALIPER
76 auto &cell_structure = *
system.cell_structure;
77 auto const &propagation = *
system.propagation;
78 auto const &thermostat = *
system.thermostat;
79 auto const kT = thermostat.kT;
80 auto const time_step =
system.get_time_step();
84 thermostat.langevin &&
85 (propagation.used_propagations &
89 cell_structure.for_each_local_particle([&](
Particle &p) {
95 auto const &langevin = *thermostat.langevin;
98#ifdef ESPRESSO_ROTATION
105 cell_structure.reset_local_force_and_torque();
108 cell_structure.ghosts_reset_forces();
109#ifdef ESPRESSO_DIPOLE_FIELD_TRACKING
110 if (
system.dipoles.impl->solver.has_value()) {
111 cell_structure.ghosts_reset_dipole_field();
Utils::Vector3d friction_thermo_langevin(LangevinThermostat const &langevin, Particle const &p, double time_step, double kT)
Langevin thermostat for particle translational velocities.
Utils::Vector3d friction_thermo_langevin_rotation(LangevinThermostat const &langevin, Particle const &p, double time_step, double kT)
Langevin thermostat for particle angular velocities.
Force information on a particle.
Struct holding all information for one particle.
constexpr auto calc_director() const
constexpr auto const & swimming() const
constexpr auto const & ext_force() const
constexpr auto const & ext_torque() const
constexpr auto const & force() const
constexpr auto const & force_and_torque() const
constexpr auto const & torque() const