3#include "molecules/Component.h"
10#include "molecules/MoleculeForwardDeclaration.h"
26 NUM_PARTICLES = 1 << 0,
29 CHEMICAL_POTENTIAL = 1 << 3,
58 virtual unsigned long N() = 0;
61 virtual double V() = 0;
64 virtual double E() = 0;
67 virtual double mu() = 0;
70 virtual double p() = 0;
73 virtual double T() = 0;
82 mardyn_assert(cid <
static_cast<int>(_components.size()));
83 return &_components.at(cid);
88 std::vector<Component>* getComponents() {
return &_components; }
90 void addComponent(
Component& component) { _components.push_back(component); }
99 virtual std::list<ChemicalPotential>*
getLmu() {
return nullptr; }
110 unsigned long simstep) {};
116 unsigned long simstep) {};
127 std::vector<Component> _components;
128 std::map<std::string, int> _componentnamesToIds;
129 std::vector<MixingRuleBase*> _mixingrules;
131 Type _type = undefined;
137 Domain* _simulationDomain;
Definition: CellProcessor.h:29
Definition: ChemicalPotential.h:16
Class implementing molecules as rigid rotators consisting out of different interaction sites (LJcente...
Definition: Component.h:14
Definition: DomainBase.h:7
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
Base class for ensembles.
Definition: EnsembleBase.h:47
virtual void updateGlobalVariable(ParticleContainer *particleContainer, GlobalVariable variable)=0
Calculate global variables.
virtual void beforeThermostat(unsigned long simstep, unsigned long initStatistics)
Definition: EnsembleBase.h:119
virtual void prepare_start()
Definition: EnsembleBase.h:105
virtual double V()=0
Returns the global volume of the ensemble.
virtual void beforeEventNewTimestep(ParticleContainer *moleculeContainer, DomainDecompBase *domainDecomposition, unsigned long simstep)
Definition: EnsembleBase.h:109
virtual void initConfigXML(ParticleContainer *moleculeContainer)
Definition: EnsembleBase.h:102
virtual double p()=0
Returns the global presure of the ensemble.
virtual unsigned long N()=0
Returns the global number of Molecules of the ensemble.
void setComponentLookUpIDs()
prepare the _compIDs used by the Vectorized*CellProcessors
Definition: EnsembleBase.cpp:91
virtual void storeSample(Molecule *m, uint32_t componentid)
Definition: EnsembleBase.h:122
virtual std::list< ChemicalPotential > * getLmu()
Definition: EnsembleBase.h:99
virtual double T()=0
Returns the global Temperature of the ensemble.
int getType()
Definition: EnsembleBase.h:96
virtual void afterForces(ParticleContainer *moleculeContainer, DomainDecompBase *domainDecomposition, CellProcessor *cellProcessor, unsigned long simstep)
Definition: EnsembleBase.h:114
virtual double mu()=0
Returns the global chemical potential of the ensemble.
virtual double E()=0
Returns the global energy of the ensemble.
FullMolecule modeled as LJ sphere with point polarities.
Definition: FullMolecule.h:18
Definition: MixingRuleBase.h:8
This Interface is used to get access to particles and pairs of particles.
Definition: ParticleContainer.h:69
XML file with unit attributes abstraction.
Definition: xmlfileUnits.h:25
::xsd::cxx::tree::name< char, token > name
C++ type corresponding to the Name XML Schema built-in type.
Definition: vtk-punstructured.h:288
::xsd::cxx::tree::string< char, simple_type > string
C++ type corresponding to the string XML Schema built-in type.
Definition: vtk-punstructured.h:270