54 9ul,
static_cast<std::size_t
>(bonded_ias->get_next_key()),
55 nonbonded_ias->get_max_seen_particle_type());
57 if (long_range_interactions_sanity_checks()) {
65 auto const volume = box_geo->volume();
74 [](
auto &a,
auto const &b) { a += b; });
81 cell_structure->get_verlet_skin(),
82 get_interaction_range(),
87 get_interaction_range(), propagation->integ_switch);
90 static_cast<std::size_t
>(bonded_ias->get_next_key()),
91 std::size_t(nonbonded_ias->get_max_seen_particle_type() + 1)};
93 using exec = Kokkos::DefaultHostExecutionSpace;
94 Kokkos::View<double **, Kokkos::LayoutRight, exec> local_pressure(
97 auto const &unique_particles = cell_structure->get_unique_particles();
98 auto const n_particles = unique_particles.size();
99 Kokkos::View<int *, Kokkos::LayoutRight, exec> mol_id(
"mol_id", n_particles);
100 for (std::size_t i = 0; i < n_particles; ++i) {
101 mol_id(i) = unique_particles[i]->mol_id();
111 thermostat->
dpd.get(),
113 cell_structure->get_unique_particles(),
116 cell_structure->get_aosoa(),
119 thermostat->thermo_switch};
121 auto &
bs = cell_structure->bond_state();
123 layout, cell_structure->get_aosoa()};
134 propagation->integ_switch);
137 nonbonded_ias->get_max_seen_particle_type() + 1);
139#ifdef ESPRESSO_ELECTROSTATICS
144#ifdef ESPRESSO_DIPOLES
146 dipoles.calc_pressure_long_range();
149#ifdef ESPRESSO_VIRTUAL_SITES_RELATIVE
157#ifdef ESPRESSO_BOND_CONSTRAINT
158 if (propagation->is_inertial()
and bonded_ias->get_n_rigid_bonds() >= 1) {
164 auto const &rigid_bond_virial = bonded_ias->rigid_bond_virial;
165 for (std::size_t bond_id = 0; bond_id < rigid_bond_virial.size();
167 auto const stress = rigid_bond_virial[bond_id] /
sq_dt;
169 for (std::size_t k = 0; k < 9u; ++k)
static void reduce_cabana_pressure(Kokkos::View< double **, Kokkos::LayoutRight, Kokkos::HostSpace > const &local_pressure, PressureBinLayout const &layout, Observable_stat &obs, BondedInteractionsMap const &bonded_ias, int n_types)
void cabana_short_range(auto const &pair_bonds_kernel, auto const &angle_bonds_kernel, auto const &dihedral_bonds_kernel, auto const &nonbonded_kernel, CellStructure &cell_structure, double pair_cutoff, double bond_cutoff, auto const &verlet_criterion, auto const integ_switch)
Struct holding all information for one particle.