ls1-MarDyn
ls1-MarDyn molecular dynamics code
Homogeneous.h
1
2#ifndef HOMOGENEOUS_H__
3#define HOMOGENEOUS_H__
4
5#include "LongRangeCorrection.h"
6#include "molecules/Component.h"
7#include "molecules/Comp2Param.h"
8#include <cmath>
9
10class Simulation;
11class Domain;
13
14//class Homogeneous:public LongRangeCorrection{
16
17public:
18// Homogeneous();
19 Homogeneous(double cutoffRadius, double cutoffRadiusLJ, Domain* domain, Simulation* simulation);
20 virtual ~~Homogeneous() {}
21
22 virtual void init();
23 virtual void readXML(XMLfileUnits& xmlconfig) {}
24 virtual void calculateLongRange();
25 virtual void writeProfiles(DomainDecompBase* domainDecomp, Domain* domain, unsigned long simstep) {}
26
27private:
28 /* TODO: Comments on all the functions */
29 // Long range correction for the Lennard-Jones interactions based on Lustig (1988)
30 double _TICCu(int n,double rc,double sigma2);
31 double _TICSu(int n,double rc,double sigma2,double tau);
32 double _TISSu(int n,double rc,double sigma2,double tau1,double tau2);
33 double _TICCv(int n,double rc,double sigma2);
34 double _TICSv(int n,double rc,double sigma2,double tau);
35 double _TISSv(int n,double rc,double sigma2,double tau1,double tau2);
36
38 std::vector<Component>* _components{nullptr};
40 Comp2Param _comp2params;
41
42 Domain* _domain{nullptr};
43
44 double _cutoff{std::numeric_limits<double>::quiet_NaN()};
45 double _cutoffLJ{std::numeric_limits<double>::quiet_NaN()};
46
47 double _upotCorrLJ_no_num_molecules{std::numeric_limits<double>::quiet_NaN()};
48 double _virialCorrLJ_no_num_molecules{std::numeric_limits<double>::quiet_NaN()};
49 double _mySelbstTerm_no_num_molecules{std::numeric_limits<double>::quiet_NaN()};
50};
51
52#endif /* __HOMOGENEOUS_H__ */
Definition: Comp2Param.h:15
handle boundary region and multiple processes
Definition: DomainDecompBase.h:51
This class is used to read in the phasespace and to handle macroscopic values.
Definition: Domain.h:47
Definition: Homogeneous.h:15
Definition: LongRangeCorrection.h:12
Controls the simulation process.
Definition: Simulation.h:70
XML file with unit attributes abstraction.
Definition: xmlfileUnits.h:25