High Performance Plasticity  0.5.0
hpp::Crystal< U > Class Template Reference

#include <crystal.h>

Collaboration diagram for hpp::Crystal< U >:

Public Member Functions

 Crystal ()
 
 Crystal (const CrystalProperties< U > &unrotatedProps, const CrystalSolverConfig< U > &config, const CrystalInitialConditions< U > &init)
 
 Crystal (const CrystalProperties< U > &unrotatedProps, const CrystalSolverConfig< U > &config, const CrystalInitialConditions< U > &init, const CrystalOutputConfig &outputConfig)
 
bool tryStep (const hpp::Tensor2< U > &F_next, U dt)
 
void acceptStep ()
 
void rejectStep ()
 
recommendNextTimestepSize (U dt)
 
std::vector< std::vector< U > > getM_alphas () const
 Equation 13 in kalidindi1992. More...
 
std::vector< std::vector< U > > getN_alphas () const
 Equation 14 in kalidindi1992. More...
 
Tensor2< U > getTCauchy () const
 
getVolume () const
 
const std::vector< U > & getSAlphas () const
 
EulerAngles< U > getEulerAngles () const
 
GSHCoeffs< U > getGSHCoeffs () const
 
std::vector< U > getShearStrainRates ()
 
Tensor2< U > getPlasticSpinTensor ()
 

Protected Member Functions

void applyInitialConditions ()
 

Private Member Functions

bool updateT (const hpp::Tensor2< U > &A, U dt)
 
bool updateS (U dt)
 
bool updateTandS (const hpp::Tensor2< U > &A, U dt)
 
void assertAcceptedOrRejectedStep ()
 

Private Attributes

CrystalProperties< U > unrotatedProps
 
CrystalProperties< U > props
 
CrystalSolverConfig< U > config
 
CrystalInitialConditions< U > init
 
CrystalOutputConfig outputConfig
 
DT_max
 Defined on journal page 545 of Kalidindi1992. More...
 
DT_tol
 Defined on journal page 545 of Kalidindi1992. More...
 
Ds_tol
 Defined on journal page 545 of Kalidindi1992. More...
 
hpp::Tensor2< U > T
 
std::vector< U > s_alphas
 
hpp::Tensor2< U > F_p
 
bool step_accepted = false
 
bool step_rejected = false
 
hpp::Tensor2< U > F_e
 
std::vector< U > Dgamma_alphas
 
std::vector< std::vector< U > > m_alphas
 
std::vector< std::vector< U > > n_alphas
 
hpp::Tensor2< U > T_next
 
std::vector< U > s_alphas_next
 
hpp::Tensor2< U > F_p_next
 
std::vector< U > Dgamma_alphas_next
 
hpp::Tensor2< U > F_e_next
 
std::vector< U > dumDgamma_alphas
 
std::vector< Tensor2< U > > dum2ndOrders
 
std::vector< Tensor4< U > > dum4thOrders
 
std::vector< hpp::Tensor2< U > > dumC_alphas
 

Friends

class Polycrystal< U >
 

Constructor & Destructor Documentation

template<typename U >
hpp::Crystal< U >::Crystal ( )
template<typename U >
hpp::Crystal< U >::Crystal ( const CrystalProperties< U > &  unrotatedProps,
const CrystalSolverConfig< U > &  config,
const CrystalInitialConditions< U > &  init 
)
template<typename U >
hpp::Crystal< U >::Crystal ( const CrystalProperties< U > &  unrotatedProps,
const CrystalSolverConfig< U > &  config,
const CrystalInitialConditions< U > &  init,
const CrystalOutputConfig outputConfig 
)

Member Function Documentation

template<typename U >
void hpp::Crystal< U >::acceptStep ( )
template<typename U >
void hpp::Crystal< U >::applyInitialConditions ( )
protected
template<typename U >
void hpp::Crystal< U >::assertAcceptedOrRejectedStep ( )
private
template<typename U >
EulerAngles< U > hpp::Crystal< U >::getEulerAngles ( ) const
template<typename U >
GSHCoeffs< U > hpp::Crystal< U >::getGSHCoeffs ( ) const
template<typename U >
std::vector< std::vector< U > > hpp::Crystal< U >::getM_alphas ( ) const

