Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions | Variables
gmx::anonymous_namespace{bonded.cpp} Namespace Reference

Classes

struct  OutputQuantities
 Output from bonded kernels. More...
 
struct  iListInput
 Input structure for listed forces tests. More...
 

Functions

void checkOutput (test::TestReferenceChecker *checker, const OutputQuantities &output)
 Utility to check the output from bonded tests. More...
 
std::ostream & operator<< (std::ostream &out, const iListInput &input)
 Prints the interaction and parameters to a stream.
 
void fillIatoms (int ftype, std::vector< t_iatom > *iatoms)
 Utility to fill iatoms struct. More...
 

Variables

constexpr int c_numAtoms = 4
 Number of atoms used in these tests.
 
std::vector< iListInputc_InputBonds
 Function types for testing bonds. Add new terms at the end. More...
 
const real cQuarticAngles [5] = { 1.1, 2.3, 4.6, 7.8, 9.2 }
 Constants for Quartic Angles.
 
std::vector< iListInputc_InputAngles
 Function types for testing angles. Add new terms at the end. More...
 
const real rbcA [NR_RBDIHS] = { -5.35, 13.6, 8.4, -16.7, 0.3, 12.4 }
 Constants for Ryckaert-Bellemans A.
 
const real rbcB [NR_RBDIHS] = { -6.35, 12.6, 8.1, -10.7, 0.9, 15.4 }
 Constants for Ryckaert-Bellemans B.
 
const real rbc [NR_RBDIHS] = { -7.35, 13.6, 8.4, -16.7, 1.3, 12.4 }
 Constants for Ryckaert-Bellemans without FEP.
 
std::vector< iListInputc_InputDihs
 Function types for testing dihedrals. Add new terms at the end. More...
 
std::vector< iListInputc_InputPols
 Function types for testing polarization. Add new terms at the end. More...
 
std::vector< iListInputc_InputRestraints
 Function types for testing polarization. Add new terms at the end. More...
 
std::vector< std::vector
< gmx::RVec > > 
c_coordinatesForTests
 Coordinates for testing. More...
 
std::vector< int > c_pbcForTests = { epbcNONE, epbcXY, epbcXYZ }
 PBC values for testing.
 

Function Documentation

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

Utility to check the output from bonded tests.

Parameters
[in]checkerReference checker
[in]outputThe output from the test to check
void gmx::anonymous_namespace{bonded.cpp}::fillIatoms ( int  ftype,
std::vector< t_iatom > *  iatoms 
)

Utility to fill iatoms struct.

Parameters
[in]ftypeFunction type
[out]iatomsPointer to iatoms struct

Variable Documentation

std::vector<std::vector<gmx::RVec> > gmx::anonymous_namespace{bonded.cpp}::c_coordinatesForTests
Initial value:
= {
{ { 0.0, 0.0, 0.0 }, { 0.0, 0.0, 0.2 }, { 0.005, 0.0, 0.1 }, { -0.001, 0.1, 0.0 } },
{ { 0.5, 0.0, 0.0 }, { 0.5, 0.0, 0.15 }, { 0.5, 0.07, 0.22 }, { 0.5, 0.18, 0.22 } },
{ { -0.1143, -0.0282, 0.0 }, { 0.0, 0.0434, 0.0 }, { 0.1185, -0.0138, 0.0 }, { -0.0195, 0.1498, 0.0 } }
}

Coordinates for testing.

std::vector<iListInput> gmx::anonymous_namespace{bonded.cpp}::c_InputAngles
Initial value:
= {
{ iListInput(2e-3, 1e-8).setHarmonic(F_ANGLES, 100.0, 50.0) },
{ iListInput(2e-3, 1e-8).setHarmonic(F_ANGLES, 100.15, 50.0, 95.0, 30.0) },
{ iListInput(8e-3, 1e-8).setHarmonic(F_G96ANGLES, 100.0, 50.0) },
{ iListInput(8e-3, 1e-8).setHarmonic(F_G96ANGLES, 100.0, 50.0, 95.0, 30.0) },
{ iListInput().setLinearAngle(50.0, 0.4) },
{ iListInput().setLinearAngle(50.0, 0.4, 40.0, 0.6) },
{ iListInput(2e-6, 1e-8).setCrossBondBonds(0.8, 0.7, 45.0) },
{ iListInput(3e-6, 1e-8).setCrossBondAngles(0.8, 0.7, 0.3, 45.0) },
{ iListInput(2e-2, 1e-8).setUreyBradley(950.0, 46.0, 0.3, 5.0) },
{ iListInput(2e-2, 1e-8).setUreyBradley(100.0, 45.0, 0.3, 5.0, 90.0, 47.0, 0.32, 7.0) },
{ iListInput(2e-3, 1e-8).setQuarticAngles(87.0, cQuarticAngles) }
}
const real cQuarticAngles[5]
Constants for Quartic Angles.
Definition: bonded.cpp:602

