6#include "utils/Random.h"
7#include "molecules/Molecule.h"
20 void setMu(
int cid,
double chempot) { _mu = chempot; _componentid = cid; }
21 unsigned getInterval() {
return _interval; }
22 void setInterval(
unsigned delta) { _interval = delta; }
23 void setInstances(
unsigned n) { _instances = n; }
24 void setSystem(
double x,
double y,
double z,
double m);
25 void setGlobalN(
unsigned long N) { _globalN = N; }
26 void setNextID(
unsigned long id) { _nextid =
id; }
27 void setSubdomain(
int rank,
double x0,
double x1,
double y0,
double y1,
double z0,
double z1);
28 void setIncrement(
unsigned idi) { _id_increment = idi; }
34 unsigned long getInsertion(
double* ins);
35 bool decideDeletion(
double deltaUTilde);
36 bool decideInsertion(
double deltaUTilde);
41 if(hasSample())
return;
42 mardyn_assert(old.componentid() == _componentid);
48 bool hasSample() {
return _reservoir != NULL; }
50 void setPlanckConstant(
double h_in) { _h = h_in; }
51 void submitTemperature(
double T_in);
52 void setControlVolume(
53 double x0,
double y0,
double z0,
double x1,
double y1,
double z1
56 unsigned long getGlobalN() {
return _globalN; }
57 double getGlobalRho() {
return (
double)(_globalN) / _globalV; }
59 void outputIX() { std::cout <<
" r" << _ownrank <<
"[IX" << _rnd.getIX() <<
"] "; }
63 double getMu() {
return _mu; }
64 unsigned int getComponentID() {
return _componentid; }
65 int rank() {
return _ownrank; }
67 void disableWidom() { _widom =
false; }
68 void enableWidom() { _widom =
true; }
69 bool isWidom() {
return _widom; }
71 double getLambda() {
return _lambda; }
72 float getDensityCoefficient() {
return _decisive_density; }
75 int getLocalGrandcanonicalBalance() {
76 return _localInsertionsMinusDeletions;
86 unsigned countParticles(
ParticleContainer * moleculeContainer,
unsigned int cid)
const;
88 unsigned countParticles(
ParticleContainer * moleculeContainer,
unsigned int cid,
double * cbottom,
double * ctop)
const;
90 bool moleculeStrictlyNotInBox(
const Molecule& m,
const double l[3],
const double u[3])
const;
99 unsigned int _componentid;
107 unsigned long _nextid;
108 unsigned _id_increment;
109 std::list<unsigned> _remainingDeletions;
110 std::list<double> _remainingInsertions[3];
111 std::list<unsigned long> _remainingInsertionIDs;
112 std::list<float> _remainingDecisions;
114 unsigned long _globalN;
116 double _molecularMass;
117 double _globalReducedVolume;
119 bool _restrictedControlVolume;
120 double _control_bottom[3];
121 double _control_top[3];
123 float _decisive_density;
134 int _localInsertionsMinusDeletions;
Definition: CellProcessor.h:29
Definition: ChemicalPotential.h:16
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
FullMolecule modeled as LJ sphere with point polarities.
Definition: FullMolecule.h:18
void check(unsigned long id) override
Definition: FullMolecule.cpp:636
unsigned long getID() const override
Definition: FullMolecule.h:41
This Interface is used to get access to particles and pairs of particles.
Definition: ParticleContainer.h:69
Definition: ParticleIterator.h:50
::xsd::cxx::tree::id< char, ncname > id
C++ type corresponding to the ID XML Schema built-in type.
Definition: vtk-punstructured.h:322