MDStressLab++
kim.h
Go to the documentation of this file.
1 /*
2  * kim.h
3  *
4  * Created on: Nov 18, 2019
5  * Author: Nikhil
6  */
7 
8 #ifndef KIM_H_
9 #define KIM_H_
10 
11 #include "KIM_SimulatorHeaders.hpp"
12 #include "KIM_SupportedExtensions.hpp"
13 #include "BoxConfiguration.h"
14 #include "neighbor_list.h"
15 #include "InteratomicForces.h"
16 
17 class Kim
18 {
19 public:
20  KIM::Model* kim_ptr;
21  KIM::ComputeArguments* computeArguments;
23  std::vector<int> speciesCode;
24 
25  Kim(std::string);
26  Kim(){kim_ptr=nullptr; computeArguments=nullptr; influenceDistance=0;}
27  virtual ~Kim();
28  void queryModel();
29  void broadcastToModel(const Configuration* config_ptr,
30  const VectorXi& particleContributing,
31  NeighList* nl_ptr,
32  KIM::Function* get_neigh_ptr,
33  InteratomicForces* bonds,
34  KIM::Function* processDEDr_ptr);
35  void compute();
36  const double* getCutoffs() const;
37  int getNumberOfNeighborLists() const;
38  static void processDEDr(){};
39 
40 };
41 #endif /* KIM_H_ */
virtual ~Kim()
Definition: kim.cpp:40
void broadcastToModel(const Configuration *config_ptr, const VectorXi &particleContributing, NeighList *nl_ptr, KIM::Function *get_neigh_ptr, InteratomicForces *bonds, KIM::Function *processDEDr_ptr)
Definition: kim.cpp:252
Definition: kim.h:17
double influenceDistance
Definition: kim.h:22
const double * getCutoffs() const
Definition: kim.cpp:46
Kim()
Definition: kim.h:26
KIM::ComputeArguments * computeArguments
Definition: kim.h:21
static void processDEDr()
Definition: kim.h:38
KIM::Model * kim_ptr
Definition: kim.h:20
void compute()
Definition: kim.cpp:290
int getNumberOfNeighborLists() const
Definition: kim.cpp:57
std::vector< int > speciesCode
Definition: kim.h:23
void queryModel()
Definition: kim.cpp:69
Eigen::Matrix< int, 1, Eigen::Dynamic, Eigen::RowMajor > VectorXi
Definition: typedef.h:58