Gromacs  2026.0-dev-20241121-c76fa1e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions | Variables
gmx::test::anonymous_namespace{nb_free_energy.cpp} Namespace Reference

Classes

struct  OutputQuantities
 Output from nonbonded fep kernel. More...
 
struct  AtomData
 Utility structure to hold atoms data. More...
 
struct  ListInput
 Input structure for nonbonded fep kernel. More...
 

Functions

void checkOutput (TestReferenceChecker *checker, const OutputQuantities &output)
 Utility to check the output from nonbonded test. More...
 

Variables

constexpr int c_numAtoms = 4
 Number of atoms used in these tests.
 
constexpr int c_numAtomTypes = 3
 
std::vector< ListInputc_interaction
 configurations to test More...
 
std::vector< realc_fepLambdas = { 0.0, 0.5, 1.0 }
 test parameters
 
std::vector< realc_softcoreBeutlerAlphaOrGapsysLinpointScaling = { 0.0, 0.3 }
 
std::vector< bool > c_softcoreCoulomb = { true, false }
 
std::vector< SoftcoreTypec_softcoreType = { SoftcoreType::Beutler, SoftcoreType::Gapsys }
 
std::vector< PaddedVector< RVec > > c_coordinates
 Coordinates for testing. More...
 
std::vector< PaddedVector< RVec > > c_coordinatesShortDistance
 Coordinates for testing with near atomic overlap. More...
 

Function Documentation

void gmx::test::anonymous_namespace{nb_free_energy.cpp}::checkOutput ( TestReferenceChecker *  checker,
const OutputQuantities &  output 
)

Utility to check the output from nonbonded test.

Parameters
[in]checkerReference checker
[in]outputThe output from the test to check

Variable Documentation

std::vector<PaddedVector<RVec> > gmx::test::anonymous_namespace{nb_free_energy.cpp}::c_coordinates
Initial value:
= {
{ { 1.0, 1.0, 1.0 }, { 1.1, 1.15, 1.2 }, { 0.9, 0.85, 0.8 }, { 1.1, 1.15, 0.8 } }
}

Coordinates for testing.

std::vector<PaddedVector<RVec> > gmx::test::anonymous_namespace{nb_free_energy.cpp}::c_coordinatesShortDistance
Initial value:
= {
{ { 1.0, 1.0, 1.0 }, { 1.014, 1.005, 1.008 }, { 0.9, 0.85, 0.8 }, { 1.1, 1.15, 0.8 } }
}

Coordinates for testing with near atomic overlap.

The distance between atoms 0 and 1 is set up such that the LJ-PME exclusion correction, in combination with the parameters used, uses the full expression in double precision and the approximation in single precision, so these are both checked.

std::vector<ListInput> gmx::test::anonymous_namespace{nb_free_energy.cpp}::c_interaction
Initial value:
= {
{ ListInput(1e-6, 1e-8).setInteraction(CoulombInteractionType::Cut, VanDerWaalsType::Cut, InteractionModifiers::None) },
{ ListInput(1e-6, 1e-8).setInteraction(CoulombInteractionType::Cut, VanDerWaalsType::Cut, InteractionModifiers::PotSwitch) },
{ ListInput(1e-6, 1e-8).setInteraction(CoulombInteractionType::Pme, VanDerWaalsType::Pme, InteractionModifiers::None) }
}

configurations to test