Gromacs  2026.0-dev-20251119-5f0a571d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations | Functions | Variables
fmmoptions.h File Reference
#include <string>
#include "gromacs/utility/classhelpers.h"
#include "gromacs/utility/enumerationhelpers.h"
+ Include dependency graph for fmmoptions.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares backend-specific FMM options and enums for use in MDP handling.

Used internally by FmmMdpOptions to delegate backend configuration.

Author
Muhammad Umair Sadiq mumai.nosp@m.rsad.nosp@m.iq1@g.nosp@m.mail.nosp@m..com

Classes

struct  gmx::IFmmOptions
 Interface for FMM option sets used in MDP handling. More...
 

Enumerations

enum  gmx::FmmDirectProvider { gmx::FmmDirectProvider::Gromacs, gmx::FmmDirectProvider::Fmm, Count }
 Enumeration of possible direct interaction providers. More...
 
enum  gmx::ActiveFmmBackend { gmx::ActiveFmmBackend::Inactive, gmx::ActiveFmmBackend::ExaFmm, gmx::ActiveFmmBackend::FMSolvr, Count }
 Indicates which FMM backend is active based on MDP configuration. More...
 
enum  gmx::ExaFmmTreeType { Uniform, Adaptive, Count }
 Tree type options for ExaFMM.
 

Functions

std::string gmx::fmmBackendName (ActiveFmmBackend backend)
 Returns the string name for a given FMM backend. More...
 
std::string gmx::fmmDirectProviderName (FmmDirectProvider directProvider)
 Returns the string name for a given FMM direct provider. More...
 
std::string gmx::exaFmmTreeTypeName (ExaFmmTreeType treeType)
 Returns the string name for a given ExaFmm Tree Type. More...
 

Variables

static const EnumerationArray
< ActiveFmmBackend, const char * > 
gmx::c_activeFmmBackendNames
 String names corresponding to ActiveFmmBackend enum values. More...
 
const std::string gmx::c_fmmActiveOptionName = "backend"
 MDP option name to enable one of the FMM backends (e.g., ExaFMM).
 
static const EnumerationArray
< ExaFmmTreeType, const char * > 
gmx::c_exaFmmTreeTypeNames
 String names corresponding to ExaFmmTreeType enum values. More...
 
const std::string gmx::c_fmmExaFmmDirectRangeOptionName = "exafmm-direct-range"
 MDP option name to configure the direct interaction range for ExaFMM (1 or 2)
 
const std::string gmx::c_fmmExaFmmDirectProviderOptionName = "exafmm-direct-provider"
 MDP option name to select the direct interaction provider for ExaFMM (GROMACS or FMM)
 
const std::string gmx::c_fmmExaFmmOrderOptionName = "exafmm-order"
 MDP option name to set the multipole expansion order for ExaFMM.
 
const std::string gmx::c_fmmExaFmmTreeTypeOptionName = "exafmm-tree-type"
 MDP option name to choose the tree type for ExaFMM (uniform or adaptive) More...
 
const std::string gmx::c_fmmExaFmmTreeDepthOptionName = "exafmm-tree-depth"
 MDP option name to set the tree depth for ExaFMM. More...
 
const std::string gmx::c_fmmExaFmmMaxParticlesPerCellOptionName = "exafmm-max-particles-per-cell"
 MDP option name to set the maximum number of particles per cell for ExaFMM. More...
 
const std::string gmx::c_fmmFMSolvrOrderOptionName = "fmsolvr-order"
 MDP option name to set the multipole expansion order for FMSolvr.
 
const std::string gmx::c_fmmFMSolvrTreeDepthOptionName = "fmsolvr-tree-depth"
 MDP option name to set the tree depth for FMSolvr (controls spatial subdivision granularity)