Gromacs
2024.4
|
#include <any>
#include <map>
#include <optional>
#include <string>
#include <typeinfo>
#include "gromacs/mdrun/isimulator.h"
#include "gromacs/mdtypes/observablesreducer.h"
#include "gromacs/mdtypes/state.h"
#include "gromacs/utility/exceptions.h"
#include "checkpointhelper.h"
#include "domdechelper.h"
#include "freeenergyperturbationdata.h"
#include "modularsimulatorinterfaces.h"
#include "pmeloadbalancehelper.h"
#include "signallers.h"
#include "topologyholder.h"
#include "trajectoryelement.h"
Provides the modular simulator algorithm.
Defines the ModularSimulatorAlgorithm class and its builder.
This header is only used within the modular simulator module. Moving forward, the ModularSimulatorAlgorithmBuilder could be exposed to allow users to create custom algorithm - currently algorithms are only created an used by the ModularSimulator, meaning that this file is not exposed outside of the modular simulator module.
Classes | |
class | gmx::Propagator< integrationStage > |
Propagator element. More... | |
class | gmx::ModularSimulatorAlgorithm |
The modular simulator. More... | |
class | gmx::GlobalCommunicationHelper |
Helper container with data connected to global communication. More... | |
class | gmx::ModularSimulatorAlgorithmBuilderHelper |
Helper for element addition. More... | |
class | gmx::ModularSimulatorAlgorithmBuilder |
Builder for ModularSimulatorAlgorithm objects. More... | |
Functions | |
template<typename Element , typename... Args> | |
ISimulatorElement * | gmx::getElementPointer (LegacySimulatorData *legacySimulatorData, ModularSimulatorAlgorithmBuilderHelper *builderHelper, StatePropagatorData *statePropagatorData, EnergyData *energyData, FreeEnergyPerturbationData *freeEnergyPerturbationData, GlobalCommunicationHelper *globalCommunicationHelper, ObservablesReducer *observablesReducer, Args &&...args) |
Factory function for elements that can be added via ModularSimulatorAlgorithmBuilder: Get a pointer to an object of type Element to add to the call list. More... | |
template<typename Base , typename Element > | |
static std::enable_if_t < std::is_base_of< Base, Element >::value, Base * > | gmx::castOrNull (Element *element) |
Returns a pointer casted to type Base if the Element is derived from Base. | |
template<typename Base , typename Element > | |
static std::enable_if_t <!std::is_base_of< Base, Element >::value, Base * > | gmx::castOrNull (Element gmx_unused *element) |
Returns a nullptr of type Base if Element is not derived from Base. | |