ls1-MarDyn
ls1-MarDyn molecular dynamics code
src
longRange
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
10
class
Simulation
;
11
class
Domain
;
12
class
LongRangeCorrection
;
13
14
//class Homogeneous:public LongRangeCorrection{
15
class
Homogeneous
:
public
LongRangeCorrection
{
16
17
public
:
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
27
private
:
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__ */
Comp2Param
Definition:
Comp2Param.h:15
DomainDecompBase
handle boundary region and multiple processes
Definition:
DomainDecompBase.h:51
Domain
This class is used to read in the phasespace and to handle macroscopic values.
Definition:
Domain.h:47
Homogeneous
Definition:
Homogeneous.h:15
LongRangeCorrection
Definition:
LongRangeCorrection.h:12
Simulation
Controls the simulation process.
Definition:
Simulation.h:70
XMLfileUnits
XML file with unit attributes abstraction.
Definition:
xmlfileUnits.h:25
Generated on Thu Oct 21 2021 02:54:36 for ls1-MarDyn by
1.9.2