C++ Interface
C++ classes are organized as follows.
The random number generate is set by Random
.
Configuration
contains the identity and positions of particles, sites and the spatial Domain
.
Model
computes the potential energy between two sites.
To find all available Models
, look at the subclasses in the documentation for one
or two
body Models.
VisitModel
loops a Model
over all selected particles and sites, or contains a many-body potential such as LongRangeCorrections
or Ewald
.
Potential
contains both Model
and VisitModel
.
Trial
is a MonteCarlo
trial move.
Criteria
determine if the Trial
is accepted or rejected.
FlatHistogram
methods Bias
along a Macrostate
.
Analyze
and Modify
occur every fixed number of Trials
, but an Action
happens only once.
These base classes have all their subclasses listed in their respective documentation.
The C++ interface is organized by plugins. A FEASST plugin is a collection of related classes. Unnecessary plugins can be removed from the FEASST_PLUGINS variable in /path/to/feasst/CMakeLists.txt. Similarly, plugins can also be added this way. In both cases, FEASST must be reinstalled.
The recommended approach for finding more information on a class is demonstrated as follows. If you would like more information on RandomMT19937 but are not sure where to find it, you could search headers files
grep -r --include=*.h RandomMT19937
And find that the class is part of the Math plugin.
See the example plugin as a template for creating your own class or plugin.
The plugins and classes listed below represent all the publicly available capabilities of FEASST.
- Threads
- Utilities
- Math
- math/include/utils_math
- math/include/constants
- math/include/quadratic_equation
- Minimize
- GoldenSearch
- Solver
- SolverBisection
- SolverBrentDekker
- SolverNewtonRaphson
- Formula
- FormulaPolynomial
- FormulaExponential
- Accumulator
- Position
- Matrix
- Euler
- Random
- RandomMT19937
- RandomModulo
- Table
- Histogram
- Tutorial
- FEASST plugin dependencies
- Configuration
- System
- FEASST plugin dependencies
- API
- SynchronizeData
- Model
- ThermoParams
- EnergyMap
- VisitModelInner
- BondTwoBody
- RigidBond
- BondSquareWell
- BondThreeBody
- AngleSquareWell
- RigidAngle
- BondFourBody
- RigidDihedral
- BondVisitor
- VisitModel
- ModelOneBody
- ModelEmpty
- DontVisitModel
- LongRangeCorrections
- ModelTwoBody
- IdealGas
- ModelTwoBodyFactory
- HardSphere
- ModelThreeBody
- ModelTwoBodyTable
- Cells
- VisitModelCell
- Potential
- PotentialFactory
- System
- VisitModelIntra
- VisitModelIntraMap
- VisitModelBond
- LennardJones
- CutoffOuter
- Monte Carlo
- Tutorial
- FEASST plugin dependencies
- API
- Action
- RefPotential
- WriteModelParams
- Run
- RemoveTrial
- RemoveAnalyze
- Rosenbluth
- Acceptance
- Stepper
- Criteria
- Metropolis
- AlwaysReject
- Constraint
- ConstrainNumParticles
- TrialSelect
- TrialSelectParticle
- RemoveModify
- Tunable
- Perturb
- PerturbMove
- PerturbDistance
- PerturbDistanceAngle
- PerturbDihedral
- PerturbRotate
- PerturbTranslate
- PerturbAnywhere
- PerturbAdd
- PerturbRemove
- TrialStage
- PerturbVolume
- TrialSelectAll
- ConvertToRefPotential
- TrialSelectBond
- TrialSelectAngle
- TrialSelectDihedral
- WriteCheckpoint
- TrialCompute
- TrialComputeMove
- TrialComputeTranslate
- Trial
- TrialVolume
- TrialAdd
- TrialMove
- TrialRotate
- TrialFactory
- SeekNumParticles
- TrialTransfer
- Analyze
- AnalyzeFactory
- Modify
- ModifyFactory
- MonteCarlo
- TrialComputeAdd
- TrialComputeVolume
- TrialComputeRemove
- TrialRemove
- TrialTranslate
- Models
- Steppers
- WriteStepper
- Volume
- CheckPhysicality
- ProfileTrials
- DensityProfile
- Movie
- CPUTime
- MeanSquaredDisplacement
- HeatCapacity
- NumParticles
- Check
- AnalyzeData
- Chirality2D
- WallClockLimit
- Energy
- ExtensiveMoments
- CriteriaWriter
- Log
- Density
- Scattering
- LogAndMovie
- CheckProperties
- CriteriaUpdater
- SeekModify
- IncrementPhase
- WrapParticles
- ReadConfigFromFile
- PairDistributionInner
- Tune
- CheckEnergy
- Tutorial
- FEASST plugin dependencies
- Flat histogram
- Tutorial
- Ideal gas equation of state using grand canonical ensemble transition-matrix Monte Carlo
- Grand canonical ensemble transition-matrix Monte Carlo
- Analysis of a one-phase (supercritical) simulation
- Analysis of a two-phase (phase separated) simulation
- Grand Canonical Flat Histogram Simulation of Lennard-Jones
- Grand Canonical Flat Histogram Simulation of SPC/E
- Grand Canonical Flat Histogram Simulation of RPM
- Grand Canonical Flat Histogram Simulation of Hard Spheres.
- Grand Canonical Flat Histogram Simulation of Patchy Trimers
- Grand Canonical Flat Histogram Simulation of Kern-Frenkel Patches
- Grand Canonical Flat Histogram Simulation at low temperature
- Grand Canonical Flat Histogram Simulation of EMP2 CO2
- Grand Canonical Flat Histogram Simulation of TraPPE alkanes
- Efficiency of 1 or 2 bin Grand Canonical Flat Histogram Simulations
- FEASST plugin dependencies
- API
- Tutorial
- Patch
- Mayer
- MayerSampling
- Tutorial
- Second virial coefficient calculation of a Trimer using Mayer-Sampling
- Second virial coefficient calculation of TraPPE ethane using Mayer-Sampling
- Second virial coefficient calculation of a Kern-Frenkel patch using Mayer-Sampling
- Virial coefficients of all-atom mAb domains.
- Virial coefficients of 7-bead coarse-grained mAb model.
- FEASST plugin dependencies
- XTC
- Chain
- SelectSiteOfType
- SelectPerturbed
- SelectSegment
- SelectEndSegment
- SelectReptate
- SelectCrankshaftSmall
- PerturbToAnchor
- PerturbConnector
- PerturbDistanceAngleConnector
- PerturbBranch
- PerturbReptate
- PerturbParticlePivot
- PerturbCrankshaftSmall
- PerturbPivot
- PerturbCrankshaft
- PerturbLibrary
- PerturbSiteType
- PerturbPositionSwap
- SelectTwoSites
- SelectBranch
- TrialSwapSites
- TrialCrankshaftSmall
- TrialReptate
- TrialCrankshaft
- TrialParticlePivot
- TrialGrowLinear
- AnalyzeBonds
- RadiusOfGyration
- EndToEndDistance
- GhostTrialGrow
- TrialGrow
- TrialPivot
- SelectParticlePivot
- Tutorial
- FEASST plugin dependencies
- Shape
- Confinement
- Charge
- Optimized Lennard-Jones
- Cluster
- Monte Carlo with rigid cluster moves
- FEASST plugin dependencies
- API
- EnergyMapAll
- EnergyMapAllCriteria
- EnergyMapNeighbor
- EnergyMapNeighborCriteria
- SelectCluster
- SelectParticleAVBDivalent
- SelectParticleAVB
- PerturbPointReflect
- PerturbRotateCOM
- PerturbMoveAVB
- PerturbAddAVB
- ComputeAVB4
- ComputeAVB2
- TrialAVB4
- TrialTranslateCluster
- TrialTransferAVB
- TrialRemoveAVBDivalent
- TrialRemoveAVB
- TrialAddAVBDivalent
- TrialRotateCluster
- TrialTransferAVBDivalent
- TrialRigidCluster
- TrialAVB2
- TrialAddAVB
- AnalyzeCluster
- CalculateCluster
- ComputeRemoveAVBDivalent
- ComputeGCA
- ComputeAddAVBDivalent
- ComputeRemoveAVB
- ComputeAddAVB
- ComputeMoveCluster
- Expanded Grand Canonical Ensemble
- Morph
- Beta expanded
- Prefetch
- Aniso
- Modify FEASST
- Gibbs
- Server
- Model Expanded
- FFTW
- NetCDF