micromechanical (C++)
Loading...
Searching...
No Matches
micromechanical::core Namespace Reference

Classes

struct  BestFitAveraging
 Average the contact displacement into the strain tensor based on the best-fit hypothesis. More...
 
struct  ChangStiffness
 Stress dependent stiffness for the contact law based on Chang et al. (1989) More...
 
struct  ConstantStiffness
 Constant stiffness for contact laws. More...
 
struct  ContactLawBase
 Base class for contact laws. More...
 
struct  CSLBase
 Base class for critical state line. More...
 
struct  DebugVariable
 
struct  ElastoplasticContactLaw
 Base class for elastoplastic contact laws. More...
 
struct  ExponentialBreakageCSL
 An exponential-curvature critical state line (CSL) with breakage effect. More...
 
struct  FabricTensor
 Fabric tensor for the directional density function. More...
 
struct  FabricTensorChanged
 
struct  Integration
 Contact integration points for micromechanical models. More...
 
struct  IntegrationChanged
 
struct  KinematicHypothesisLocalization
 Localize the macroscopic stress to the microscopic contact force. More...
 
struct  Load
 Load.
 
struct  LoadPhase
 load phase More...
 
struct  LogarithmicCSL
 A logarithmic-curvature critical state line (CSL). More...
 
struct  LoveWeberAveraging
 Average the microscopic contact force to the macroscopic stress. More...
 
struct  Material
 Material properties for contact laws. More...
 
struct  MCCCSL
 
struct  MicromechanicalBase
 Base class for micromechanical models. More...
 
struct  MixedLoadControl
 Mixed load control for micromechanical models. More...
 
struct  NonlinearElasticContactLaw
 Base class for nonlinear elastic contact laws. More...
 
struct  Options
 Options for micromechanical models. More...
 
struct  RichartStiffness
 Stress dependent stiffness for the contact law based on Richart et al. (1970) More...
 
struct  Scalar
 
struct  StateVariable
 State variables for micromechanical models. More...
 
struct  StaticHypothesisLocalization
 Localize the macroscopic stress to the microscopic contact force. More...
 
struct  Tensor2
 Class for the 2nd-order tensor (3, 3) representation. More...
 
struct  Vector
 

Functions

template<typename T>
Tensor2< T > operator+ (const T &scalar, const Tensor2< T > &tensor)
 Add a tensor to a scalar.
 
template Tensor2< float > operator+ (const float &scalar, const Tensor2< float > &tensor)
 
template Tensor2< double > operator+ (const double &scalar, const Tensor2< double > &tensor)
 
template<typename T>
Tensor2< T > operator+ (const Eigen::Matrix< T, 3, 3 > &matrix, const Tensor2< T > &tensor)
 Add a matrix to a tensor.
 
template Tensor2< float > operator+ (const Eigen::Matrix< float, 3, 3 > &matrix, const Tensor2< float > &tensor)
 
template Tensor2< double > operator+ (const Eigen::Matrix< double, 3, 3 > &matrix, const Tensor2< double > &tensor)
 
template<typename T>
Tensor2< T > operator- (const T &scalar, const Tensor2< T > &tensor)
 Subtract a tensor from a scalar.
 
template Tensor2< float > operator- (const float &scalar, const Tensor2< float > &tensor)
 
template Tensor2< double > operator- (const double &scalar, const Tensor2< double > &tensor)
 
template<typename T>
Tensor2< T > operator- (const Eigen::Matrix< T, 3, 3 > &matrix, const Tensor2< T > &tensor)
 Subtract a tensor from a matrix.
 
template Tensor2< float > operator- (const Eigen::Matrix< float, 3, 3 > &matrix, const Tensor2< float > &tensor)
 
template Tensor2< double > operator- (const Eigen::Matrix< double, 3, 3 > &matrix, const Tensor2< double > &tensor)
 
template<typename T>
Tensor2< T > operator* (const Eigen::Matrix< T, 3, 3 > &matrix, const Tensor2< T > &tensor)
 Multiply a tensor by a matrix.
 
template Tensor2< float > operator* (const Eigen::Matrix< float, 3, 3 > &matrix, const Tensor2< float > &tensor)
 
template Tensor2< double > operator* (const Eigen::Matrix< double, 3, 3 > &matrix, const Tensor2< double > &tensor)
 
template<typename T>
Eigen::Matrix< T, 1, 3 > operator* (const Eigen::Matrix< T, 1, 3 > &vector, const Tensor2< T > &tensor)
 Multiply a tensor by a vector.
 
template Eigen::Matrix< float, 1, 3 > operator* (const Eigen::Matrix< float, 1, 3 > &vector, const Tensor2< float > &tensor)
 
template Eigen::Matrix< double, 1, 3 > operator* (const Eigen::Matrix< double, 1, 3 > &vector, const Tensor2< double > &tensor)
 
template<typename T>
Tensor2< T > operator* (const T &scalar, const Tensor2< T > &tensor)
 Multiply a tensor by a scalar.
 
template Tensor2< float > operator* (const float &scalar, const Tensor2< float > &tensor)
 
template Tensor2< double > operator* (const double &scalar, const Tensor2< double > &tensor)
 

Function Documentation

◆ operator*() [1/9]

