1 #ifndef CONFIGIOSTRAIN_HH
2 #define CONFIGIOSTRAIN_HH
37 "The strain of the configuration due to relaxation, measured "
38 "relative to ideal lattice vectors."
39 "Ordered as [E(0,0), E(1,1), E(2,2), E(1,2), E(0,2), E(0,1)]. "
40 "Accepts strain convention as first argument ('GL' "
41 "[Green-Lagrange, Default], 'EA' [Euler-Almansi],"
42 "'B' [Biot], 'H' [Hencky], or 'U' [stretch tensor]). Accepts index "
43 "as second argument on interval [0,5]. Accepts calctype as third "
49 std::unique_ptr<RelaxationStrain>
clone()
const {
50 return std::unique_ptr<RelaxationStrain>(this->
_clone());
75 bool parse_args(
const std::string &args)
override;
110 "The imposed strain of the configuration due to relaxation, "
111 "measured relative to ideal lattice vectors. Ordered as"
112 "[E(0,0), E(1,1), E(2,2), E(1,2), E(0,2), E(0,1)]. Accepts strain "
113 "convention as first argument ('GL' [Green-Lagrange, Default], "
114 "'EA' [Euler-Almansi],"
115 "'B' [Biot], 'H' [Hencky], or 'U' [stretch tensor]). Accepts index "
116 "as second argument on interval [0,5]."),
122 std::unique_ptr<DoFStrain>
clone()
const {
123 return std::unique_ptr<DoFStrain>(this->
_clone());
146 bool parse_args(
const std::string &args)
override;
The strain DoF value of the configuration.
std::string m_metric_name
StrainConverter m_straincalc
std::unique_ptr< DoFStrain > clone() const
std::vector< std::string > col_header(const Configuration &_config) const override
bool init(const Configuration &_tmplt) const override
notstd::cloneable_ptr< StrainConverter > m_prim_straincalc
Eigen::VectorXd evaluate(const Configuration &_config) const override
bool parse_args(const std::string &args) override
Default implementation calls _parse_index_expression.
std::string short_header(const Configuration &_config) const override
DoFStrain(std::string _metric="GL")
DoFStrain * _clone() const override
Clone.
std::shared_ptr< Structure const > m_shared_prim
The strain of the configuration due to relaxation, measured relative to ideal lattice vectors.
bool parse_args(const std::string &args) override
Default implementation calls _parse_index_expression.
std::string m_metric_name
std::unique_ptr< RelaxationStrain > clone() const
std::string short_header(const Configuration &_config) const override
RelaxationStrain * _clone() const override
Clone.
StrainConverter m_straincalc
bool validate(const Configuration &_config) const override
Eigen::VectorXd evaluate(const Configuration &_config) const override
std::vector< std::string > col_header(const Configuration &_config) const override
bool init(const Configuration &_tmplt) const override
A 'cloneable_ptr' can be used in place of 'unique_ptr'.