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

Namespaces

namespace  traits
 

Classes

class  ParticleHandle
 
class  ParticleList
 
class  ParticleModifier
 Thin wrapper to read and write particle attributes in batches. More...
 
class  ParticleSlice
 
class  Polymer
 

Functions

void initialize (Utils::Factory< ObjectHandle > *om)
 
static void sanity_checks_rotation (VariantMap const &params)
 
static uint8_t bitfield_from_flag (Utils::Vector3i const &flag)
 
static auto quat2vector (Utils::Quaternion< double > const &q)
 
static auto get_quaternion_safe (std::string const &name, Variant const &value)
 
static auto get_gamma_safe (Variant const &value)
 
auto error_msg (std::string const &name, std::string const &reason)
 
auto get_real_particle (boost::mpi::communicator const &comm, int p_id, ::CellStructure &cell_structure)
 
void particle_checks (int p_id, Utils::Vector3d const &pos)
 
void local_add_exclusion (int pid1, int pid2, ::CellStructure &cell_structure)
 Locally add an exclusion to a particle.
 
void local_remove_exclusion (int pid1, int pid2, ::CellStructure &cell_structure)
 Locally remove an exclusion to a particle.
 
void particle_exclusion_sanity_checks (int pid1, int pid2, ::CellStructure &cell_structure, auto const &comm)
 
static void auto_exclusions (boost::mpi::communicator const &comm, int const n_bonds_max)
 Use the bond topology to automatically add exclusions between particles that are up to n_bonds_max bonds apart in a chain.
 
static void set_particles_bonds (std::vector< int > const &pids, std::vector< std::vector< int > > const &all_bonds_ids, std::vector< std::vector< std::vector< int > > > const &all_bonds_partner_ids, ::CellStructure &cell_structure, ::System::System &system)
 
static void set_particles_exclusions (std::vector< int > const &pids, std::vector< std::vector< int > > const &exclusion_lists, boost::mpi::communicator const &comm, ::CellStructure &cell_structure, ::System::System &system)
 
static void set_particles_positions (std::vector< int > const &pids, std::vector< Utils::Vector3d > const &positions)
 
static void set_particles_types (std::vector< int > const &pids, std::vector< int > const &types, CellStructure &cell_structure, ::System::System &system)
 
static void set_particles_charges (std::vector< int > const &pids, std::vector< double > const &charges, CellStructure &cell_structure, ::System::System &system)
 
template<class Container >
void set_from_vector_like (std::vector< int > const &pids, std::string const &param_name, Container const &values, Context *context, std::shared_ptr< CellSystem::CellSystem > cell_structure, std::shared_ptr< Interactions::BondedInteractions > bonded_ias)
 
template<typename T >
auto get_particles_properties (std::vector< int > const &pids, std::function< T(Particle const &)> const &getter, Context *context, CellStructure const &cell_structure)
 

Variables

static std::array< std::array< std::string_view, 3 >, 4 > constexpr contradicting_arguments_quat
 

Function Documentation

◆ auto_exclusions()

static void ScriptInterface::Particles::auto_exclusions ( boost::mpi::communicator const &  comm,
int const  n_bonds_max 
)
static

Use the bond topology to automatically add exclusions between particles that are up to n_bonds_max bonds apart in a chain.

Definition at line 58 of file ParticleList.cpp.

References add_exclusion(), Utils::Mpi::gather_buffer(), System::get_system(), and stream.

Referenced by ScriptInterface::Particles::ParticleList::do_call_method().

◆ bitfield_from_flag()

static uint8_t ScriptInterface::Particles::bitfield_from_flag ( Utils::Vector3i const &  flag)
static

Definition at line 103 of file ParticleHandle.cpp.

References stream.

Referenced by ScriptInterface::Particles::ParticleHandle::ParticleHandle().

◆ error_msg()

auto ScriptInterface::Particles::error_msg ( std::string const &  name,
std::string const &  reason 
)
inline

◆ get_gamma_safe()

static auto ScriptInterface::Particles::get_gamma_safe ( Variant const &  value)
static

◆ get_particles_properties()

template<typename T >
auto ScriptInterface::Particles::get_particles_properties ( std::vector< int > const &  pids,
std::function< T(Particle const &)> const &  getter,
Context *  context,
CellStructure const &  cell_structure 
)
inline

◆ get_quaternion_safe()

static auto ScriptInterface::Particles::get_quaternion_safe ( std::string const &  name,
Variant const &  value 
)
static

Definition at line 120 of file ParticleHandle.cpp.

References error_msg(), and stream.

Referenced by ScriptInterface::Particles::ParticleHandle::ParticleHandle().

◆ get_real_particle()

