Gromacs
2026.0-dev-20250711-6857db4
|
#include <gromacs/fmm/fmm_mdpoptions.h>
MDP option provider that manages all FMM backends.
Unlike IFmmOptions, which encapsulates backend-specific logic, this class centralizes MDP declaration, transformation, and output, and delegates to the currently active backend (e.g., ExaFMM, FMSolvr). Designed to support multiple FMM implementations in a unified way.
Public Member Functions | |
FmmMdpOptions () | |
Constructs the FMM MDP options provider. | |
void | initMdpOptions (IOptionsContainerWithSections *options) override |
Declares FMM options in the MDP system. | |
void | initMdpTransform (IKeyValueTreeTransformRules *rules) override |
Registers MDP transformation rules for FMM options. | |
void | buildMdpOutput (KeyValueTreeObjectBuilder *builder) const override |
Adds FMM options to the MDP output. | |
ActiveFmmBackend | activeFmmBackend () const |
Returns the currently selected FMM backend based on MDP options. More... | |
const ExaFmmOptions & | exaFmmOptions () const |
Returns the ExaFMM options if ExaFMM is the active backend. More... | |
const FMSolvrOptions & | fmSolvrOptions () const |
Returns the FMSolvr options if FMSolvr is the active backend. More... | |
const IFmmOptions * | activeFmmOptions () const |
Returns FMM options for the active backend. More... | |
Additional Inherited Members | |
![]() | |
IMdpOptionProvider ()=default | |
Default constructors and assignment operators. More... | |
IMdpOptionProvider (const IMdpOptionProvider &)=default | |
IMdpOptionProvider & | operator= (const IMdpOptionProvider &)=default |
IMdpOptionProvider (IMdpOptionProvider &&) noexcept=default | |
IMdpOptionProvider & | operator= (IMdpOptionProvider &&) noexcept=default |
ActiveFmmBackend gmx::FmmMdpOptions::activeFmmBackend | ( | ) | const |
Returns the currently selected FMM backend based on MDP options.
Returns ActiveFmmBackend::Inactive if no backend is enabled.
const IFmmOptions* gmx::FmmMdpOptions::activeFmmOptions | ( | ) | const |
Returns FMM options for the active backend.
These represent the backend-specific part of the MDP options, exposed via the IFmmOptions interface.
const ExaFmmOptions& gmx::FmmMdpOptions::exaFmmOptions | ( | ) | const |
Returns the ExaFMM options if ExaFMM is the active backend.
gmx::InternalError | if the active backend is not ExaFMM. |
const FMSolvrOptions& gmx::FmmMdpOptions::fmSolvrOptions | ( | ) | const |
Returns the FMSolvr options if FMSolvr is the active backend.
gmx::InternalError | if the active backend is not FMSolvr. |