MDStressLab++
Loading...
Searching...
No Matches
Grid.h
Go to the documentation of this file.
1/*
2 * Grid.h
3 *
4 * Created on: Nov 5, 2019
5 * Author: Nikhil
6 */
7
8#ifndef GRID_H_
9#define GRID_H_
10#include "typedef.h"
11#include <vector>
12#include "SubConfiguration.h"
13#include <set>
14
16{
17public:
18 std::vector<Vector3d> coordinates;
21};
22
25
37template<ConfigType T>
38class Grid : public GridBase{
39public:
40 Grid(int);
44 int ngridx, int ngridy=1,int ngridz=1);
50 int ngridx, int ngridy=1,int ngridz=1);
51 Grid(std::string);
52 virtual ~Grid();
53 int ngrid;
54
55 void read(std::string);
56 void write(std::string) const;
57 void setCounter();
58 std::vector<std::set<int>> getGridNeighborLists(const SubConfiguration&, const double&) const;
59};
60
61template<ConfigType T>
63{
64private:
65 const Grid<T>& grid;
66 const SubConfiguration& subconfig;
67 const double padding;
68 std::pair<ConstSpatialHash,ConstSpatialHash> hashGridSubconfig;
69public:
70 GridSubConfiguration(const Grid<T>&, const SubConfiguration&, const double& );
71 std::set<int> getGridPointNeighbors(const int& ) const;
72
73};
94#include "Grid.cpp"
95
96#endif /* GRID_H_ */
static int numberOfReferenceGrids
Definition Grid.h:19
static int numberOfCurrentGrids
Definition Grid.h:20
std::vector< Vector3d > coordinates
Definition Grid.h:18
std::set< int > getGridPointNeighbors(const int &) const
Definition Grid.cpp:227
Definition Grid.h:38
void setCounter()
Definition Grid.cpp:204
virtual ~Grid()
Definition Grid.cpp:213
std::vector< std::set< int > > getGridNeighborLists(const SubConfiguration &, const double &) const
Definition Grid.cpp:136
void read(std::string)
Definition Grid.cpp:186
int ngrid
Definition Grid.h:53
void write(std::string) const
Definition Grid.cpp:175
Eigen::Matrix< double, DIM, DIM, Eigen::RowMajor > Matrix3d
Definition typedef.h:56
Eigen::Matrix< double, 1, DIM, Eigen::RowMajor > Vector3d
Definition typedef.h:60