Function types for testing angles. Add new terms at the end.

std::vector<iListInput> gmx::anonymous_namespace{bonded.cpp}::c_InputBonds
Initial value:
= {
{ iListInput().setHarmonic(F_BONDS, 0.15, 500.0) },
{ iListInput(2e-6F, 1e-8).setHarmonic(F_BONDS, 0.15, 500.0, 0.17, 400.0) },
{ iListInput(1e-4F, 1e-8).setHarmonic(F_G96BONDS, 0.15, 50.0) },
{ iListInput().setHarmonic(F_G96BONDS, 0.15, 50.0, 0.17, 40.0) },
{ iListInput().setCubic(0.16, 50.0, 2.0) },
{ iListInput(2e-6F, 1e-8).setMorse(0.15, 50.0, 2.0, 0.17, 40.0, 1.6) },
{ iListInput(2e-6F, 1e-8).setMorse(0.15, 30.0, 2.7) },
{ iListInput().setFene(0.4, 5.0) }
}

Function types for testing bonds. Add new terms at the end.

std::vector<iListInput> gmx::anonymous_namespace{bonded.cpp}::c_InputDihs
Initial value:
= {
{ iListInput(5e-4, 1e-8).setPDihedrals(F_PDIHS, -100.0, 10.0, 2, -80.0, 20.0) },
{ iListInput(1e-4, 1e-8).setPDihedrals(F_PDIHS, -105.0, 15.0, 2) },
{ iListInput(2e-4, 1e-8).setHarmonic(F_IDIHS, 100.0, 50.0) },
{ iListInput(2e-4, 1e-8).setHarmonic(F_IDIHS, 100.15, 50.0, 95.0, 30.0) },
{ iListInput(4e-4, 1e-8).setRbDihedrals(rbcA, rbcB) },
{ iListInput(4e-4, 1e-8).setRbDihedrals(rbc) }
}
const real rbcA[NR_RBDIHS]
Constants for Ryckaert-Bellemans A.
Definition: bonded.cpp:620
const real rbcB[NR_RBDIHS]
Constants for Ryckaert-Bellemans B.
Definition: bonded.cpp:623
const real rbc[NR_RBDIHS]
Constants for Ryckaert-Bellemans without FEP.
Definition: bonded.cpp:626

Function types for testing dihedrals. Add new terms at the end.

std::vector<iListInput> gmx::anonymous_namespace{bonded.cpp}::c_InputPols
Initial value:
= {
{ iListInput(2e-5, 1e-8).setPolarization(0.12) },
{ iListInput(2e-3, 1e-8).setAnharmPolarization(0.0013, 0.02, 1235.6) },
{ iListInput(1.4e-3, 1e-8).setTholePolarization(0.26, 0.07, 0.09, 1.6) },
{ iListInput(2e-3, 1e-8).setWaterPolarization(0.001, 0.0012, 0.0016, 0.095, 0.15, 0.02) },
}

Function types for testing polarization. Add new terms at the end.

std::vector<iListInput> gmx::anonymous_namespace{bonded.cpp}::c_InputRestraints
Initial value:
= {
{ iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRES, -100.0, 10.0, 2, -80.0, 20.0) },
{ iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRES, -105.0, 15.0, 2) },
{ iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRESZ, -100.0, 10.0, 2, -80.0, 20.0) },
{ iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRESZ, -105.0, 15.0, 2) },
{ iListInput(2e-3, 1e-8).setHarmonic(F_RESTRANGLES, 100.0, 50.0) },
{ iListInput(2e-3, 1e-8).setHarmonic(F_RESTRANGLES, 100.0, 50.0, 110.0, 45.0) }
}

Function types for testing polarization. Add new terms at the end.