MDStressLab++
Loading...
Searching...
No Matches
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
20class Kim
21{
22public:
23 std::vector<int> speciesCode;
24 std::string modelname;
26 KIM::Model* kim_ptr;
27 KIM::ComputeArguments* computeArguments;
28
33 Kim(const std::string& modelname);
35 virtual ~Kim();
36 void queryModel();
37
38
50 void broadcastToModel(const Configuration* config_ptr,
51 const VectorXi& particleContributing,
52 const MatrixXd* forces_ptr,
53 NeighList* nl_ptr,
54 KIM::Function* get_neigh_ptr,
55 InteratomicForces* bonds,
56 KIM::Function* processDEDr_ptr);
57
58
64 void compute();
65
66 const double* getCutoffs() const;
67 int getNumberOfNeighborLists() const;
68};
69#endif /* KIM_H_ */
Represents atomic configuration data including coordinates, velocities, and species.
Definition kim.h:21
const double * getCutoffs() const
Definition kim.cpp:48
std::vector< int > speciesCode
Definition kim.h:23
virtual ~Kim()
Definition kim.cpp:40
double influenceDistance
Definition kim.h:25
KIM::ComputeArguments * computeArguments
Definition kim.h:27
void queryModel()
Definition kim.cpp:71
Kim()
Definition kim.h:34
void compute()
Definition kim.cpp:303
void broadcastToModel(const Configuration *config_ptr, const VectorXi &particleContributing, const MatrixXd *forces_ptr, NeighList *nl_ptr, KIM::Function *get_neigh_ptr, InteratomicForces *bonds, KIM::Function *processDEDr_ptr)
Definition kim.cpp:254
std::string modelname
Definition kim.h:24
int getNumberOfNeighborLists() const
Definition kim.cpp:59
KIM::Model * kim_ptr
Definition kim.h:26
Eigen::Matrix< int, 1, Eigen::Dynamic, Eigen::RowMajor > VectorXi
Definition typedef.h:58
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > MatrixXd
Definition typedef.h:54