auto ScriptInterface::Particles::get_real_particle ( boost::mpi::communicator const &  comm,
int  p_id,
::CellStructure &  cell_structure 
)
inline

Definition at line 53 of file ParticleHandle.hpp.

References CellStructure::get_local_particle(), and stream.

Referenced by particle_exclusion_sanity_checks().

◆ initialize()

void ScriptInterface::Particles::initialize ( Utils::Factory< ObjectHandle > *  om)

Definition at line 30 of file particle_data/initialize.cpp.

References stream.

Referenced by ScriptInterface::initialize().

◆ local_add_exclusion()

void ScriptInterface::Particles::local_add_exclusion ( int  pid1,
int  pid2,
::CellStructure &  cell_structure 
)
inline

Locally add an exclusion to a particle.

Parameters
pid1the identity of the first exclusion partner
pid2the identity of the second exclusion partner
cell_structurethe cell structure

Definition at line 90 of file ParticleHandle.hpp.

References add_exclusion(), CellStructure::get_local_particle(), and stream.

Referenced by ScriptInterface::Particles::ParticleHandle::do_call_method(), and set_particles_exclusions().

◆ local_remove_exclusion()

void ScriptInterface::Particles::local_remove_exclusion ( int  pid1,
int  pid2,
::CellStructure &  cell_structure 
)
inline

Locally remove an exclusion to a particle.

Parameters
pid1the identity of the first exclusion partner
pid2the identity of the second exclusion partner
cell_structurethe cell structure

Definition at line 106 of file ParticleHandle.hpp.

References delete_exclusion(), CellStructure::get_local_particle(), and stream.

Referenced by ScriptInterface::Particles::ParticleHandle::do_call_method(), and set_particles_exclusions().

◆ particle_checks()

void ScriptInterface::Particles::particle_checks ( int  p_id,
Utils::Vector3d const &  pos 
)
inline

◆ particle_exclusion_sanity_checks()

void ScriptInterface::Particles::particle_exclusion_sanity_checks ( int  pid1,
int  pid2,
::CellStructure &  cell_structure,
auto const &  comm 
)
inline

◆ quat2vector()

◆ sanity_checks_rotation()

static void ScriptInterface::Particles::sanity_checks_rotation ( VariantMap const &  params)
static

◆ set_from_vector_like()

template<class Container >
void ScriptInterface::Particles::set_from_vector_like ( std::vector< int > const &  pids,
std::string const &  param_name,
Container const &  values,
Context *  context,
std::shared_ptr< CellSystem::CellSystem >  cell_structure,
std::shared_ptr< Interactions::BondedInteractions >  bonded_ias 
)

◆ set_particles_bonds()

static void ScriptInterface::Particles::set_particles_bonds ( std::vector< int > const &  pids,
std::vector< std::vector< int > > const &  all_bonds_ids,
std::vector< std::vector< std::vector< int > > > const &  all_bonds_partner_ids,
::CellStructure &  cell_structure,
::System::System &  system 
)
static

◆ set_particles_charges()

static void ScriptInterface::Particles::set_particles_charges ( std::vector< int > const &  pids,
std::vector< double > const &  charges,
CellStructure &  cell_structure,
::System::System &  system 
)
static

◆ set_particles_exclusions()

static void ScriptInterface::Particles::set_particles_exclusions ( std::vector< int > const &  pids,
std::vector< std::vector< int > > const &  exclusion_lists,
boost::mpi::communicator const &  comm,
::CellStructure &  cell_structure,
::System::System &  system 
)
static

◆ set_particles_positions()

static void ScriptInterface::Particles::set_particles_positions ( std::vector< int > const &  pids,
std::vector< Utils::Vector3d > const &  positions 
)
static

◆ set_particles_types()

static void ScriptInterface::Particles::set_particles_types ( std::vector< int > const &  pids,
std::vector< int > const &  types,
CellStructure &  cell_structure,
::System::System &  system 
)
static

Variable Documentation

◆ contradicting_arguments_quat

std::array<std::array<std::string_view, 3>, 4> constexpr ScriptInterface::Particles::contradicting_arguments_quat
staticconstexpr
Initial value:
{{
{{"dip", "dipm",
"Setting 'dip' is sufficient as it defines the scalar dipole moment."}},
{{"quat", "director",
"Setting 'quat' is sufficient as it defines the director."}},
{{"dip", "quat",
"Setting 'dip' would overwrite 'quat'. Set 'quat' and 'dipm' instead."}},
{{"dip", "director",
"Setting 'dip' would overwrite 'director'. Set 'director' and "
"'dipm' instead."}},
}}

Definition at line 73 of file ParticleHandle.cpp.

Referenced by sanity_checks_rotation().