30 #define ACCELERATED_INPUT 1 31 #ifdef ACCELERATED_INPUT 33 #define ACCELERATED_INPUT_ANGLES 1 34 #define ACCELERATED_INPUT_DIHEDRALS 1 35 #define ACCELERATED_INPUT_IMPROPERS 1 36 #define ACCELERATED_INPUT_CROSSTERMS 1 37 #define ACCELERATED_INPUT_VDW 1 38 #define ACCELERATED_INPUT_NBTHOLE 1 39 #define ACCELERATED_INPUT_TABLE_PAIR 1 40 #if defined(ACCELERATED_INPUT_NBTHOLE) && ! defined(ACCELERATED_INPUT_VDW) 41 static_assert(
false,
"ACCELERATED_INPUT_NBTHOLE requires ACCELERATED_INPUT_VDW");
44 #if defined(ACCELERATED_INPUT_TABLE_PAIR) && ! defined(ACCELERATED_INPUT_VDW) 45 static_assert(
false,
"ACCELERATED_INPUT_TABLE_PAIR requires ACCELERATED_INPUT_VDW");
47 #endif // ACCELERATED_INPUT 51 #define cbrt(x) pow((double)x,(double)(1.0/3.0)) 88 #define MAX_MULTIPLICITY 6 91 #define MAX_ATOMTYPE_CHARS 6 141 #ifdef ACCELERATED_INPUT 195 #ifdef ACCELERATED_INPUT_VDW 244 #ifndef ACCELERATED_INPUT_TABLE_PAIR 282 #ifdef ACCELERATED_INPUT 290 #ifdef ACCELERATED_INPUT_VDW 293 std::unordered_map <uint64_t, IndexedVdwPairAccel> vdwpairmap;
294 #ifdef ACCELERATED_INPUT_NBTHOLE 295 std::unordered_map <uint64_t, NbtholePairValue> nbtholepairmap;
297 #ifdef ACCELERATED_INPUT_TABLE_PAIR 298 std::unordered_map <uint64_t, IndexedTablePair> tablepairmap;
348 int *maxDihedralMults;
350 int *maxImproperMults;
353 void skip_stream_read(
char *, FILE *);
355 void add_bond_param(
const char *,
Bool);
359 void add_angle_param(
char *);
363 void add_dihedral_param(
char *, FILE *);
367 void add_improper_param(
char *, FILE *);
370 void add_crossterm_param(
char *, FILE *);
373 void add_vdw_param(
char *);
377 void add_vdw_pair_param(
char *);
378 void add_nbthole_pair_param(
char *);
379 void add_table_pair_param(
char *);
384 void add_hb_pair_param(
char *);
390 void traverse_vdw_params(
struct vdw_params *);
403 void index_dihedrals();
404 void index_impropers();
405 void index_crossterms();
407 void convert_vdw_pairs();
408 void convert_nbthole_pairs();
409 void convert_table_pairs();
432 void free_vdw_pair_list();
433 void free_nbthole_pair_list();
488 #ifdef MEM_OPT_VERSION 549 NAMD_die(
"Bad mult index in Parameters::get_improper_params");
562 NAMD_die(
"Bad mult index in Parameters::get_dihedral_params");
597 else {
NAMD_die (
"Function get_vdw_params failed to derive Lennard-Jones sigma and epsilon from A and B values\n");}
GromacsPairValue * gromacsPair_array
void assign_improper_index(const char *, const char *, const char *, const char *, Improper *, int)
CrosstermData c[dim][dim]
nbthole_pair_value(Index _ind1, Index _ind2, Real _tholeij)
void assign_vdw_index(const char *, Atom *)
void print_crossterm_params()
indexed_table_pair(Index _ind1, Index _ind2, int _K)
void read_charmm_parameter_file(char *)
struct indexed_vdw_pair * right
struct indexed_table_pair IndexedTablePair
int get_improper_multiplicity(Index index)
void get_dihedral_params(Real *k, int *n, Real *delta, Index index, int mult)
int read_energy_type_cubspline(FILE *, const int, BigReal *, const float, const float)
DihedralValue * dihedral_array
void assign_bond_index(const char *, const char *, Bond *, bool *bond_found=nullptr)
CrosstermValue * crossterm_array
IndexedVdwPair * vdw_pair_tree
int read_energy_type(FILE *, const int, BigReal *, const float, const float)
void print_param_summary()
IndexedNbtholePair * nbthole_pair_tree
void read_parameter_file(char *)
FourBodyConsts values[MAX_MULTIPLICITY]
struct indexed_vdw_pair * left
void print_dihedral_array()
int get_int_table_type(char *)
void get_angle_params(Real *k, Real *theta0, Real *k_ub, Real *r_ub, Index index)
void get_improper_params(Real *k, int *n, Real *delta, Index index, int mult)
void assign_crossterm_index(const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, Crossterm *)
void print_vdw_pair_params()
void print_dihedral_params()
struct four_body_consts FourBodyConsts
struct indexed_vdw_pair IndexedVdwPair
ImproperValue * improper_array
int get_vdw_pair_params(Index ind1, Index ind2, Real *, Real *, Real *, Real *)
void NAMD_die(const char *err_msg)
NbtholePairValue * nbthole_array
char * atom_type_name(Index a)
int get_num_vdw_params(void)
FourBodyConsts values[MAX_MULTIPLICITY]
struct indexed_nbthole_pair * right
struct indexed_vdw_pair_accel IndexedVdwPairAccel
int get_table_pair_params(Index, Index, int *)
void send_Parameters(MOStream *)
void done_reading_files(Bool)
void print_nbthole_pair_params()
void read_ener_table(SimParameters *)
void print_improper_params()
int read_energy_type_bothcubspline(FILE *, const int, BigReal *, const float, const float)
void assign_dihedral_index(const char *, const char *, const char *, const char *, Dihedral *, int, int)
void done_reading_structure()
void assign_angle_index(const char *, const char *, const char *, Angle *, int)
struct indexed_nbthole_pair * left
indexed_vdw_pair_accel(Index _ind1, Index _ind2, Real _A, Real _A14, Real _B, Real _B14)
void print_angle_params()
void get_bond_params(Real *k, Real *x0, Index index)
struct nbthole_pair_value NbtholePairValue
void get_vdw_params(Real *sigma, Real *epsilon, Real *sigma14, Real *epsilon14, Index index)
int get_dihedral_multiplicity(Index index)
IndexedTablePair * tab_pair_tree
#define MAX_ATOMTYPE_CHARS
struct indexed_nbthole_pair IndexedNbtholePair
void receive_Parameters(MIStream *)