atomicrex  0.1
An advanced atomistic model building tool
Public Member Functions | List of all members
atomicrex::CoupledFitProperty Class Reference

#include <FitProperty.h>

Inheritance diagram for atomicrex::CoupledFitProperty:
atomicrex::ScalarFitProperty atomicrex::FitProperty atomicrex::FitObject

Public Member Functions

 CoupledFitProperty (ScalarDOF &dof, const FPString &units, FitJob *job)
 Constructor.
 
ScalarDOFdof () const
 Returns the degree of freedom to which this property is coupled.
 
virtual void compute () override
 Lets the property object compute the current value of the property.
 
virtual void print (MsgLogger &stream) override
 Outputs the current value of the property.
 
virtual void parse (XML::Element propertyElement) override
 Parse the contents of the <property> element in the job file.
 
- Public Member Functions inherited from atomicrex::ScalarFitProperty
 ScalarFitProperty ()
 Default constructor.
 
 ScalarFitProperty (const FPString &id, const FPString &units, FitJob *job)
 Initialization constructor.
 
void initialize (const FPString &id, const FPString &units, FitJob *job)
 Initializes the property object. This method must be called if the default constructor has been used.
 
virtual double residual (ResidualNorm norm) const override
 Returns the residual of this property used for fitting.
 
 operator double () const
 Returns the current computed value of the property.
 
double computedValue () const
 Getter for _computedValue since double() operator was hard to interface.
 
ScalarFitPropertyoperator= (double value)
 Assigns a new value to the property.
 
double targetValue ()
 Returns target value (scalar)
 
void setTargetValue (double targetValue)
 Sets target value.
 
- Public Member Functions inherited from atomicrex::FitProperty
 FitProperty ()
 Default constructor.
 
 FitProperty (const FPString &id, const FPString &units, FitJob *job)
 Initialization constructor.
 
void initialize (const FPString &id, const FPString &units, FitJob *job)
 Initializes the property object. This method must be called if the default constructor was used to create this property.
 
bool shouldCompute (bool isFitting) const
 Returns whether this property should be computed because it is included in the fit and/or in the output.
 
void assignAbsoluteWeights (double absoluteWeight) override
 Recursively assigns absolute weights to the properties.
 
double absoluteWeight () const
 Returns the absolute fit weight assigned to this object.
 
double tolerance () const
 Returns the tolerance assigned to this fit property.
 
void setTolerance (double tolerance)
 Sets the tolerance assigned to this fit property.
 
ResidualNorm residualNorm () const
 Returns how residual contributions are calculated by this property.
 
const FPStringunits () const
 Returns the units of this property.
 
- Public Member Functions inherited from atomicrex::FitObject
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 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.
 
FitPropertypropertyById (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.
 
DegreeOfFreedomDOFById (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.
 
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 FPStringid () const
 Returns the identifier of this object instance.
 
void setId (const FPString &id)
 Sets the main identification tag.
 
const FPStringtag () const
 Returns the assigned tag string.
 
void setTag (const FPString &tag)
 Sets the complementary identification tag.
 
FitJobjob () const
 Returns a pointer to the job to which this object belongs.
 
FitObjectparent () const
 Returns the parent of this object in the hierarchy.
 

Additional Inherited Members

- Public Types inherited from atomicrex::FitProperty
enum  ResidualNorm { UserDefined, Squared, SquaredRelative, AbsoluteDiff }
 Specifies how residual contributions are calculated. More...
 
- Protected Member Functions inherited from atomicrex::FitObject
 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 inherited from atomicrex::ScalarFitProperty
double _computedValue
 The computed value of the property.
 
double _targetValue
 The target value for the property.
 
- Protected Attributes inherited from atomicrex::FitProperty
double _absoluteWeight = 1.0
 The weight factor which is applied to the residual.
 
ResidualNorm _residualNorm = Squared
 Specifies how residual contributions are calculated.
 
FPString _units
 The units of this property.
 
- Protected Attributes inherited from atomicrex::FitObject
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.
 

Detailed Description

This type of scalar property is directly coupled to a degree of freedom of a structure.

This only makes real sense if the corresponding DOF is being relaxed. That is, if the actual value of the DOF differs from what is being set by the user (or the minimizer routine).

If the coupled property is set to be computed, then the corresponding degree of freedom is being relaxed, and the value of the degree of freedom after relaxation becomes the value of the property.


The documentation for this class was generated from the following files: