CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::StrainConverter Class Reference

#include <StrainConverter.hh>

Detailed Description

Definition at line 32 of file StrainConverter.hh.

Public Member Functions

 StrainConverter (bool override_flag=false)
 
 StrainConverter (const STRAIN_METRIC &_MODE, const MatrixXd &_sop_transf_mat, const Array< Array< int > > &_order_strain)
 
 StrainConverter (const std::string &mode_name)
 
Index dim () const
 
Matrix3d strain_metric (const Matrix3d &F) const
 Get the strain metric in the current mode. More...
 
Matrix3d strain_metric_to_F (const Matrix3d &E) const
 
VectorXd unroll_E (const Matrix3d &E) const
 Unrolls the green-lagrange metric ( or any symmetric metric) More...
 
Matrix3d rollup_E (const VectorXd &_unrolled_E) const
 
VectorXd unrolled_strain_metric (const Matrix3d &F) const
 
Matrix3d unrolled_strain_metric_to_F (const VectorXd &E) const
 
VectorXd sop (Matrix3d &E, Matrix3d &C, Matrix3d &U, Eigen::Vector3d &eigenvalues, Matrix3d &eigenvectors, const Matrix3d &F) const
 
VectorXd sop (Matrix3d &E, Matrix3d &C, Matrix3d &U, Eigen::Vector3d &eigenvalues, Matrix3d &eigenvectors, const Matrix3d &F, STRAIN_METRIC MODE) const
 
void set_mode (const std::string &mode_name)
 
const Eigen::MatrixXd & sop_transf_mat () const
 
SymGroupRepID symrep_ID () const
 
std::vector< Eigen::MatrixXd > irreducible_sop_wedges (const SymGroup &pg, std::vector< Index > &multiplicities)
 
std::vector< Eigen::MatrixXd > irreducible_wedges (const SymGroup &pg, std::vector< Index > &multiplicities)
 
void set_symmetrized_sop (const SymGroup &pg)
 
void set_conventional_sop_transf_mat ()
 
void set_conventional_order_symmetric ()
 
void set_conventional_order_unsymmetric ()
 

Static Public Member Functions

static Matrix3d green_lagrange (const Matrix3d &F)
 GREEN_LAGRANGE = (C-I)/2. More...
 
static Matrix3d green_lagrange_to_F (const Matrix3d &E)
 GREEN_LAGRANGE = 1/2 * (F^{T} F - I) More...
 
static Matrix3d biot (const Matrix3d &F)
 BIOT = (U-I) More...
 
static Matrix3d biot_to_F (const Matrix3d &B)
 BIOT = (U-I) More...
 
static Matrix3d hencky (const Matrix3d &F)
 HENCKY = log(C)/2. More...
 
static Matrix3d hencky_to_F (const Matrix3d &H)
 HENCKY = log(C)/2. More...
 
static Matrix3d euler_almansi (const Matrix3d &F)
 EULER_ALMANSI = (I-(F F^{T})^(-1))/2. More...
 
static Matrix3d euler_almansi_to_F (const Matrix3d &A)
 EULER_ALMANSI = (I-(F F^{T})^(-1))/2. More...
 
static Matrix3d disp_grad (const Matrix3d &F)
 DISP_GRAD = F. More...
 
static Matrix3d disp_grad_to_F (const Matrix3d &F)
 
static Matrix3d metric_tensor (const Matrix3d &F)
 
static Matrix3d right_stretch_tensor (Matrix3d &C, Eigen::Vector3d &eigenvalues, Matrix3d &eigenvectors, const Matrix3d &F)
 
static Matrix3d right_stretch_tensor (const Matrix3d &F)
 
static Matrix3d strain_metric (const Matrix3d &F, STRAIN_METRIC MODE)
 

Private Types

typedef Matrix3d(* MetricFuncPtr )(const Matrix3d &)
 

Private Attributes

STRAIN_METRIC STRAIN_METRIC_MODE
 
MatrixXd m_sop_transf_mat
 
Array< Array< int > > m_order_strain
 
Array< double > m_weight_strain
 
SymGroupRepID m_symrep_ID
 
MetricFuncPtr curr_metric_func
 
MetricFuncPtr curr_inv_metric_func
 

Member Typedef Documentation

typedef Matrix3d(* CASM::StrainConverter::MetricFuncPtr)(const Matrix3d &)
private

Definition at line 160 of file StrainConverter.hh.

Constructor & Destructor Documentation

CASM::StrainConverter::StrainConverter ( bool  override_flag = false)
inline

Definition at line 69 of file StrainConverter.hh.

CASM::StrainConverter::StrainConverter ( const STRAIN_METRIC _MODE,
const MatrixXd _sop_transf_mat,
const Array< Array< int > > &  _order_strain 
)
inline

Definition at line 82 of file StrainConverter.hh.

CASM::StrainConverter::StrainConverter ( const std::string &  mode_name)
inline

Definition at line 98 of file StrainConverter.hh.

Member Function Documentation

Matrix3d CASM::StrainConverter::biot ( const Matrix3d F)
static

BIOT = (U-I)

Definition at line 48 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::biot_to_F ( const Matrix3d B)
static

BIOT = (U-I)

Definition at line 54 of file StrainConverter.cc.

Index CASM::StrainConverter::dim ( ) const
inline

Definition at line 103 of file StrainConverter.hh.

Matrix3d CASM::StrainConverter::disp_grad ( const Matrix3d F)
static

DISP_GRAD = F.

Definition at line 93 of file StrainConverter.cc.

static Matrix3d CASM::StrainConverter::disp_grad_to_F ( const Matrix3d F)
inlinestatic

Definition at line 54 of file StrainConverter.hh.

Matrix3d CASM::StrainConverter::euler_almansi ( const Matrix3d F)
static

EULER_ALMANSI = (I-(F F^{T})^(-1))/2.

Definition at line 80 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::euler_almansi_to_F ( const Matrix3d A)
static

EULER_ALMANSI = (I-(F F^{T})^(-1))/2.

Definition at line 86 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::green_lagrange ( const Matrix3d F)
static

GREEN_LAGRANGE = (C-I)/2.

GREEN_LAGRANGE = 1/2 * (F^{T} F - I)

Definition at line 35 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::green_lagrange_to_F ( const Matrix3d E)
static

GREEN_LAGRANGE = 1/2 * (F^{T} F - I)

Definition at line 41 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::hencky ( const Matrix3d F)
static

HENCKY = log(C)/2.

Definition at line 60 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::hencky_to_F ( const Matrix3d H)
static

HENCKY = log(C)/2.

Definition at line 73 of file StrainConverter.cc.

std::vector< Eigen::MatrixXd > CASM::StrainConverter::irreducible_sop_wedges ( const SymGroup pg,
std::vector< Index > &  multiplicities 
)

Definition at line 248 of file StrainConverter.cc.

std::vector< Eigen::MatrixXd > CASM::StrainConverter::irreducible_wedges ( const SymGroup pg,
std::vector< Index > &  multiplicities 
)

Definition at line 260 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::metric_tensor ( const Matrix3d F)
static

Definition at line 10 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::right_stretch_tensor ( Matrix3d C,
Eigen::Vector3d &  eigenvalues,
Matrix3d eigenvectors,
const Matrix3d F 
)
static

Definition at line 15 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::right_stretch_tensor ( const Matrix3d F)
static

Definition at line 27 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::rollup_E ( const VectorXd _unrolled_E) const

Definition at line 161 of file StrainConverter.cc.

void CASM::StrainConverter::set_conventional_order_symmetric ( )

Definition at line 319 of file StrainConverter.cc.

void CASM::StrainConverter::set_conventional_order_unsymmetric ( )

Definition at line 344 of file StrainConverter.cc.

void CASM::StrainConverter::set_conventional_sop_transf_mat ( )

Definition at line 306 of file StrainConverter.cc.

void CASM::StrainConverter::set_mode ( const std::string &  mode_name)

GREEN_LAGRANGE = 1/2 * (F^{T} F - I)

BIOT = (U-I)

HENCKY = log(C)/2

EULER_ALMANSI = 0.5 * (I-(F F^{T})^(-1))

DISP_GRAD = F

Definition at line 201 of file StrainConverter.cc.

void CASM::StrainConverter::set_symmetrized_sop ( const SymGroup pg)

Definition at line 270 of file StrainConverter.cc.

VectorXd CASM::StrainConverter::sop ( Matrix3d E,
Matrix3d C,
Matrix3d U,
Eigen::Vector3d &  eigenvalues,
Matrix3d eigenvectors,
const Matrix3d F 
) const

Definition at line 194 of file StrainConverter.cc.

VectorXd CASM::StrainConverter::sop ( Matrix3d E,
Matrix3d C,
Matrix3d U,
Eigen::Vector3d &  eigenvalues,
Matrix3d eigenvectors,
const Matrix3d F,
STRAIN_METRIC  MODE 
) const

Definition at line 183 of file StrainConverter.cc.

const Eigen::MatrixXd& CASM::StrainConverter::sop_transf_mat ( ) const
inline

Definition at line 129 of file StrainConverter.hh.

Matrix3d CASM::StrainConverter::strain_metric ( const Matrix3d F,
STRAIN_METRIC  MODE 
)
static

GREEN_LAGRANGE = 1/2 * (F^{T} F - I)

BIOT = (U-I)

HENCKY = log(C)/2

EULER_ALMANSI = 0.5 * (I-(F F^{T})^(-1))

DISP_GRAD

Definition at line 100 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::strain_metric ( const Matrix3d F) const

Get the strain metric in the current mode.

Definition at line 132 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::strain_metric_to_F ( const Matrix3d E) const

Definition at line 140 of file StrainConverter.cc.

SymGroupRepID CASM::StrainConverter::symrep_ID ( ) const
inline

Definition at line 133 of file StrainConverter.hh.

VectorXd CASM::StrainConverter::unroll_E ( const Matrix3d E) const

Unrolls the green-lagrange metric ( or any symmetric metric)

Definition at line 149 of file StrainConverter.cc.

VectorXd CASM::StrainConverter::unrolled_strain_metric ( const Matrix3d F) const

Definition at line 171 of file StrainConverter.cc.

Matrix3d CASM::StrainConverter::unrolled_strain_metric_to_F ( const VectorXd E) const

Definition at line 176 of file StrainConverter.cc.

Member Data Documentation

MetricFuncPtr CASM::StrainConverter::curr_inv_metric_func
private

Definition at line 162 of file StrainConverter.hh.

MetricFuncPtr CASM::StrainConverter::curr_metric_func
private

Definition at line 161 of file StrainConverter.hh.

Array< Array<int> > CASM::StrainConverter::m_order_strain
private

Definition at line 155 of file StrainConverter.hh.

MatrixXd CASM::StrainConverter::m_sop_transf_mat
private

Definition at line 153 of file StrainConverter.hh.

SymGroupRepID CASM::StrainConverter::m_symrep_ID
private

Definition at line 158 of file StrainConverter.hh.

Array<double> CASM::StrainConverter::m_weight_strain
private

Definition at line 156 of file StrainConverter.hh.

STRAIN_METRIC CASM::StrainConverter::STRAIN_METRIC_MODE
private

Definition at line 152 of file StrainConverter.hh.


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