77class System :
public std::enable_shared_from_this<System> {
85 static std::shared_ptr<System> create();
96 void set_time_step(
double value);
102 void set_sim_time(
double value);
108 void set_force_cap(
double value);
114 void set_min_global_cut(
double value);
124 void tune_verlet_skin(
double min_skin,
double max_skin,
double tol,
125 int int_steps,
bool adjust_max_skin);
131 void rebuild_cell_structure();
134 double maximal_cutoff()
const;
137 double get_interaction_range()
const;
139 unsigned get_global_ghost_flags()
const;
144 bool long_range_interactions_sanity_checks()
const;
147 std::shared_ptr<Observable_stat> calculate_energy();
150 std::shared_ptr<Observable_stat> calculate_pressure();
153 void calculate_forces();
155#ifdef DIPOLE_FIELD_TRACKING
157 void calculate_long_range_fields();
169 double particle_short_range_energy_contribution(
int pid);
203 int integrate(
int n_steps,
int reuse_forces);
205 int integrate_with_signal_handler(
int n_steps,
int reuse_forces,
206 bool update_accumulators);
209 void thermostat_force_init();
211 void lb_couple_particles();
226 void on_boxl_change(
bool skip_method_adaption =
false);
227 void on_node_grid_change();
228 void on_periodicity_change();
229 void on_cell_structure_change();
230 void on_thermostat_param_change();
231 void on_temperature_change();
232 void on_verlet_skin_change();
233 void on_timestep_change();
234 void on_integration_start();
235 void on_short_range_ia_change();
236 void on_non_bonded_ia_change();
237 void on_coulomb_change();
238 void on_dipoles_change();
240 void on_constraint_change();
244 void on_lb_boundary_conditions_change();
246 void on_particle_local_change();
248 void on_particle_change();
250 void on_particle_charge_change();
255 void on_observable_calc();
256 void on_lees_edwards_change();
257 void veto_boxl_change(
bool skip_particle_checks =
false)
const;
264 void update_dependent_particles();
268 void update_used_propagations();
272 void check_kT(
double value)
const;
289#ifdef COLLISION_DETECTION
294 std::shared_ptr<Accumulators::AutoUpdateAccumulators>
315 void update_local_geo();
317 void update_icc_particles();
325 void integrator_sanity_checks()
const;
Particle data communication manager for the GPU.