atomicrex
0.1
An advanced atomistic model building tool
|
#include <TabulatedMEAMPotential.h>
Classes | |
struct | MEAMBondData |
Public Member Functions | |
TabulatedMEAMPotential (const FPString &id, FitJob *job) | |
Constructor. | |
virtual double | cutoff () const override |
Returns the maximum cutoff of the potential. | |
virtual double | computeEnergyAndForces (AtomicStructure &structure, NeighborList &neighborList) override |
Computes the total energy and forces of the structure. | |
virtual double | computeEnergy (AtomicStructure &structure, NeighborList &neighborList) override |
Computes the total energy of the structure. | |
void | writeParamsFile (const FPString &filename) const |
Writes the potential's parameters to the given output file. | |
virtual size_t | perAtomDataSize () const override |
virtual size_t | perBondDataSize () const override |
void | parseMEAMFile (const FPString &filename) |
Parses the MEAM spline functionals from the given parameters file. | |
virtual void | parse (XML::Element potentialElement) override |
Parses any potential-specific parameters in the XML element in the job file. | |
![]() | |
Potential (const FPString &id, FitJob *job, const FPString &tag=FPString()) | |
Constructor. | |
void | enableInteraction (int speciesA, int speciesB) |
Enables the interaction between two atom types. | |
bool | interacting (int speciesA, int speciesB) const |
Returns whether the interaction between two atom types is enabled for this potential. | |
bool | isAtomTypeEnabled (int species) const |
virtual void | outputResults () |
virtual void | preparePotential () |
virtual XML::OElement | generateXMLDefinition () |
![]() | |
virtual | ~FitObject ()=default |
Virtual destructor. | |
double | relativeWeight () const |
Returns the relative fit weight assigned to this object. | |
void | setRelativeWeight (double weight) |
Assigns a relative fit weight to this object. | |
virtual void | assignAbsoluteWeights (double absoluteWeight) |
Recursively assigns absolute weights to the properties of this object and its sub-objects. | |
virtual bool | computeProperties (bool isFitting) |
Computes all enabled properties of the object. | |
const std::vector< FitProperty * > & | properties () const |
Returns a list of fitting properties of this object. | |
void | listAllProperties (std::vector< FitProperty *> &list) const |
Builds a list of properties of this object and all its sub-objects. | |
FitProperty * | propertyById (const FPString &id) const |
Returns the property with the given ID. | |
const std::vector< DegreeOfFreedom * > & | DOF () const |
Returns a list of degrees of freedom of this object. | |
void | listAllDOF (std::vector< DegreeOfFreedom *> &list) const |
Builds a list of degrees of freedom of this object and all its sub-objects. | |
DegreeOfFreedom * | DOFById (const FPString &id, const FPString &tag=FPString()) const |
Returns the degree of freedom with the given ID (and tag). | |
virtual void | dofValueChanged (DegreeOfFreedom &dof) |
This callback function is called by the DOFs of this fit object each time when their values changes. | |
const std::vector< FitObject * > & | fitObjects () const |
Returns the list of FitObjects which are part of this group. | |
void | registerSubObject (FitObject *subobject, bool deleteOnShutdown=false) |
Registers a sub-object. | |
virtual void | print (MsgLogger &stream) |
Outputs the name of the object. | |
bool | fitEnabled () const |
Returns whether this object and it's children are included in the fit. | |
void | setFitEnabled (bool enable) |
Sets whether this object and it's children are included in the fit. | |
bool | outputEnabled () const |
void | setOutputEnabled (bool enable) |
const FPString & | id () const |
Returns the identifier of this object instance. | |
void | setId (const FPString &id) |
Sets the main identification tag. | |
const FPString & | tag () const |
Returns the assigned tag string. | |
void | setTag (const FPString &tag) |
Sets the complementary identification tag. | |
FitJob * | job () const |
Returns a pointer to the job to which this object belongs. | |
FitObject * | parent () const |
Returns the parent of this object in the hierarchy. | |
Protected Member Functions | |
void | parseSplineDefinition (CubicSpline &spline, std::istream &stream) |
Parses a single spline definition from the potential file. | |
void | writeSplineDefinition (const CubicSpline &spline, std::ostream &stream) const |
Writes a single spline definition to the output potential file. | |
![]() | |
FitObject () | |
Default Constructor. | |
FitObject (const FPString &id, FitJob *job, const FPString &tag=FPString()) | |
Constructor. | |
void | registerProperty (FitProperty *prop, bool deleteOnShutdown=false) |
Registers a property of this object. | |
void | registerDOF (DegreeOfFreedom *dof) |
Registers a DOF of this object. | |
Protected Attributes | |
CubicSpline | phi |
CubicSpline | rho |
CubicSpline | f |
CubicSpline | U |
CubicSpline | g |
double | zero_atom_energy |
double | _cutoff |
![]() | |
bool | _fitEnabled = true |
Controls whether this object and it's children are included in the fit. | |
bool | _outputEnabled = true |
FitJob * | _job = nullptr |
Pointer to the job this object belongs to. | |
FPString | _id |
The identifier string of this object instance. | |
double | _relativeWeight = 1.0 |
The relative fit weight assigned to this object. | |
Spline-based Modified Embedded Atom Method (MEAM) potential.
Hennig et al. Phys Rev B (2008) 78, 054121
|
inlineoverridevirtual |
Returns the number of bytes the potential needs per atom to store its intermediate calculation results during energy/force calculation.
Reimplemented from atomicrex::Potential.
|
inlineoverridevirtual |
Returns the number of bytes the potential needs per bond to store its intermediate calculation results during energy/force calculation.
Reimplemented from atomicrex::Potential.