STORMM Source Documentation
Loading...
Searching...
No Matches
energy_abstracts.h
1// -*-c++-*-
2#ifndef STORMM_ENERGY_ABSTRACTS_H
3#define STORMM_ENERGY_ABSTRACTS_H
4
5#include "copyright.h"
6#include "Constants/generalized_born.h"
7#include "Topology/atomgraph_abstracts.h"
8
9namespace stormm {
10namespace energy {
11
12using topology::ImplicitSolventKit;
13using topology::ImplicitSolventModel;
14using namespace generalized_born_defaults;
15
16template <typename T> struct ImplicitSolventRecipe {
17
29 const NeckGeneralizedBornKit<T> &ngbk);
30
31 // All member variables are public, just like any other abstract
32 const int natom;
33 const ImplicitSolventModel igb;
35 const int table_size;
36 const T dielectric;
37 const T kappa;
38 const T gb_offset;
40 const T gb_neckscale;
41 const T gb_neckcut;
42 const int* neck_gb_idx;
44 const T* pb_radii;
45 const T* gb_screen;
46 const T* gb_alpha;
49 const T* gb_beta;
50 const T* gb_gamma;
51 const T* neck_max_sep;
52 const T* neck_max_val;
53};
54
55} // namespace energy
56} // namespace stormm
57
58#include "energy_abstracts.tpp"
59
60#endif
const T dielectric
The dielectric constant to use in solvent screening.
Definition energy_abstracts.h:36
ImplicitSolventRecipe(const ImplicitSolventKit< T > &isk, const NeckGeneralizedBornKit< T > &ngbk)
The constructor takes two abstracts / kits, from the AtomGraph and from an instantiation of the "neck...
const ImplicitSolventModel igb
Definition energy_abstracts.h:33
const T gb_offset
Definition energy_abstracts.h:38
const T gb_neckscale
Neck function scaling parameter for neck GB.
Definition energy_abstracts.h:40
const T * neck_max_sep
Neck GB maximum separations table.
Definition energy_abstracts.h:51
const T * gb_alpha
Definition energy_abstracts.h:46
const T kappa
Inverse of the Debye-Huckel length (based on the dielectic)
Definition energy_abstracts.h:37
const T * gb_beta
Generalized Born beta parameters.
Definition energy_abstracts.h:49
const int natom
Number of atoms in the system.
Definition energy_abstracts.h:32
const T * gb_gamma
Generalized Born gamma parameters.
Definition energy_abstracts.h:50
const int * neck_gb_idx
Definition energy_abstracts.h:42
const T * pb_radii
Poisson-Boltzmann (or Generalized Born) baseline radii.
Definition energy_abstracts.h:44
const T * gb_screen
Generalized Born screening factors.
Definition energy_abstracts.h:45
const int table_size
Size of the neck Generalized Born tables (if applicable)
Definition energy_abstracts.h:35
const T * neck_max_val
Neck GB maximum values table.
Definition energy_abstracts.h:52
const T gb_neckcut
Cutoff for the "neck" GB function.
Definition energy_abstracts.h:41
Abstract for the NeckGeneralizedBornTable object, in single- or double-precision.
Definition generalized_born.h:130
Information needed for Generalized Born (and perhaps other) implicit solvent methods....
Definition atomgraph_abstracts.h:352