STORMM Source Documentation
Loading...
Searching...
No Matches
eval_valence_workunit.h
1// -*-c++-*-
2#ifndef STORMM_EVAL_VALENCE_WORKUNIT_H
3#define STORMM_EVAL_VALENCE_WORKUNIT_H
4
5#include "copyright.h"
6#include "Restraints/restraint_apparatus.h"
7#include "Synthesis/valence_workunit.h"
8#include "Topology/atomgraph.h"
9#include "Topology/atomgraph_abstracts.h"
10#include "Trajectory/phasespace.h"
11#include "Trajectory/coordinateframe.h"
12#include "energy_enumerators.h"
13#include "scorecard.h"
14
15namespace stormm {
16namespace energy {
17
18using restraints::RestraintApparatus;
19using restraints::RestraintKit;
20using synthesis::ValenceWorkUnit;
21using synthesis::VwuTask;
22using synthesis::VwuGoal;
23using topology::AtomGraph;
24using topology::UnitCellType;
25using topology::NonbondedKit;
26using topology::ValenceKit;
27using topology::VirtualSiteKit;
28using trajectory::CoordinateFrame;
29using trajectory::PhaseSpace;
30
58void localVwuEvaluation(const ValenceKit<double> vk, const VirtualSiteKit<double> vsk,
59 const NonbondedKit<double> nbk,
60 const RestraintKit<double, double2, double4> rar, const double* sh_charges,
61 const int* sh_lj_idx, double* sh_xcrd, double* sh_ycrd, double* sh_zcrd,
62 double* sh_xfrc, double* sh_yfrc, double* sh_zfrc, ScoreCard *ecard,
63 const int sysid, const ValenceWorkUnit &my_vwu, EvaluateForce eval_force,
64 VwuTask activity, VwuGoal purpose, int step_number);
65
87void evalValenceWorkUnits(const ValenceKit<double> vk, const VirtualSiteKit<double> vsk,
88 const NonbondedKit<double> nbk,
89 const RestraintKit<double, double2, double4> rar, double* xcrd,
90 double* ycrd, double* zcrd, const double* umat, const double* invu,
91 UnitCellType unit_cell, double* xfrc, double* yfrc, double* zfrc,
92 ScoreCard *ecard, int sysid,
93 const std::vector<ValenceWorkUnit> &vwu_list,
94 EvaluateForce eval_force = EvaluateForce::NO,
95 VwuTask activity = VwuTask::ALL_TASKS,
96 VwuGoal goal = VwuGoal::ACCUMULATE, int step_number = 0);
97
98void evalValenceWorkUnits(const AtomGraph *ag, PhaseSpace *ps, const RestraintApparatus *ra,
99 ScoreCard *ecard, int sysid,
100 const std::vector<ValenceWorkUnit> &vwu_list,
101 EvaluateForce eval_force = EvaluateForce::NO,
102 VwuTask activity = VwuTask::ALL_TASKS,
103 VwuGoal goal = VwuGoal::ACCUMULATE, int step_number = 0);
104
105void evalValenceWorkUnits(const ValenceKit<double> vk, const VirtualSiteKit<double> vsk,
106 const NonbondedKit<double> nbk,
107 const RestraintKit<double, double2, double4> rar, const double* xcrd,
108 const double* ycrd, const double* zcrd, const double* umat,
109 const double* invu, UnitCellType unit_cell, double* xfrc, double* yfrc,
110 double* zfrc, ScoreCard *ecard, const int sysid,
111 const std::vector<ValenceWorkUnit> &vwu_list, EvaluateForce eval_force,
112 VwuTask activity, int step_number);
113
114void evalValenceWorkUnits(const AtomGraph &ag, const PhaseSpace &ps, const RestraintApparatus &ra,
115 ScoreCard *ecard, int sysid,
116 const std::vector<ValenceWorkUnit> &vwu_list,
117 VwuTask activity = VwuTask::ALL_TASKS, int step_number = 0);
119
120} // namespace energy
121} // namespace stormm
122
123#endif
Track the energy components of a collection of systems in an HPC-capable array. This object uses the ...
Definition scorecard.h:101
A collection of all restraints pertaining to a specific topology for the purposes of one simulation,...
Definition restraint_apparatus.h:109
An object to collect the components of a valence work unit (which will also track frozen atoms to imp...
Definition valence_workunit.h:537
A struct to hold information relating to an Amber topology. This struct's member functions are limite...
Definition atomgraph.h:50
An object to complement a topology and hold positions, velocities, and forces of all particles in a s...
Definition phasespace.h:141
Double-precision reader abstract for the RestraintApparatus class. Restraints are very detailed thing...
Definition restraint_apparatus.h:28
Information needed for non-bonded real-space calculations. Templating is used as above,...
Definition atomgraph_abstracts.h:287
Information need for bonded calculations. Templating is used to serve either of two levels of precisi...
Definition atomgraph_abstracts.h:88
Information needed for the placement of virtual sites and transmission of forces on these sites to th...
Definition atomgraph_abstracts.h:430