STORMM Source Documentation
Loading...
Searching...
No Matches
eval_synthesis.h
1// -*-c++-*-
2#ifndef STORMM_EVAL_SYNTHESIS_H
3#define STORMM_EVAL_SYNTHESIS_H
4
5#include "copyright.h"
6#include "DataTypes/common_types.h"
7#include "DataTypes/stormm_vector_types.h"
8#include "Math/vector_ops.h"
9#include "MolecularMechanics/mm_evaluation.h"
10#include "Potential/scorecard.h"
11#include "Potential/static_exclusionmask.h"
12#include "Potential/valence_potential.h"
13#include "Synthesis/atomgraph_synthesis.h"
14#include "Synthesis/phasespace_synthesis.h"
15#include "Synthesis/nonbonded_workunit.h"
16#include "Synthesis/static_mask_synthesis.h"
17#include "Synthesis/synthesis_abstracts.h"
18#include "Synthesis/synthesis_enumerators.h"
19#include "Synthesis/valence_workunit.h"
20
21namespace stormm {
22namespace energy {
23
24using mm::commitVwuEnergies;
25using mm::evalVwuInitEnergy;
26using stmath::readBitFromMask;
27using synthesis::AtomGraphSynthesis;
28using synthesis::maximum_valence_work_unit_atoms;
29using synthesis::small_block_max_imports;
30using synthesis::supertile_wu_abstract_length;
31using synthesis::tile_groups_wu_abstract_length;
32using synthesis::PhaseSpaceSynthesis;
33using synthesis::PsSynthesisWriter;
34using synthesis::SeMaskSynthesisReader;
35using synthesis::StaticExclusionMaskSynthesis;
36using synthesis::SyAtomUpdateKit;
37using synthesis::SyNonbondedKit;
38using synthesis::SyValenceKit;
39using synthesis::SyRestraintKit;
40using synthesis::vwu_abstract_length;
41using synthesis::VwuAbstractMap;
42using synthesis::VwuGoal;
43using synthesis::VwuTask;
44
52
72template <typename Tcalc, typename Tcalc2>
73void evalSyNonbondedTileGroups(const SyNonbondedKit<Tcalc, Tcalc2> synbk,
75 ScoreCard *ecard, NonbondedTask task, EvaluateForce eval_elec_force,
76 EvaluateForce eval_vdw_force, Tcalc clash_minimum_distance = 0.0,
77 Tcalc clash_ratio = 0.0);
78
89void evalSyNonbondedEnergy(const AtomGraphSynthesis &poly_ag,
90 const StaticExclusionMaskSynthesis &poly_se,
91 PhaseSpaceSynthesis *poly_ps, ScoreCard *ecard,
92 NonbondedTask task,
93 PrecisionModel prec = PrecisionModel::DOUBLE,
94 EvaluateForce eval_elec_force = EvaluateForce::YES,
95 EvaluateForce eval_vdw_force = EvaluateForce::YES,
96 double clash_minimum_distance = 0.0, double clash_ratio = 0.0);
97
98} // namespace energy
99} // namespace stormm
100
101#include "eval_synthesis.tpp"
102
103#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 one or more AtomGraph objects, with similar components arranged in contiguous arrays ...
Definition atomgraph_synthesis.h:55
A fixed-precision representation of coordinates, velocities, and forces to manage a set of simulation...
Definition phasespace_synthesis.h:325
An exclusion mask object for a compilation of systems. All systems are represented in full detail,...
Definition static_mask_synthesis.h:54
The writer for a PhaseSpaceSynthesis object, containing all of the data relevant for propagating dyna...
Definition phasespace_synthesis.h:87
The read-only abstract for a static exclusion mask compilation. This provides access in a similar for...
Definition static_mask_synthesis.h:20
Collect the critical non-bonded parameters and masking information for work unit-based evaluation of ...
Definition synthesis_abstracts.h:181