LJ_matrix.h
Go to the documentation of this file.
1 //
2 // This file is part of the FFEA simulation package
3 //
4 // Copyright (c) by the Theory and Development FFEA teams,
5 // as they appear in the README.md file.
6 //
7 // FFEA is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // FFEA is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with FFEA. If not, see <http://www.gnu.org/licenses/>.
19 //
20 // To help us fund FFEA development, we humbly ask that you cite
21 // the research papers on the package.
22 //
23 
24 #ifndef LJMATRIXHINCLUDED
25 #define LJMATRIXHINCLUDED
26 
27 #include <stdio.h>
28 #include <cstring>
29 #include <string>
30 #include <map>
31 #include <vector>
32 #include <iostream>
33 #include <fstream>
34 #include <boost/algorithm/string.hpp>
35 
36 #include "FFEA_return_codes.h"
37 #include "mat_vec_types.h"
38 #include "dimensions.h"
39 #include "SimulationParams.h"
40 
41 #define LJI(A,B) ((A) * num_ssint_face_types + (B))
42 
43 #define SSINT_TYPE_UNDEFINED 0
44 #define SSINT_TYPE_STERIC 1
45 #define SSINT_TYPE_LJSTERIC 2
46 #define SSINT_TYPE_LJ 3
47 #define SSINT_TYPE_GENSOFT 4
48 
49 using namespace std;
50 
51 class LJ_pair {
52 public:
53  LJ_pair();
54  ~LJ_pair();
57 };
58 
59 class SSINT_matrix {
60 public:
61  SSINT_matrix();
62  ~SSINT_matrix();
63 
64  int init(string ssint_params_fname, string ssint_type, int calc_ssint, scalar ssint_cutoff);
65 
66  // void get_SSINT_params(int type1, int type2, map<string, scalar> *parmap);
67  map<string, scalar> get_SSINT_params(int type1, int type2);
68  int get_num_types();
69 
70 private:
71  int init_ssint(string ssint_params_fname, string ssint_type, scalar ssint_cutoff);
72  int init_steric();
73  //LJ_pair *params;
74  map<string, scalar> *params;
76 };
77 
78 #endif
scalar Emin
Definition: LJ_matrix.h:55
STL namespace.
Definition: LJ_matrix.h:59
scalar Rmin
Definition: LJ_matrix.h:56
Definition: LJ_matrix.h:51
int num_ssint_face_types
Definition: LJ_matrix.h:75
map< string, scalar > * params
Definition: LJ_matrix.h:74
double scalar
Definition: mat_vec_types.h:36