Equation 13 in kalidindi1992.

template<typename U >
std::vector< std::vector< U > > hpp::Crystal< U >::getN_alphas ( ) const

Equation 14 in kalidindi1992.

template<typename U >
Tensor2< U > hpp::Crystal< U >::getPlasticSpinTensor ( )
template<typename U>
const std::vector<U>& hpp::Crystal< U >::getSAlphas ( ) const
inline
template<typename U >
std::vector< U > hpp::Crystal< U >::getShearStrainRates ( )
template<typename U>
Tensor2<U> hpp::Crystal< U >::getTCauchy ( ) const
inline
template<typename U>
U hpp::Crystal< U >::getVolume ( ) const
inline
template<typename U >
U hpp::Crystal< U >::recommendNextTimestepSize ( dt)
template<typename U >
void hpp::Crystal< U >::rejectStep ( )
template<typename U >
bool hpp::Crystal< U >::tryStep ( const hpp::Tensor2< U > &  F_next,
dt 
)
template<typename U >
bool hpp::Crystal< U >::updateS ( dt)
private
template<typename U >
bool hpp::Crystal< U >::updateT ( const hpp::Tensor2< U > &  A,
dt 
)
private
template<typename U >
bool hpp::Crystal< U >::updateTandS ( const hpp::Tensor2< U > &  A,
dt 
)
private

Friends And Related Function Documentation

template<typename U>
friend class Polycrystal< U >
friend

Member Data Documentation

template<typename U>
CrystalSolverConfig<U> hpp::Crystal< U >::config
private
template<typename U>
std::vector<U> hpp::Crystal< U >::Dgamma_alphas
private
template<typename U>
std::vector<U> hpp::Crystal< U >::Dgamma_alphas_next
private
template<typename U>
U hpp::Crystal< U >::Ds_tol
private

Defined on journal page 545 of Kalidindi1992.

template<typename U>
U hpp::Crystal< U >::DT_max
private

Defined on journal page 545 of Kalidindi1992.

template<typename U>
U hpp::Crystal< U >::DT_tol
private

Defined on journal page 545 of Kalidindi1992.

template<typename U>
std::vector<Tensor2<U> > hpp::Crystal< U >::dum2ndOrders
private
template<typename U>
std::vector<Tensor4<U> > hpp::Crystal< U >::dum4thOrders
private
template<typename U>
std::vector<hpp::Tensor2<U> > hpp::Crystal< U >::dumC_alphas
private
template<typename U>
std::vector<U> hpp::Crystal< U >::dumDgamma_alphas
private
template<typename U>
hpp::Tensor2<U> hpp::Crystal< U >::F_e
private
template<typename U>
hpp::Tensor2<U> hpp::Crystal< U >::F_e_next
private
template<typename U>
hpp::Tensor2<U> hpp::Crystal< U >::F_p
private
template<typename U>
hpp::Tensor2<U> hpp::Crystal< U >::F_p_next
private
template<typename U>
CrystalInitialConditions<U> hpp::Crystal< U >::init
private
template<typename U>
std::vector<std::vector<U> > hpp::Crystal< U >::m_alphas
private
template<typename U>
std::vector<std::vector<U> > hpp::Crystal< U >::n_alphas
private
template<typename U>
CrystalOutputConfig hpp::Crystal< U >::outputConfig
private
template<typename U>
CrystalProperties<U> hpp::Crystal< U >::props
private
template<typename U>
std::vector<U> hpp::Crystal< U >::s_alphas
private
template<typename U>
std::vector<U> hpp::Crystal< U >::s_alphas_next
private
template<typename U>
bool hpp::Crystal< U >::step_accepted = false
private
template<typename U>
bool hpp::Crystal< U >::step_rejected = false
private
template<typename U>
hpp::Tensor2<U> hpp::Crystal< U >::T
private
template<typename U>
hpp::Tensor2<U> hpp::Crystal< U >::T_next
private
template<typename U>
CrystalProperties<U> hpp::Crystal< U >::unrotatedProps
private

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