Gromacs  2026.0-dev-20251105-11eb1db
 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>

Inherits gmx::IMdpOptionProvider.

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...
 
FmmDirectProvider directProvider () const
 Returns who handles direct interactions for the active FMM backend. More...
 

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.
FmmDirectProvider gmx::FmmMdpOptions::directProvider ( ) const

Returns who handles direct interactions for the active FMM backend.

Indicates whether GROMACS or the FMM backend computes direct interactions.

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: