ls1-MarDyn
ls1-MarDyn molecular dynamics code
Todo List
Member AutoPasContainer::rebuild (double bBoxMin[3], double bBoxMax[3]) override
return sendHaloAndLeavingTogether, (always false) for simplicity.
Member bhfmm::LocalParticle::addMultipoleParticle (const MultipoleParticle &multipole, Vector3< double > periodicShift)=0
remove periodicShift, once the new container is up and running
Member bhfmm::PseudoParticle::getOrder () const
: is this needed?
Member bhfmm::SHLocalParticle::addMultipoleParticle (const MultipoleParticle &multipole, Vector3< double > periodicShift)
: remove, when new container for FMM is introduced
Member DecompWriter::endStep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep)
comment
Member DecompWriter::finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
comment
Member DecompWriter::init (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
comment
Member Domain::readXML (XMLfileUnits &xmlconfig)
reading temperature is performed in the Ensemble, so check and remove
Member DomainDecompMPIBase::assertDisjunctivity (ParticleContainer *moleculeContainer) const override
FIXME: This implementation does not scale.
Member GammaWriter::endStep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep)
comment
Member GammaWriter::finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
comment
Member GammaWriter::init (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
comment
Member GrandCanonicalEnsemble::beforeEventNewTimestep (ParticleContainer *moleculeContainer, DomainDecompBase *domainDecomposition, unsigned long simstep) override
What is this good for? Where come the numbers from? Needs documentation
Class InputBase
more comment
Member KDDecomposition::getBoundingBoxMax (int dimension, Domain *domain) override
comment and thing
Member KDDecomposition::getBoundingBoxMin (int dimension, Domain *domain) override
comment and thing
Member Lattice::checkValidity ()
have to implement checking of lattice vectors, as well.
Member LinkedCells::get_halo_L (int index) const override
remove this method, because a halo_L shouldn't be necessary for every ParticleContainer e.g. replace it by the cutoff-radius
Class LoadbalanceWriter
This plugin may be extended to threads
Member MmpldWriter::finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
end of frame offset may not be identical to file end!
Member MmpldWriter::init (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
MMPLD writer takes into account only LJ sites at the moment, here
Member MmspdWriter::endStep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep)
comment
Member MmspdWriter::finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
comment
Class MoleculeIdPool
this scheme can be used to improve the check for duplicate IDs after the run.
Member MultiObjectGenerator::readPhaseSpace (ParticleContainer *particleContainer, Domain *domain, DomainDecompBase *domainDecomp)
Get rid of the domain class calls at this place here...
Member OrientedSite::_e
normalized!?
Member ParticleContainer::get_halo_L (int index) const =0
remove this method, because a halo_L shouldn't be necessary for every ParticleContainer e.g. replace it by the cutoff-radius
Class ParticleContainerToBasisWrapper
Find a better way to reuse all the different I/O classes and their readPhase space methods. Maybe bring back the Dummy domain decomposition?
Class PluginBase

clean up all classes implementing this interface

get rid of the domain parameter

Mark all parameters as const: output plugins should not modify the state of the simulation.

Member PovWriter::readXML (XMLfileUnits &xmlconfig)
Implement parallel output
Member RDF::accumulateNumberOfMolecules (std::vector< Component > &components)
: remove it and replace it by component.getNumMolecules()
Member RDF::setOutputPrefix (std::string prefix)
put this in the constructor (when the transition to the xml file is done), or create a seperate output component.
Member RDF::setOutputTimestep (unsigned int timestep)
put this in the constructor (when the transition to the xml file is done), or create a seperate output component.
Member Simulation::readXML (XMLfileUnits &xmlconfig)

Here we store data in the _domain member as long as we do not use the ensemble everywhere

introduce maxCutoffRadius here for datastructures, ... maybe use map/list to store cutoffs for different potentials?

read header should be either part of readPhaseSpace or readXML.

Review if we need to know the max cutoff radius usable with any datastructure.

Dummy Decomposition now included in DecompBase - still keep this name?

This may be better go into a physical section for constants?

Member Simulation::simulate ()
the number of particles per component stored in components has to be updated here in case we insert/remove particles
Member SysMonOutput::endStep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep)
comment
Member SysMonOutput::finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
comment
Member SysMonOutput::init (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
comment
Page TODOs and Open Issues

we may want a ms2-pm file to xml converter

At the moment, particles are converted to ParticleData Objects, then send as user defined mpi-datatype, which may introduce some overhead due to another conversion

have a look at calcFM from Molecule::upd_postF() into ParticleContainer::traversePairs(). Then it corresponds to clearFM(), and the initializing call in Simulation.cpp as well in the ForceCalculationTest is not neccessary.

Make molecule id an "unsigned long long int", only this is guaranteed to be 64 byte (e.g. on BlueGene, it is not)

have a look at tickRDF() usage, possibly move tickRDF() calls into handler->initialize()?

we may want a faster, less memory consuming implemenation of DomainDecomposition->assertDisjunctivity; Also it may be moved into the abstract super class.

Member VectorizationTuner::readXML (XMLfileUnits &xmlconfig) override
This is a very improper way to do this - user does not know what the int values stand for
Member VTKMoleculeWriter::endStep (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain, unsigned long simstep)
document me!
Member VTKMoleculeWriter::finish (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
document me!
Member VTKMoleculeWriter::init (ParticleContainer *particleContainer, DomainDecompBase *domainDecomp, Domain *domain)
document me!