MDStressLab++
Loading...
Searching...
No Matches
neighbor_list.h
Go to the documentation of this file.
1/*
2 * neighbor_list.h
3 *
4 * Created on: Nov 6, 2019
5 * Author: Nikhil
6 */
7
8#ifndef NEIGHBOR_LIST_H_
9#define NEIGHBOR_LIST_H_
10
11#include <vector>
12#include "typedef.h"
13
14typedef struct
15{
17 double cutoff;
22
23// neighbor list structure
29
30
31void nbl_initialize(NeighList ** const nl);
32
33int nbl_create_paddings(const int numberOfParticles,
34 const double cutoff,
35 double const * reference_origin,
36 double const * origin,
37 double const * reference_cell,
38 double const * cell,
39 int const * PBC,
40 double const * reference_coordinates,
41 double const * coordinates,
42 const std::vector<std::string>& speciesCode,
43 int & numberOfPaddings,
44 std::vector<double> & reference_coordinatesOfPaddings,
45 std::vector<double> & coordinatesOfPaddings,
46 std::vector<std::string> & speciesCodeOfPaddings,
47 std::vector<int> & masterOfPaddings,
48 int referenceAndFinal);
49
50int nbl_build(NeighList * const nl,
51 int const numberOfParticles,
52 double const * coordinates,
53 double const influenceDistance,
54 int const numberOfCutoffs,
55 double const * cutoffs,
56 int const * needNeighbors);
57
58int nbl_get_neigh(void const * const nl,
59 int const numberOfCutoffs,
60 double const * const cutoffs,
61 int const neighborListIndex,
62 int const particleNumber,
63 int * const numberOfNeighbors,
64 int const ** const neighborsOfParticle);
65
66void nbl_clean(NeighList ** const nl);
67
68
69
70#endif /* NEIGHBOR_LIST_H_ */
void nbl_initialize(NeighList **const nl)
int nbl_create_paddings(const int numberOfParticles, const double cutoff, double const *reference_origin, double const *origin, double const *reference_cell, double const *cell, int const *PBC, double const *reference_coordinates, double const *coordinates, const std::vector< std::string > &speciesCode, int &numberOfPaddings, std::vector< double > &reference_coordinatesOfPaddings, std::vector< double > &coordinatesOfPaddings, std::vector< std::string > &speciesCodeOfPaddings, std::vector< int > &masterOfPaddings, int referenceAndFinal)
int nbl_build(NeighList *const nl, int const numberOfParticles, double const *coordinates, double const influenceDistance, int const numberOfCutoffs, double const *cutoffs, int const *needNeighbors)
void nbl_clean(NeighList **const nl)
int nbl_get_neigh(void const *const nl, int const numberOfCutoffs, double const *const cutoffs, int const neighborListIndex, int const particleNumber, int *const numberOfNeighbors, int const **const neighborsOfParticle)
NeighListOne * lists
int numberOfNeighborLists