ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
forces.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010-2022 The ESPResSo project
3 * Copyright (C) 2002,2003,2004,2005,2006,2007,2008,2009,2010
4 * Max-Planck-Institute for Polymer Research, Theory Group
5 *
6 * This file is part of ESPResSo.
7 *
8 * ESPResSo is free software: you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation, either version 3 of the License, or
11 * (at your option) any later version.
12 *
13 * ESPResSo is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22#pragma once
23
24/** \file
25 * Force calculation.
26 *
27 * Implementation in forces.cpp.
28 */
29
30#include "ParticleRange.hpp"
31
32#include <utils/Vector.hpp>
33
34/** Assign external forces/torques to real particles and zero to ghosts. */
35void init_forces(ParticleRange const &particles, double time_step);
36
37/** Set forces of all ghosts to zero */
38void init_forces_ghosts(ParticleRange const &particles);
39
40/** Calculate long range forces (P3M, ...). */
41void calc_long_range_forces(ParticleRange const &particles);
42
43#ifdef NPT
44/** Update the NpT virial */
46 Utils::Vector3d const &d);
47#endif
Vector implementation and trait types for boost qvm interoperability.
__global__ float * force
A range of particles.
void calc_long_range_forces(ParticleRange const &particles)
Calculate long range forces (P3M, ...).
Definition forces.cpp:252
void init_forces_ghosts(ParticleRange const &particles)
Set forces of all ghosts to zero.
Definition forces.cpp:102
void npt_add_virial_force_contribution(Utils::Vector3d const &force, Utils::Vector3d const &d)
Update the NpT virial.
Definition forces.cpp:269
void init_forces(ParticleRange const &particles, double time_step)
Assign external forces/torques to real particles and zero to ghosts.