![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Main system class. More...
#include <System.hpp>
Inheritance diagram for System::System:
Collaboration diagram for System::System:Public Member Functions | |
| System (Private) | |
| auto | get_time_step () const |
| Get time_step. | |
| void | set_time_step (double value) |
| Set time_step. | |
| auto | get_sim_time () const |
| Get sim_time. | |
| void | set_sim_time (double value) |
| Set sim_time. | |
| auto | get_force_cap () const |
| Get force_cap. | |
| void | set_force_cap (double value) |
| Set force_cap. | |
| auto | get_min_global_cut () const |
| Get min_global_cut. | |
| void | set_min_global_cut (double value) |
| Set min_global_cut. | |
| void | set_box_l (Utils::Vector3d const &box_l) |
| Change the box dimensions. | |
| void | tune_verlet_skin (double min_skin, double max_skin, double tol, int int_steps, bool adjust_max_skin) |
| Tune the Verlet skin. | |
| void | set_cell_structure_topology (CellStructureType topology) |
| Change cell structure topology. | |
| void | rebuild_cell_structure () |
| Rebuild cell lists. | |
| void | rebuild_aosoa () |
| double | maximal_cutoff () const |
| Calculate the maximal cutoff of all interactions. | |
| double | get_interaction_range () const |
| Get the interaction range. | |
| unsigned | get_global_ghost_flags () const |
| Returns the ghost flags required for running pair kernels for the global state, e.g. | |
| bool | long_range_interactions_sanity_checks () const |
| Check electrostatic and magnetostatic methods are properly initialized. | |
| std::shared_ptr< Observable_stat > | calculate_energy () |
| Calculate the total energy. | |
| std::shared_ptr< Observable_stat > | calculate_pressure () |
| Calculate the pressure from a virial expansion. | |
| double | get_instantaneous_pressure () |
| get the instantaneous pressure with (q(t+dt), p(t+dt/2)) | |
| double | get_instantaneous_pressure_virial () |
| get the instantaneous virial pressure with q(t+dt) | |
| void | synchronize_npt_state () |
| Synchronize NpT state such as instantaneous and average pressure. | |
| void | npt_ensemble_init (bool recalc_forces) |
| Reinitialize the NpT state. | |
| void | npt_add_virial_contribution (double energy) |
| bool | has_npt_enabled () const |
| Utils::Vector3d * | get_npt_virial () const |
| void | calculate_forces () |
| Calculate all forces. | |
| void | calculate_long_range_fields () |
| Calculate dipole fields. | |
| bool | has_collision_detection_enabled () const |
| double | particle_short_range_energy_contribution (int pid) |
| Compute the short-range energy of a particle. | |
| std::optional< double > | particle_bond_energy (int pid, int bond_id, std::vector< int > partners) |
| Compute the energy of a given bond which has to exist on the given particle. | |
| int | integrate (int n_steps, int reuse_forces) |
| Integrate equations of motion. | |
| int | integrate_with_signal_handler (int n_steps, int reuse_forces, bool update_accumulators) |
| void | lb_couple_particles () |
| Calculate particle-lattice interactions. | |
| void | update_dependent_particles () |
| Update particles with properties depending on other particles, namely virtual sites and ICC charges. | |
| void | update_used_propagations () |
| Update the global propagation bitmask. | |
| void | check_kT (double value) const |
| Veto temperature change. | |
Hook procedures | |
These procedures are called if several significant changes to the system happen which may make a reinitialization of subsystems necessary. | |
| void | on_boxl_change (bool skip_method_adaption=false) |
| Called when the box length has changed. | |
| void | on_node_grid_change () |
| void | on_periodicity_change () |
| void | on_cell_structure_change () |
| void | on_thermostat_param_change () |
| void | on_temperature_change () |
| void | on_verlet_skin_change () |
| void | on_timestep_change () |
| void | on_integration_start () |
| void | on_short_range_ia_change () |
| void | on_non_bonded_ia_change () |
| void | on_coulomb_change () |
| void | on_dipoles_change () |
| void | on_constraint_change () |
| Called every time a constraint is changed. | |
| void | on_lb_boundary_conditions_change () |
| Called when the LB boundary conditions change (geometry, slip velocity, or both). | |
| void | on_particle_local_change () |
| Called every time a particle local property changes. | |
| void | on_particle_change () |
| Called every time a particle property changes. | |
| void | on_particle_charge_change () |
| Called every time a particle charge changes. | |
| void | on_observable_calc () |
| called before calculating observables, i.e. | |
| void | on_lees_edwards_change () |
| void | veto_boxl_change (bool skip_particle_checks=false) const |
Static Public Member Functions | |
| static std::shared_ptr< System > | create () |
Protected Member Functions | |
| void | update_local_geo () |
| void | update_icc_particles () |
| bool | has_icc_enabled () const |
Protected Attributes | |
| bool | reinit_thermo |
| Whether the thermostat has to be reinitialized before integration. | |
| double | time_step |
| Molecular dynamics integrator time step. | |
| double | sim_time |
| Molecular dynamics integrator simulation time. | |
| double | force_cap |
| Molecular dynamics integrator force capping. | |
| double | min_global_cut |
| Minimal global interaction cutoff. | |
Main system class.
Most components follow the composite pattern and the opaque pointer pattern. See System class design for more details.
Definition at line 79 of file core/system/System.hpp.
| System::System::System | ( | Private | ) |
Definition at line 68 of file core/system/System.cpp.
References inactive_cutoff, and kokkos_handle.
| std::shared_ptr< Observable_stat > System::System::calculate_energy | ( | ) |
Calculate the total energy.
Definition at line 39 of file energy.cpp.
References add_non_bonded_pair_energy(), calc_bonded_energy(), get_ptr(), rotational_kinetic_energy(), short_range_loop(), translational_kinetic_energy(), and Particle::type().
Referenced by Observables::Energy::operator()().
| void System::System::calculate_forces | ( | ) |
Calculate all forces.
Definition at line 165 of file forces.cpp.
References add_bonded_force(), add_non_bonded_pair_force(), cabana_short_range(), calc_long_range_forces(), force_capping(), get_ptr(), inactive_cutoff, init_forces_and_thermostat(), reinit_dip_fld(), PropagationMode::ROT_VS_INDEPENDENT, PropagationMode::ROT_VS_RELATIVE, short_range_loop(), this_node, PropagationMode::TRANS_LANGEVIN_NPT, PropagationMode::TRANS_LB_MOMENTUM_EXCHANGE, PropagationMode::TRANS_VS_CENTER_OF_MASS, PropagationMode::TRANS_VS_RELATIVE, update_cabana_state(), vs_com_back_transfer_forces_and_torques(), and vs_relative_back_transfer_forces_and_torques().
| void System::System::calculate_long_range_fields | ( | ) |
Calculate dipole fields.
| std::shared_ptr< Observable_stat > System::System::calculate_pressure | ( | ) |
Calculate the pressure from a virial expansion.
Definition at line 47 of file pressure.cpp.
References add_kinetic_virials(), add_non_bonded_pair_virials(), Utils::Vector< T, N >::begin(), calc_bonded_pressure_tensor(), Dipoles::Solver::calc_pressure_long_range(), dpd_pressure_local(), Utils::flatten(), Dipoles::get_dipoles(), get_ptr(), short_range_loop(), Particle::type(), and vs_relative_pressure_tensor().
Referenced by Observables::Pressure::operator()(), and Observables::PressureTensor::operator()().
| void System::System::check_kT | ( | double | value | ) | const |
Veto temperature change.
Definition at line 147 of file core/system/System.cpp.
|
static |
Definition at line 62 of file core/system/System.cpp.
Referenced by ScriptInterface::System::System::do_construct().
|
inline |
Get force_cap.
Definition at line 107 of file core/system/System.hpp.
| unsigned System::System::get_global_ghost_flags | ( | ) | const |
Returns the ghost flags required for running pair kernels for the global state, e.g.
the force calculation.
Definition at line 535 of file core/system/System.cpp.
References Cells::DATA_PART_BONDS, Cells::DATA_PART_MOMENTUM, Cells::DATA_PART_POSITION, Cells::DATA_PART_PROPERTIES, THERMO_BOND, and THERMO_DPD.
Referenced by BondBreakage::BondBreakage::execute_bond_breakage().
| double System::System::get_instantaneous_pressure | ( | ) |
get the instantaneous pressure with (q(t+dt), p(t+dt/2))
| double System::System::get_instantaneous_pressure_virial | ( | ) |
get the instantaneous virial pressure with q(t+dt)
| double System::System::get_interaction_range | ( | ) | const |
Get the interaction range.
Definition at line 467 of file core/system/System.cpp.
References inactive_cutoff.
|
inline |
Get min_global_cut.
Definition at line 113 of file core/system/System.hpp.
Referenced by CollisionDetection::BindAtPointOfCollision::handle_collisions(), and CollisionDetection::GlueToSurface::handle_collisions().
| Utils::Vector3d * System::System::get_npt_virial | ( | ) | const |
Definition at line 566 of file core/system/System.cpp.
|
inline |
Get sim_time.
Definition at line 101 of file core/system/System.hpp.
|
inline |
Get time_step.
Definition at line 95 of file core/system/System.hpp.
Referenced by init_forces_and_thermostat(), npt_ensemble_init(), EK::EKWalberla::sanity_checks(), and LB::LBWalberla::sanity_checks().
| bool System::System::has_collision_detection_enabled | ( | ) | const |
Definition at line 576 of file core/system/System.cpp.
| bool System::System::has_npt_enabled | ( | ) | const |
Definition at line 560 of file core/system/System.cpp.
References INTEG_METHOD_NPT_ISO_AND, and INTEG_METHOD_NPT_ISO_MTK.
Referenced by CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::add_long_range_forces_gpu().
| int System::System::integrate | ( | int | n_steps, |
| int | reuse_forces | ||
| ) |
Integrate equations of motion.
| n_steps | Number of integration steps, can be zero |
| reuse_forces | Decide when to re-calculate forces |
This function calls two hooks for propagation kernels such as velocity verlet, velocity verlet + npt box changes, and steepest_descent. One hook is called before and one after the force calculation. It is up to the propagation kernels to increment the simulation time.
This function propagates the system according to the choice of integrator stored in Propagation::integ_switch. The general structure is:
High-level documentation of the integration and thermostatting schemes can be found in doc/sphinx/system_setup.rst and /doc/sphinx/running.rst
Definition at line 495 of file integrate.cpp.
References check_runtime_errors(), comm_cart, convert_initial_torques(), correct_position_shake(), correct_velocity_shake(), Cells::DATA_PART_PROPERTIES, INTEG_ERROR_RUNTIME, INTEG_ERROR_SIGINT, INTEG_METHOD_BD, INTEG_METHOD_STEEPEST_DESCENT, INTEG_REUSE_FORCES_ALWAYS, INTEG_REUSE_FORCES_NEVER, integrator_step_1(), integrator_step_2(), lb_tracers_add_particle_force_to_fluid(), lb_tracers_propagate(), LEES_EDWARDS, Cells::RESORT_LOCAL, resort_particles_if_needed(), PropagationMode::ROT_VS_INDEPENDENT, PropagationMode::ROT_VS_RELATIVE, run_magnetodynamics(), runtimeErrorMsg, save_old_position(), PropagationMode::TRANS_LB_MOMENTUM_EXCHANGE, PropagationMode::TRANS_LB_TRACER, PropagationMode::TRANS_VS_CENTER_OF_MASS, PropagationMode::TRANS_VS_RELATIVE, vs_com_update_particles(), and vs_relative_update_particles().
Referenced by run_full_force_calc(), and time_calc().
| int System::System::integrate_with_signal_handler | ( | int | n_steps, |
| int | reuse_forces, | ||
| bool | update_accumulators | ||
| ) |
Definition at line 842 of file integrate.cpp.
References comm_cart, INTEG_ERROR_RUNTIME, and INTEG_REUSE_FORCES_ALWAYS.
Referenced by ScriptInterface::Integrators::SteepestDescent::integrate().
| void System::System::lb_couple_particles | ( | ) |
Calculate particle-lattice interactions.
Definition at line 348 of file particle_coupling.cpp.
References LB::is_tracer(), LB::lb_coupling_sanity_checks(), and runtimeErrorMsg.
| bool System::System::long_range_interactions_sanity_checks | ( | ) | const |
Check electrostatic and magnetostatic methods are properly initialized.
Definition at line 452 of file core/system/System.cpp.
References runtimeErrorMsg.
| double System::System::maximal_cutoff | ( | ) | const |
Calculate the maximal cutoff of all interactions.
Definition at line 434 of file core/system/System.cpp.
References communicator, and inactive_cutoff.
| void System::System::npt_add_virial_contribution | ( | double | energy | ) |
Definition at line 137 of file npt.cpp.
Referenced by CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::add_long_range_forces_gpu(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::long_range_kernel(), and DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::npt_add_virial_contribution().
| void System::System::npt_ensemble_init | ( | bool | recalc_forces | ) |
Reinitialize the NpT state.
Definition at line 100 of file npt.cpp.
References cell_structure, comm_cart, Utils::Mpi::gather_buffer(), System::get_system(), get_time_step(), and this_node.
| void System::System::on_boxl_change | ( | bool | skip_method_adaption = false | ) |
Called when the box length has changed.
This routine is relatively fast, and changing the box length every time step as for example necessary for NpT is more or less ok.
| skip_method_adaption | skip the long-range methods adaptions |
Definition at line 196 of file core/system/System.cpp.
Referenced by velocity_verlet_npt_propagate_AVOVA_And(), and velocity_verlet_npt_propagate_AVOVA_MTK().
| void System::System::on_cell_structure_change | ( | ) |
Definition at line 260 of file core/system/System.cpp.
References clear_particle_node().
| void System::System::on_constraint_change | ( | ) |
Called every time a constraint is changed.
Definition at line 322 of file core/system/System.cpp.
| void System::System::on_coulomb_change | ( | ) |
Definition at line 308 of file core/system/System.cpp.
Referenced by CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >::on_solver_change(), and CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::tune().
| void System::System::on_dipoles_change | ( | ) |
Definition at line 315 of file core/system/System.cpp.
Referenced by DipolarTuningAlgorithm< FloatType, Architecture, FFTConfig >::on_solver_change(), and DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::tune().
| void System::System::on_integration_start | ( | ) |
Definition at line 479 of file core/system/System.cpp.
References Utils::Mpi::all_compare(), comm_cart, INTEG_METHOD_NPT_ISO_AND, INTEG_METHOD_NPT_ISO_MTK, invalidate_fetch_cache(), and runtimeErrorMsg.
| void System::System::on_lb_boundary_conditions_change | ( | ) |
Called when the LB boundary conditions change (geometry, slip velocity, or both).
Definition at line 324 of file core/system/System.cpp.
Referenced by ScriptInterface::walberla::LBFluid::do_call_method().
| void System::System::on_lees_edwards_change | ( | ) |
Definition at line 426 of file core/system/System.cpp.
| void System::System::on_node_grid_change | ( | ) |
Definition at line 228 of file core/system/System.cpp.
| void System::System::on_non_bonded_ia_change | ( | ) |
Definition at line 301 of file core/system/System.cpp.
| void System::System::on_observable_calc | ( | ) |
called before calculating observables, i.e.
energy, pressure or the integrator (forces). Initialize any methods here which are not initialized immediately (P3M etc.).
Definition at line 386 of file core/system/System.cpp.
References clear_particle_node().
| void System::System::on_particle_change | ( | ) |
Called every time a particle property changes.
Definition at line 333 of file core/system/System.cpp.
References HYBRID, invalidate_fetch_cache(), Cells::RESORT_GLOBAL, and Cells::RESORT_LOCAL.
Referenced by ScriptInterface::Particles::ParticleHandle::do_call_method(), Galilei::galilei_transform(), Galilei::kill_particle_forces(), Galilei::kill_particle_motion(), make_new_particle(), ReactionMethods::ReactionAlgorithm::make_reaction_attempt(), remove_all_particles(), remove_particle(), and set_particle_pos().
| void System::System::on_particle_charge_change | ( | ) |
Called every time a particle charge changes.
Definition at line 354 of file core/system/System.cpp.
| void System::System::on_particle_local_change | ( | ) |
Called every time a particle local property changes.
Definition at line 328 of file core/system/System.cpp.
Referenced by ReactionMethods::ReactionAlgorithm::make_reaction_attempt().
| void System::System::on_periodicity_change | ( | ) |
Definition at line 241 of file core/system/System.cpp.
References INTEG_METHOD_SD, and runtimeErrorMsg.
| void System::System::on_short_range_ia_change | ( | ) |
Definition at line 296 of file core/system/System.cpp.
| void System::System::on_temperature_change | ( | ) |
Definition at line 285 of file core/system/System.cpp.
| void System::System::on_thermostat_param_change | ( | ) |
Definition at line 272 of file core/system/System.cpp.
Referenced by ScriptInterface::Integrators::VelocityVerletIsoNPT::activate().
| void System::System::on_timestep_change | ( | ) |
Definition at line 290 of file core/system/System.cpp.
| void System::System::on_verlet_skin_change | ( | ) |
Definition at line 274 of file core/system/System.cpp.
| std::optional< double > System::System::particle_bond_energy | ( | int | pid, |
| int | bond_id, | ||
| std::vector< int > | partners | ||
| ) |
Compute the energy of a given bond which has to exist on the given particle.
Requires that bond partners are visible on the same MPI rank as the primary particle. Returns nothing if the primary particle is not owned by this MPI rank.
| pid | Particle id |
| bond_id | Bond id |
| partners | Particle ids of the bond partners |
Definition at line 141 of file energy.cpp.
References bond_broken_error(), calc_bonded_energy(), get_ptr(), Particle::id(), and Particle::is_ghost().
| double System::System::particle_short_range_energy_contribution | ( | int | pid | ) |
Compute the short-range energy of a particle.
Iterate through particles inside cell and neighboring cells and compute energy contribution for a specific particle.
| pid | Particle id |
Definition at line 116 of file energy.cpp.
References calc_non_bonded_pair_energy(), do_nonbonded(), and get_ptr().
| void System::System::rebuild_aosoa | ( | ) |
Definition at line 407 of file core/system/System.cpp.
References inactive_cutoff, and update_cabana_state().
| void System::System::rebuild_cell_structure | ( | ) |
Rebuild cell lists.
Use e.g. after a skin change.
Definition at line 192 of file core/system/System.cpp.
| void System::System::set_box_l | ( | Utils::Vector3d const & | box_l | ) |
Change the box dimensions.
Definition at line 474 of file core/system/System.cpp.
| void System::System::set_cell_structure_topology | ( | CellStructureType | topology | ) |
Change cell structure topology.
Definition at line 166 of file core/system/System.cpp.
| void System::System::set_force_cap | ( | double | value | ) |
Set force_cap.
Definition at line 156 of file core/system/System.cpp.
| void System::System::set_min_global_cut | ( | double | value | ) |
Set min_global_cut.
Definition at line 161 of file core/system/System.cpp.
| void System::System::set_sim_time | ( | double | value | ) |
Set sim_time.
Definition at line 891 of file integrate.cpp.
| void System::System::set_time_step | ( | double | value | ) |
Set time_step.
Definition at line 134 of file core/system/System.cpp.
| void System::System::synchronize_npt_state | ( | ) |
| void System::System::tune_verlet_skin | ( | double | min_skin, |
| double | max_skin, | ||
| double | tol, | ||
| int | int_steps, | ||
| bool | adjust_max_skin | ||
| ) |
Tune the Verlet skin.
Choose the optimal Verlet list skin between min_skin and max_skin by bisection to tolerance tol.
Definition at line 126 of file tuning.cpp.
References time_calc().
| void System::System::update_dependent_particles | ( | ) |
Update particles with properties depending on other particles, namely virtual sites and ICC charges.
Definition at line 360 of file core/system/System.cpp.
References vs_com_update_particles(), and vs_relative_update_particles().
|
protected |
|
protected |
Definition at line 428 of file core/system/System.cpp.
References Communicator::calc_node_index(), communicator, LocalBox::make_regular_decomposition(), and Communicator::node_grid.
| void System::System::update_used_propagations | ( | ) |
Update the global propagation bitmask.
Definition at line 186 of file integrate.cpp.
References comm_cart, PropagationMode::NONE, and PropagationMode::SYSTEM_DEFAULT.
Referenced by CollisionDetection::BindAtPointOfCollision::handle_collisions(), and CollisionDetection::GlueToSurface::handle_collisions().
| void System::System::veto_boxl_change | ( | bool | skip_particle_checks = false | ) | const |
Definition at line 214 of file core/system/System.cpp.
References comm_cart.
| std::shared_ptr<Accumulators::AutoUpdateAccumulators> System::System::auto_update_accumulators |
Definition at line 334 of file core/system/System.hpp.
| std::shared_ptr<BondBreakage::BondBreakage> System::System::bond_breakage |
Definition at line 331 of file core/system/System.hpp.
| std::shared_ptr<BondedInteractionsMap> System::System::bonded_ias |
Definition at line 321 of file core/system/System.hpp.
Referenced by PairCriteria::EnergyCriterion::decide(), ScriptInterface::Particles::ParticleHandle::do_call_method(), CollisionDetection::BindAtPointOfCollision::handle_collisions(), CollisionDetection::BindAtPointOfCollision::initialize(), and CollisionDetection::BindCenters::initialize().
| std::shared_ptr<BoxGeometry> System::System::box_geo |
Definition at line 317 of file core/system/System.hpp.
Referenced by Constraints::Constraints::add_energy(), Constraints::Constraints::add_forces(), angular_momentum(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::calc_average_self_energy_k_space(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::calc_energy_correction(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::calc_influence_function_energy(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::calc_influence_function_energy(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::calc_influence_function_force(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::calc_influence_function_force(), calc_part_distribution(), calc_re(), calc_rg(), calc_rh(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::calc_surface_term(), Galilei::calc_system_cms_position(), DipolarTuningAlgorithm< FloatType, Architecture, FFTConfig >::calculate_accuracy(), center_of_mass(), TuningAlgorithm::commit(), PairCriteria::DistanceCriterion::decide(), PairCriteria::EnergyCriterion::decide(), TuningAlgorithm::determine_r_cut_limits(), ScriptInterface::walberla::LBFluid::do_call_method(), ScriptInterface::walberla::LatticeWalberla::do_construct(), dpd_stress(), draw_polymer_positions(), Observables::BondAngles::evaluate(), Observables::BondDihedrals::evaluate(), Observables::CosPersistenceAngles::evaluate(), Observables::CylindricalDensityProfile::evaluate(), Observables::CylindricalFluxDensityProfile::evaluate(), Observables::CylindricalVelocityProfile::evaluate(), Observables::DensityProfile::evaluate(), Observables::FluxDensityProfile::evaluate(), Observables::ForceDensityProfile::evaluate(), Observables::ParticleDistances::evaluate(), BondBreakage::BondBreakage::execute_bond_breakage(), LB::Solver::get_interpolated_densities(), LB::Solver::get_interpolated_density(), LB::Solver::get_interpolated_velocity(), TuningAlgorithm::get_mc_time(), ReactionMethods::ReactionAlgorithm::get_random_position_in_box(), gyration_tensor(), CollisionDetection::BindAtPointOfCollision::handle_collisions(), CollisionDetection::GlueToSurface::handle_collisions(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::init_gpu_kernels(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::long_range_pressure(), LB::Solver::make_lattice_position_checker(), maybe_insert_particle(), mindist(), moment_of_inertia_matrix(), nbhood(), pack_particles(), ScriptInterface::Particles::ParticleHandle::ParticleHandle(), ParticleObservables::traits< Particle >::position(), register_integrator(), resort_particles_if_needed(), EK::EKWalberla::sanity_checks(), CoulombP3M::sanity_checks_boxl(), DipolarP3M::sanity_checks_boxl(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::scaleby_box_l(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::scaleby_box_l(), ReactionMethods::ReactionAlgorithm::set_cyl_constraint(), ReactionMethods::ReactionAlgorithm::set_slab_constraint(), CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >::setup_logger(), DipolarTuningAlgorithm< FloatType, Architecture, FFTConfig >::setup_logger(), structure_factor(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::tune(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::tune(), ReactionMethods::ReactionAlgorithm::update_volume(), velocity_verlet_npt_propagate_AVOVA_And(), and velocity_verlet_npt_propagate_AVOVA_MTK().
| std::shared_ptr<CellStructure> System::System::cell_structure |
Definition at line 319 of file core/system/System.hpp.
Referenced by CollisionDetection::add_bind_centers(), add_bond(), angular_momentum(), calc_linear_momentum(), calc_mu_max(), calc_re(), calc_rg(), calc_rh(), Galilei::calc_system_cms_position(), Galilei::calc_system_cms_velocity(), center_of_mass(), Coulomb::check_charge_neutrality(), DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::count_magnetic_particles(), count_magnetic_particles(), TuningAlgorithm::determine_r_cut_limits(), BondBreakage::BondBreakage::execute_bond_breakage(), Galilei::galilei_transform(), gather_traits_for_types(), get_cell_structure(), get_interacting_neighbors(), TuningAlgorithm::get_mc_time(), get_neighbor_pids(), get_pairs_filtered(), get_short_range_neighbors(), CollisionDetection::BindAtPointOfCollision::handle_collisions(), CollisionDetection::GlueToSurface::handle_collisions(), init_forces_and_thermostat(), is_valid_position(), Galilei::kill_particle_forces(), Galilei::kill_particle_motion(), mindist(), moment_of_inertia_matrix(), nbhood(), non_bonded_loop_trace(), npt_ensemble_init(), resort_particles_if_needed(), steepest_descent_step(), velocity_verlet_npt_propagate_AVOVA_And(), and velocity_verlet_npt_propagate_AVOVA_MTK().
| ResourceCleanup System::System::cleanup_queue |
Definition at line 92 of file core/system/System.hpp.
| std::shared_ptr<CollisionDetection::CollisionDetection> System::System::collision_detection |
Definition at line 329 of file core/system/System.hpp.
| std::shared_ptr<ComFixed> System::System::comfixed |
Definition at line 324 of file core/system/System.hpp.
| std::shared_ptr<Constraints::Constraints> System::System::constraints |
Definition at line 335 of file core/system/System.hpp.
Referenced by is_valid_position().
| Coulomb::Solver System::System::coulomb |
Definition at line 313 of file core/system/System.hpp.
Referenced by PairCriteria::EnergyCriterion::decide(), Coulomb::get_coulomb(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::init_gpu_kernels(), and CoulombTuningAlgorithm< FloatType, Architecture, FFTConfig >::layer_correction_veto_r_cut().
| Dipoles::Solver System::System::dipoles |
Definition at line 314 of file core/system/System.hpp.
Referenced by Dipoles::get_dipoles().
| EK::Solver System::System::ek |
Definition at line 316 of file core/system/System.hpp.
Referenced by ScriptInterface::walberla::EKContainer::do_call_method(), and EK::Solver::reset().
|
protected |
Molecular dynamics integrator force capping.
Definition at line 350 of file core/system/System.hpp.
| std::shared_ptr<Galilei> System::System::galilei |
Definition at line 325 of file core/system/System.hpp.
| GpuParticleData System::System::gpu |
Definition at line 90 of file core/system/System.hpp.
Referenced by CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::add_long_range_forces_gpu(), CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::init_gpu_kernels(), and CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::request_gpu().
| std::shared_ptr<ImmersedBoundaries> System::System::immersed_boundaries |
Definition at line 327 of file core/system/System.hpp.
| LB::Solver System::System::lb |
Definition at line 315 of file core/system/System.hpp.
Referenced by calc_linear_momentum(), ScriptInterface::walberla::LBFluid::do_call_method(), Observables::LBFluidPressureTensor::operator()(), EK::EKWalberla::propagate(), and LB::Solver::reset().
| std::shared_ptr<LeesEdwards::LeesEdwards> System::System::lees_edwards |
Definition at line 332 of file core/system/System.hpp.
| std::shared_ptr<LocalBox> System::System::local_geo |
Definition at line 318 of file core/system/System.hpp.
Referenced by TuningAlgorithm::determine_r_cut_limits(), TuningAlgorithm::get_mc_time(), EK::EKWalberla::sanity_checks(), LB::LBWalberla::sanity_checks(), CoulombP3M::sanity_checks_boxl(), and DipolarP3M::sanity_checks_boxl().
|
protected |
Minimal global interaction cutoff.
Particles with a distance smaller than this are guaranteed to be available on the same node (through ghosts).
Definition at line 356 of file core/system/System.hpp.
| std::shared_ptr<InteractionsNonBonded> System::System::nonbonded_ias |
Definition at line 322 of file core/system/System.hpp.
Referenced by PairCriteria::EnergyCriterion::decide(), dpd_init(), init_type_map(), CollisionDetection::BindAtPointOfCollision::initialize(), CollisionDetection::GlueToSurface::initialize(), GetNonbondedCutoff::operator()(), and ScriptInterface::Particles::ParticleHandle::ParticleHandle().
| std::shared_ptr<InstantaneousPressure> System::System::npt_inst_pressure |
Definition at line 338 of file core/system/System.hpp.
Referenced by velocity_verlet_npt_Andersen_step_1(), velocity_verlet_npt_Andersen_step_2(), velocity_verlet_npt_MTK_step_1(), velocity_verlet_npt_MTK_step_2(), and velocity_verlet_npt_propagate_AVOVA_And().
| std::shared_ptr<NptIsoParameters> System::System::nptiso |
Definition at line 337 of file core/system/System.hpp.
Referenced by ScriptInterface::Integrators::VelocityVerletIsoNPT::activate(), velocity_verlet_npt_Andersen_step_1(), velocity_verlet_npt_Andersen_step_2(), velocity_verlet_npt_MTK_step_1(), velocity_verlet_npt_MTK_step_2(), velocity_verlet_npt_propagate_AVOVA_And(), and velocity_verlet_npt_propagate_AVOVA_MTK().
| std::shared_ptr<OifGlobal> System::System::oif_global |
Definition at line 326 of file core/system/System.hpp.
| std::shared_ptr<Propagation> System::System::propagation |
Definition at line 320 of file core/system/System.hpp.
Referenced by ScriptInterface::Integrators::BrownianDynamics::activate(), ScriptInterface::Integrators::SteepestDescent::activate(), ScriptInterface::Integrators::StokesianDynamics::activate(), ScriptInterface::Integrators::SymplecticEuler::activate(), ScriptInterface::Integrators::VelocityVerlet::activate(), ScriptInterface::Integrators::VelocityVerletIsoNPT::activate(), and init_forces_and_thermostat().
|
protected |
Whether the thermostat has to be reinitialized before integration.
Definition at line 344 of file core/system/System.hpp.
|
protected |
Molecular dynamics integrator simulation time.
Definition at line 348 of file core/system/System.hpp.
| std::shared_ptr<Thermostat::Thermostat> System::System::thermostat |
Definition at line 323 of file core/system/System.hpp.
Referenced by init_forces_and_thermostat(), and integrator_step_1().
|
protected |
Molecular dynamics integrator time step.
Definition at line 346 of file core/system/System.hpp.