Gromacs  2026.0-dev-20250711-6857db4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::FmmMdpOptions Class Reference

#include <gromacs/fmm/fmm_mdpoptions.h>

+ Inheritance diagram for gmx::FmmMdpOptions:
+ Collaboration diagram for gmx::FmmMdpOptions:

Description

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 IFmmOptionsactiveFmmOptions () const
 Returns FMM options for the active backend. More...
 

Additional Inherited Members

- Protected Member Functions inherited from gmx::IMdpOptionProvider
 IMdpOptionProvider ()=default
 Default constructors and assignment operators. More...
 
 IMdpOptionProvider (const IMdpOptionProvider &)=default
 
IMdpOptionProvideroperator= (const IMdpOptionProvider &)=default
 
 IMdpOptionProvider (IMdpOptionProvider &&) noexcept=default
 
IMdpOptionProvideroperator= (IMdpOptionProvider &&) noexcept=default
 

Member Function Documentation

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.

Returns
Pointer to active backend's IFmmOptions, or nullptr if inactive.
const ExaFmmOptions& gmx::FmmMdpOptions::exaFmmOptions ( ) const

Returns the ExaFMM options if ExaFMM is the active backend.

Returns
Reference to the ExaFmmOptions instance.
Exceptions
gmx::InternalErrorif the active backend is not ExaFMM.
const FMSolvrOptions& gmx::FmmMdpOptions::fmSolvrOptions ( ) const

Returns the FMSolvr options if FMSolvr is the active backend.

Returns
Reference to the FMSolvrOptions instance.
Exceptions
gmx::InternalErrorif the active backend is not FMSolvr.

The documentation for this class was generated from the following files: