CASM  1.1.0
A Clusters Approach to Statistical Mechanics
Strain.hh
Go to the documentation of this file.
1 #ifndef XTAL_STRAIN_HH
2 #define XTAL_STRAIN_HH
3 
4 #include "casm/external/Eigen/Dense"
5 #include "casm/external/Eigen/src/Core/Matrix.h"
6 
7 namespace CASM {
8 namespace strain {
24 enum class METRIC {
26  BIOT,
27  HENCKY,
29  STRETCH,
30  DISP_GRAD
31 };
32 
37 template <METRIC>
39  const Eigen::Ref<const Eigen::Matrix3d> &deformation_tensor);
40 
45 template <METRIC>
47  const Eigen::Ref<const Eigen::Matrix3d> &metric_tensor);
48 
52  const Eigen::Ref<const Eigen::Matrix3d> &deformation_tensor);
53 
56  const Eigen::Ref<const Eigen::Matrix3d> &deformation_tensor);
57 } // namespace strain
58 } // namespace CASM
59 
60 #endif
Eigen::Matrix3d metric_to_deformation_tensor(const Eigen::Ref< const Eigen::Matrix3d > &metric_tensor)
Eigen::Matrix3d right_stretch_tensor(const Eigen::Ref< const Eigen::Matrix3d > &deformation_tensor)
Calculates and returns the value of U where F = R*U.
Definition: Strain.cc:104
Eigen::Matrix3d metric_tensor(const Eigen::Ref< const Eigen::Matrix3d > &deformation_tensor)
Definition: Strain.cc:98
Eigen::Matrix3d deformation_tensor_to_metric(const Eigen::Ref< const Eigen::Matrix3d > &deformation_tensor)
Main CASM namespace.
Definition: APICommand.hh:8
Eigen::Matrix3d Matrix3d