STORMM Source Documentation
Loading...
Searching...
No Matches
mesh_mechanics.h
1// -*-c++-*-
2#ifndef STORMM_MESH_MECHANICS_H
3#define STORMM_MESH_MECHANICS_H
4
5#include "copyright.h"
6#include "Math/vector_ops.h"
7#include "Numerics/split_fixed_precision.h"
8#include "Parsing/parse.h"
9#include "Potential/energy_enumerators.h"
10#include "Potential/scorecard.h"
11#include "background_mesh.h"
12#include "mesh_forcefield.h"
13#include "structure_enumerators.h"
14
15namespace stormm {
16namespace structure {
17
18using energy::ScoreCard;
19using energy::StateVariable;
20using numerics::hostChangeFPBits;
21using parse::realToString;
22using stmath::accumulateBitmask;
23
64template <typename Tdata, typename Tcalc, typename Tcoord, typename Tobs>
65double interpolate(const BackgroundMeshReader<Tdata> &bgmr, const MeshFFKit<Tcalc> &mnbk,
66 const Tcalc* prop_a, const Tcalc* prop_b, const int* prop_idx,
67 const Tcoord* xcrd, const Tcoord* ycrd, const Tcoord* zcrd,
68 const int* xcrd_ovrf, const int* ycrd_ovrf, const int* zcrd_ovrf,
69 int natom, Tobs* vnrg, Tcoord* xfrc, Tcoord* yfrc, Tcoord* zfrc,
70 int* xfrc_ovrf, int* yfrc_ovrf, int* zfrc_ovrf,
71 OffMeshProtocol policy = OffMeshProtocol::DIE, int system_index = 0,
72 int crd_scaling_bits = 0, int frc_scaling_bits = 0, int nrg_scaling_bits = 0);
73
74template <typename Tcalc, typename Tcoord>
75void interpolate(const BackgroundMeshReader<Tcalc> &bgmr, const MeshFFKit<Tcalc> &mnbk,
77 OffMeshProtocol policy = OffMeshProtocol::DIE, int system_index = 0);
79
83template <typename Tcalc, typename Tcoord>
84double footprint(const BackgroundMeshReader<ullint> &bgmr, const Tcoord* xcrd, const Tcoord* ycrd,
85 const Tcoord* zcrd, const int* xcrd_ovrf, const int* ycrd_ovrf,
86 const int* zcrd_ovrf, const uint* prop_idx, int natom, Tcoord* vclash,
87 OffMeshProtocol policy = OffMeshProtocol::DIE, int system_index = 0,
88 int crd_scaling_bits = 0);
89
90} // namespace structure
91} // namespace stormm
92
93#include "mesh_mechanics.tpp"
94
95#endif
Track the energy components of a collection of systems in an HPC-capable array. This object uses the ...
Definition scorecard.h:101
The templated, writeable abstract of a BackgroundMesh object.
Definition background_mesh.h:142
An object to store the probe's specific non-bonded parameters and softcore function coefficients used...
Definition mesh_forcefield.h:35
Information needed for non-bonded real-space calculations. Templating is used as above,...
Definition atomgraph_abstracts.h:287
Collect constants and pointers to the components of a modifiable PhaseSpace object.
Definition phasespace.h:31