8#ifndef SRC_PARTICLECONTAINER_ADAPTER_VCP1CLJRMM_H_
9#define SRC_PARTICLECONTAINER_ADAPTER_VCP1CLJRMM_H_
11#include "CellProcessor.h"
14#include "particleContainer/adapter/vectorization/SIMD_VectorizedCellProcessorHelpers.h"
15#include "WrapOpenMP.h"
17#include "molecules/MoleculeForwardDeclaration.h"
60 void setDtInvm(
double dtInvm) {
61 _dtInvm =
static_cast<vcp_real_calc
>(dtInvm);
64 double getDtInvm()
const {
75 vcp_real_calc _eps24, _sig2, _shift6, _dtInvm;
88 struct VCP1CLJRMMThreadData {
90 VCP1CLJRMMThreadData(): _ljc_dist_lookup(nullptr){
91 _upot6ljV.resize(_numVectorElements);
92 _virialV.resize(_numVectorElements);
94 for (
size_t j = 0; j < _numVectorElements; ++j) {
110 vcp_lookupOrMask_single* _ljc_dist_lookup;
115 std::vector<VCP1CLJRMMThreadData *> _threadData;
117 static const size_t _numVectorElements = VCP_VEC_SIZE;
120 template<
bool calculateMacroscopic>
152 template<
class ForcePolicy,
bool CalculateMacroscopic,
class MaskGatherChooser>
Defines the length of the vectors and the corresponding functions.
An aligned array.
Definition: AlignedArray.h:75
Structure of Arrays for single-center lennard-Jones molecules for the RMM run.
Definition: CellDataSoARMM.h:16
Definition: CellProcessor.h:29
Definition: Comp2Param.h:15
Class implementing molecules as rigid rotators consisting out of different interaction sites (LJcente...
Definition: Component.h:14
This class is used to read in the phasespace and to handle macroscopic values.
Definition: Domain.h:47
FullMolecule modeled as LJ sphere with point polarities.
Definition: FullMolecule.h:18
FullParticleCell data structure. Renamed from ParticleCell.
Definition: FullParticleCell.h:49
Definition: VCP1CLJRMM.h:26
void preprocessCell(ParticleCell &)
Load the CellDataSoA for cell.
Definition: VCP1CLJRMM.h:39
void endTraversal()
Store macroscopic values in the Domain.
Definition: VCP1CLJRMM.cpp:166
void initTraversal()
Reset macroscopic values to 0.0.
Definition: VCP1CLJRMM.cpp:74
void processCellPair(ParticleCell &cell1, ParticleCell &cell2, bool sumAll=false)
Definition: VCP1CLJRMM.cpp:88
void postprocessCell(ParticleCell &)
Free the LennardJonesSoA for cell.
Definition: VCP1CLJRMM.h:54
void processCell(ParticleCell &cell)
Calculate forces between pairs of Molecules in cell.
Definition: VCP1CLJRMM.cpp:154