![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <config/config.hpp>#include "BoxGeometry.hpp"#include "Particle.hpp"#include "PropagationMode.hpp"#include "bond_breakage/bond_breakage.hpp"#include "cell_system/CellStructure.hpp"#include "cell_system/for_each_particle.hpp"#include "cells.hpp"#include "collision_detection/CollisionDetection.hpp"#include "communication.hpp"#include "constraints/Constraints.hpp"#include "electrostatics/icc.hpp"#include "forces_init.hpp"#include "forces_inline.hpp"#include "galilei/ComFixed.hpp"#include "ghosts.hpp"#include "immersed_boundary/ImmersedBoundaries.hpp"#include "integrators/Propagation.hpp"#include "lb/particle_coupling.hpp"#include "magnetostatics/dipoles.hpp"#include "nonbonded_interactions/VerletCriterion.hpp"#include "nonbonded_interactions/nonbonded_interaction_data.hpp"#include "npt.hpp"#include "rotation.hpp"#include "short_range_cabana.hpp"#include "short_range_loop.hpp"#include "short_range_verlet.hpp"#include "system/GpuParticleData.hpp"#include "system/System.hpp"#include "thermostat.hpp"#include "virtual_sites/com.hpp"#include "virtual_sites/relative.hpp"#include <utils/Vector.hpp>#include <utils/math/sqr.hpp>#include "caliper_utils.hpp"#include <Cabana_Core.hpp>#include <cassert>#include <cmath>#include <cstddef>#include <memory>#include <span>#include <variant>
Include dependency graph for forces.cpp:Go to the source code of this file.
Functions | |
| static bool | ghost_reduce_overlap_eligible (System::System const &system) |
| Eligibility check for the split-phase ghost force reduction. | |
| static void | force_capping (CellStructure &cell_structure, double force_cap) |
| static void | reinit_dip_fld (CellStructure const &cell_structure) |
| static BondsKernelData | create_kokkos_bonds_kernel_data (System::System const &system) |
| static ForcesKernel | create_cabana_neighbor_kernel (System::System const &system, Utils::Vector3d *virial, auto const &elc_kernel, auto const &coulomb_kernel, auto const &dipoles_kernel, auto const &coulomb_u_kernel) |
| template<bool HasCoulomb> | |
| static ShortRangeVerletPairLoop | make_specialized_verlet_pair_loop (InteractionsNonBonded const &nonbonded_ias, CellStructure::AoSoA_pack const &aosoa, CellStructure::ScatterForce scatter_force, CuboidMinimumImage const &minimum_image, double const max_cutoff_sq, Coulomb::ShortRangeForceKernel::kernel_type const *coulomb_ptr=nullptr, CoulombP3M const *p3m=nullptr) |
| static ShortRangeVerletPairLoop | create_specialized_verlet_pair_loop (System::System const &system, Utils::Vector3d const *virial, auto const &elc_kernel, auto const &coulomb_kernel, auto const &dipoles_kernel) |
| static void | reduce_cabana_forces_and_torques (System::System const &system, Utils::Vector3d *virial) |
|
static |
Definition at line 169 of file forces.cpp.
References System::System::bonded_ias, System::System::box_geo, System::System::cell_structure, System::System::coulomb, get_ptr(), System::System::maximal_cutoff(), System::System::nonbonded_ias, and System::System::thermostat.
Referenced by System::System::calculate_forces().
|
static |
Definition at line 152 of file forces.cpp.
References System::System::bond_breakage, System::System::bonded_ias, System::System::box_geo, and System::System::cell_structure.
Referenced by System::System::calculate_forces().
|
static |
Definition at line 262 of file forces.cpp.
References System::System::box_geo, System::System::cell_structure, System::System::coulomb, CUBOID, get_ptr(), get_toplevel_p3m_solver(), System::System::maximal_cutoff(), System::System::nonbonded_ias, specialized_kernel_pair_mask, and Utils::sqr().
Referenced by System::System::calculate_forces().
|
static |
Definition at line 131 of file forces.cpp.
References CellStructure::for_each_local_particle(), Particle::force(), and Utils::sqr().
Referenced by System::System::calculate_forces().
|
static |
Eligibility check for the split-phase ghost force reduction.
The overlap is safe only when ALL of the following hold:
Definition at line 98 of file forces.cpp.
References System::System::comfixed, comm_cart, System::System::dipoles, System::System::get_force_cap(), Dipoles::Solver::impl, INTEG_METHOD_NVT, INTEG_METHOD_SYMPLECTIC_EULER, System::System::propagation, PropagationMode::TRANS_LANGEVIN_NPT, and PropagationMode::TRANS_LB_TRACER.
Referenced by System::System::calculate_forces().
|
static |
Definition at line 216 of file forces.cpp.
|
static |
Definition at line 330 of file forces.cpp.
References System::System::cell_structure, and ESPRESSO_CALI_MARK_FUNCTION.
Referenced by System::System::calculate_forces().
|
static |
Definition at line 145 of file forces.cpp.
References Particle::dip_fld(), and CellStructure::for_each_local_particle().
Referenced by System::System::calculate_forces().