template Tensor2< double > micromechanical::core::operator* ( const double & scalar,
const Tensor2< double > & tensor )

◆ operator*() [2/9]

template Eigen::Matrix< double, 1, 3 > micromechanical::core::operator* ( const Eigen::Matrix< double, 1, 3 > & vector,
const Tensor2< double > & tensor )

◆ operator*() [3/9]

template Tensor2< double > micromechanical::core::operator* ( const Eigen::Matrix< double, 3, 3 > & matrix,
const Tensor2< double > & tensor )

◆ operator*() [4/9]

template Eigen::Matrix< float, 1, 3 > micromechanical::core::operator* ( const Eigen::Matrix< float, 1, 3 > & vector,
const Tensor2< float > & tensor )

◆ operator*() [5/9]

template Tensor2< float > micromechanical::core::operator* ( const Eigen::Matrix< float, 3, 3 > & matrix,
const Tensor2< float > & tensor )

◆ operator*() [6/9]

template<typename T>
Eigen::Matrix< T, 1, 3 > micromechanical::core::operator* ( const Eigen::Matrix< T, 1, 3 > & vector,
const Tensor2< T > & tensor )

Multiply a tensor by a vector.

Parameters
vectorVector to be multiplied.
tensorTensor to be multiplied.
Returns
Product of the vector and the tensor.

References micromechanical::core::Tensor2< T >::matrix.

◆ operator*() [7/9]

template<typename T>
Tensor2< T > micromechanical::core::operator* ( const Eigen::Matrix< T, 3, 3 > & matrix,
const Tensor2< T > & tensor )

Multiply a tensor by a matrix.

Parameters
matrixMatrix to be multiplied.
tensorTensor to be multiplied.
Returns
Product of the matrix and the tensor.

References micromechanical::core::Tensor2< T >::matrix.

◆ operator*() [8/9]

template Tensor2< float > micromechanical::core::operator* ( const float & scalar,
const Tensor2< float > & tensor )

◆ operator*() [9/9]

template<typename T>
Tensor2< T > micromechanical::core::operator* ( const T & scalar,
const Tensor2< T > & tensor )

Multiply a tensor by a scalar.

Parameters
scalarScalar to be multiplied.
tensorTensor to be multiplied.
Returns
Product of the scalar and the tensor.

References micromechanical::core::Tensor2< T >::matrix.

◆ operator+() [1/6]

template Tensor2< double > micromechanical::core::operator+ ( const double & scalar,
const Tensor2< double > & tensor )

◆ operator+() [2/6]

template Tensor2< double > micromechanical::core::operator+ ( const Eigen::Matrix< double, 3, 3 > & matrix,
const Tensor2< double > & tensor )

◆ operator+() [3/6]

template Tensor2< float > micromechanical::core::operator+ ( const Eigen::Matrix< float, 3, 3 > & matrix,
const Tensor2< float > & tensor )

◆ operator+() [4/6]

template<typename T>
Tensor2< T > micromechanical::core::operator+ ( const Eigen::Matrix< T, 3, 3 > & matrix,
const Tensor2< T > & tensor )

Add a matrix to a tensor.

Parameters
matrixMatrix to be added.
tensorTensor to be added.
Returns
Sum of the matrix and the tensor.

References micromechanical::core::Tensor2< T >::matrix.

◆ operator+() [5/6]

template Tensor2< float > micromechanical::core::operator+ ( const float & scalar,
const Tensor2< float > & tensor )

◆ operator+() [6/6]

template<typename T>
Tensor2< T > micromechanical::core::operator+ ( const T & scalar,
const Tensor2< T > & tensor )

Add a tensor to a scalar.

Parameters
scalarScalar to be added.
tensorTensor to be added.
Returns
Sum of the scalar and the tensor.

References micromechanical::core::Tensor2< T >::matrix.

◆ operator-() [1/6]

template Tensor2< double > micromechanical::core::operator- ( const double & scalar,
const Tensor2< double > & tensor )

◆ operator-() [2/6]

template Tensor2< double > micromechanical::core::operator- ( const Eigen::Matrix< double, 3, 3 > & matrix,
const Tensor2< double > & tensor )

◆ operator-() [3/6]

template Tensor2< float > micromechanical::core::operator- ( const Eigen::Matrix< float, 3, 3 > & matrix,
const Tensor2< float > & tensor )

◆ operator-() [4/6]

template<typename T>
Tensor2< T > micromechanical::core::operator- ( const Eigen::Matrix< T, 3, 3 > & matrix,
const Tensor2< T > & tensor )

Subtract a tensor from a matrix.

Parameters
matrixMatrix to be subtracted.
tensorTensor to be subtracted.
Returns
Difference of the matrix and the tensor.

References micromechanical::core::Tensor2< T >::matrix.

◆ operator-() [5/6]

template Tensor2< float > micromechanical::core::operator- ( const float & scalar,
const Tensor2< float > & tensor )

◆ operator-() [6/6]

template<typename T>
Tensor2< T > micromechanical::core::operator- ( const T & scalar,
const Tensor2< T > & tensor )

Subtract a tensor from a scalar.

Parameters
scalarScalar to be subtracted.
tensorTensor to be subtracted.
Returns
Difference of the scalar and the tensor.

References micromechanical::core::Tensor2< T >::matrix.