MDStressLab++
Loading...
Searching...
No Matches
SubConfiguration.cpp
Go to the documentation of this file.
1/*
2 * SubConfiguration.cpp
3 *
4 * Created on: Dec 16, 2019
5 * Author: Nikhil
6 */
7
8#include "SubConfiguration.h"
9
11 Configuration(stencil.particleContributingMap.size(), stencil.parent.coordinates.at(Reference).rows()>0),
12 parent(stencil.parent)
13{
14 int numberOfParticlesInParent= parent.numberOfParticles;
15
17 particleContributing.setZero();
18
19
20 int referenceAndFinal= (coordinates.at(Reference).rows()>0);
21
22 int i_localParticle=0;
23 for(const auto& particleContributingPair : stencil.particleContributingMap)
24 {
25 int particle= particleContributingPair.first;
26 int contributing= particleContributingPair.second;
27
28 auto result= globalLocalMap.insert({particle,i_localParticle});
29 assert(result.second && "Insertion failed in the creation of a glocalLocalMap");
30 result= localGlobalMap.insert({i_localParticle,particle});
31 assert(result.second && "Insertion failed in the creation of a localGlobalMap");
32 particleContributing[i_localParticle]= contributing;
33
34 this->coordinates.at(Current).row(i_localParticle)= parent.coordinates.at(Current).row(particle);
35 if (referenceAndFinal) this->coordinates.at(Reference).row(i_localParticle)= parent.coordinates.at(Reference).row(particle);
36 this->velocities.row(i_localParticle)= parent.velocities.row(particle);
37 this->species.push_back(parent.species[particle]);
38 i_localParticle++;
39 }
40
41}
42
44 // TODO Auto-generated destructor stub
45}
46
Represents atomic configuration data including coordinates, velocities, and species.
std::vector< std::string > species
Species names for each particle (size equals numberOfParticles).
MatrixXd velocities
Velocities of particles.
int numberOfParticles
Total number of particles in the configuration.
std::map< ConfigType, MatrixXd > coordinates
Map from configuration type (Reference or Current) to coordinate matrices.
std::map< int, int > particleContributingMap
Definition Stencil.h:25
SubConfiguration(const Stencil &stencil)
std::map< int, int > globalLocalMap
const Configuration & parent
std::map< int, int > localGlobalMap
VectorXi particleContributing
@ Current
Definition typedef.h:70
@ Reference
Definition typedef.h:69