8#include "ProfileBase.h"
9#include "plugins/SpatialProfile.h"
23 _densityProfile{densProf}, _local3dProfile(), _global3dProfile() {};
28 for (
unsigned short d = 0; d < 3; d++) {
29 _local3dProfile[uID][d] += mol.Vi(d);
34 for (
unsigned short d = 0; d < 3; d++) {
35 domainDecomp->collCommAppendDouble(_local3dProfile[uID][d]);
40 for (
unsigned short d = 0; d < 3; d++) {
41 _global3dProfile[uID][d] = domainDecomp->collCommGetDouble();
50 void output(
string prefix,
long unsigned accumulatedDatasets)
final;
52 void reset(
unsigned long uID)
final {
53 for (
unsigned d = 0; d < 3; d++) {
54 _local3dProfile[uID][d] = 0.0;
55 _global3dProfile[uID][d] = 0.0;
65 std::map<unsigned, std::array<double, 3>> _local3dProfile;
67 std::map<unsigned, std::array<double, 3>> _global3dProfile;
70 void writeDataEntry(
unsigned long uID, ofstream& outfile)
const final {};
Outputs the number density of molecules per bin specified by Sampling grid in KartesianProfile.
Definition: DensityProfile.h:14
handle boundary region and multiple processes
Definition: DomainDecompBase.h:51
FullMolecule modeled as LJ sphere with point polarities.
Definition: FullMolecule.h:18
Base class for all Profile outputs used by KartesianProfile.
Definition: ProfileBase.h:34
Definition: VirialProfile.h:20
void collectAppend(DomainDecompBase *domainDecomp, unsigned long uID) final
Append all necessary communication per bin to the DomainDecomposition. Append from e....
Definition: VirialProfile.h:33
void collectRetrieve(DomainDecompBase *domainDecomp, unsigned long uID) final
Get global values after AllReduceSum per bin. Write to e.g. _globalProfile.
Definition: VirialProfile.h:39
void output(string prefix, long unsigned accumulatedDatasets) final
Definition: VirialProfile.cpp:8
void reset(unsigned long uID) final
Used to reset all array contents for a specific uID in order to start the next recording timeframe.
Definition: VirialProfile.h:52
int comms() final
1D profiles like a number density profile should return 1 here. 3D profiles that have 3 entries per b...
Definition: VirialProfile.h:59
void record(Molecule &mol, unsigned long uID) final
The recording step defines what kind of data needs to be recorded for a single molecule with a corres...
Definition: VirialProfile.h:27