ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
System Namespace Reference

Classes

class  Leaf
 Abstract class that represents a component of the system. More...
 
class  System
 Main system class. More...
 

Functions

void reset_system ()
 
void set_system (std::shared_ptr< System > new_instance)
 
Systemget_system ()
 
bool is_same_system (System const *const system)
 
static bool orientation_ghosts_needed (System const &sys)
 Return true when any active physics requires orientation of ghost particles.
 

Variables

static std::shared_ptr< Systeminstance = System::create()
 

Function Documentation

◆ get_system()

System & System::get_system ( )

Definition at line 143 of file core/system/System.cpp.

References instance.

Referenced by ScriptInterface::Particles::auto_exclusions(), ExclusionRadius::check_exclusion_range(), PairCriteria::DistanceCriterion::decide(), ScriptInterface::Writer::H5md::do_call_method(), ScriptInterface::Particles::Polymer::do_call_method(), ScriptInterface::walberla::LatticeWalberla::do_construct(), ScriptInterface::Constraints::Constraints::do_construct(), Observables::PairwiseDistances::evaluate(), Observables::BondAngles::evaluate(), Observables::BondDihedrals::evaluate(), Observables::CosPersistenceAngles::evaluate(), Observables::CylindricalDensityProfile::evaluate(), Observables::CylindricalFluxDensityProfile::evaluate(), Observables::CylindricalLBFluxDensityProfileAtParticlePositions::evaluate(), Observables::CylindricalVelocityProfile::evaluate(), Observables::DensityProfile::evaluate(), Observables::FluxDensityProfile::evaluate(), Observables::ForceDensityProfile::evaluate(), Observables::ParticleDistances::evaluate(), Observables::CylindricalLBVelocityProfileAtParticlePositions::evaluate(), fetch_particles(), get_cell_structure(), ScriptInterface::Accumulators::AccumulatorBase::get_core_system_pointer(), LB::Solver::get_interpolated_densities(), LB::Solver::get_interpolated_density(), LB::Solver::get_interpolated_velocity(), get_real_particle(), LB::Solver::make_lattice_position_checker(), make_new_particle(), maybe_insert_particle(), maybe_move_particle(), Observables::Energy::operator()(), Observables::Pressure::operator()(), Observables::PressureTensor::operator()(), Observables::CylindricalLBVelocityProfile::operator()(), Observables::DPDPressure::operator()(), Observables::LBFluidPressureTensor::operator()(), Observables::LBVelocityProfile::operator()(), pack_particles(), ParticleObservables::traits< Particle >::position(), EK::EKWalberla::propagate(), remove_particle(), set_particle_pos(), ScriptInterface::Constraints::ShapeBasedConstraint::ShapeBasedConstraint(), and Accumulators::ContactTimes::update().

◆ is_same_system()

bool System::is_same_system ( System const *const  system)

Definition at line 145 of file core/system/System.cpp.

References instance.

Referenced by ScriptInterface::System::System::do_call_method().

◆ orientation_ghosts_needed()

static bool System::orientation_ghosts_needed ( System const &  sys)
static

Return true when any active physics requires orientation of ghost particles.

Used by both get_global_ghost_flags (QUAT push) and get_force_reduce_ghost_flags (TORQUE reduce).

Conservative: include a reader when in doubt. Non-rotating plain LJ must yield false so that both bits stay OFF for that common case.

Readers of ghost particle quat / director / calc_dip:

  • short_range_cabana commit_particle: quat -> director for Gay-Berne / Dipoles pair kernels (ghost particles in AoSoA)
  • vs_relative_update_particles: p_ref.quat() where p_ref may be a ghost
  • LB particle coupling (swimmer): p.calc_director() on ghost particles when ESPRESSO_ENGINE and LB are both active
  • HomogeneousMagneticField constraint: p.calc_dip() (local particles only, does NOT read ghosts; included conservatively via dipole check)
  • dipolar solvers (dp3m, dds, dlc, scafacos): p.calc_dip() on unique_particles which includes ghost particles that have no local counterpart (see CellStructure::set_index_map); covered by the dipolar-solver-set condition
  • ShapeBasedConstraint / calc_non_central_force: reads p.quat() on LOCAL particles only (Constraints iterate local_particles); safe without the bit
  • Stoner-Wohlfarth integrate_magnetodynamics: calls p_ref->calc_director() where p_ref comes from get_reference_particle / get_local_particle, which CAN return a ghost; covered by the explicit ifdef below
  • rotational integrators: operate on local particles only (OK)
  • ICC blocking reduce: resets force_and_torque on local particles and may carry a zero-valued TORQUE payload on the wire when orientation physics is concurrently active — harmless (bytes only, value is zero)

Definition at line 572 of file core/system/System.cpp.

References GayBerne, PropagationMode::ROT_BROWNIAN, PropagationMode::ROT_EULER, PropagationMode::ROT_LANGEVIN, PropagationMode::ROT_STOKESIAN, PropagationMode::ROT_VS_INDEPENDENT, PropagationMode::ROT_VS_RELATIVE, THERMO_LANGEVIN, and PropagationMode::TRANS_VS_RELATIVE.

Referenced by System::System::get_force_reduce_ghost_flags(), and System::System::get_global_ghost_flags().

◆ reset_system()

void System::reset_system ( )

Definition at line 137 of file core/system/System.cpp.

References instance.

Referenced by ScriptInterface::System::System::do_call_method().

◆ set_system()

void System::set_system ( std::shared_ptr< System new_instance)

Definition at line 139 of file core/system/System.cpp.

References instance.

Referenced by ScriptInterface::System::System::do_construct().

Variable Documentation

◆ instance

std::shared_ptr<System> System::instance = System::create()
static

Definition at line 67 of file core/system/System.cpp.

Referenced by get_system(), is_same_system(), reset_system(), and set_system().