namespace ewalena  0.2.15
ewalena is not an acronym
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Protected Member Functions
ewalena::Crystal::ElasticField< ValueType > Class Template Reference

Elastic field. More...

#include <include/ewalena/numerics/elastic_field.h>

Inheritance diagram for ewalena::Crystal::ElasticField< ValueType >:
Inheritance graph
[legend]
Collaboration diagram for ewalena::Crystal::ElasticField< ValueType >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void distribute_moduli (const Vector< ValueType > &moduli)
 ElasticField (const Vector< ValueType > &moduli=Vector< ValueType >(), const SymmetryFlag &symmetry_flags=SymmetryFlag::null, const SymmetryFlag &group_flags=SymmetryFlag::null)
ewalena::Crystal::CrystalFieldBase
< 3, 4, ValueType > 
operator* () const
virtual ~ElasticField ()

Protected Member Functions

void distribute_moduli_to_cubic ()
void distribute_moduli_to_hexagonal ()
void distribute_moduli_to_trigonal ()

Detailed Description

template<typename ValueType = double>
class ewalena::Crystal::ElasticField< ValueType >

Elastic field.

The stress-strain tensor $C$ is a $r=4$ tensor defined in ${\mathbb R}=3$ and maps onto a $6\times6$ matrix using the notation of Voight:

\[C_{ijkl}:=C_{(ij)(kl)}\mapsto\left[\begin{array}{cccccc} C_{11}&C_{12}&C_{13}&C_{14}&C_{15}&C_{16}\\ C_{21}&C_{22}&C_{33}&C_{44}&C_{55}&C_{66}\\ C_{31}&C_{32}&C_{33}&C_{34}&C_{35}&C_{36}\\ C_{41}&C_{42}&C_{43}&C_{44}&C_{45}&C_{46}\\ C_{51}&C_{52}&C_{53}&C_{54}&C_{55}&C_{56}\\ C_{61}&C_{62}&C_{63}&C_{64}&C_{65}&C_{66} \end{array}\right]=C_{IJ}\quad.\]

ewalena::Crystal::ElasticField elastic_field (ewalena::Crystal::SymmetryFlag::cubic)

Author:
Toby D. Young 2009 - 2012.

Constructor & Destructor Documentation

template<typename ValueType = double>
ewalena::Crystal::ElasticField< ValueType >::ElasticField ( const Vector< ValueType > &  moduli = Vector<ValueType> (),
const SymmetryFlag symmetry_flags = SymmetryFlag::null,
const SymmetryFlag group_flags = SymmetryFlag::null 
) [inline]

Constructor.

template<typename ValueType = double>
virtual ewalena::Crystal::ElasticField< ValueType >::~ElasticField ( ) [virtual]

Virtual destructor.


Member Function Documentation

template<typename ValueType = double>
void ewalena::Crystal::ElasticField< ValueType >::distribute_moduli ( const Vector< ValueType > &  moduli) [virtual]

Distribute moduli onto this tensor field according to rules governing the crystal group symmetry.

Reimplemented from ewalena::Crystal::CrystalFieldBase< 3, 4, ValueType >.

template<typename ValueType = double>
void ewalena::Crystal::ElasticField< ValueType >::distribute_moduli_to_cubic ( ) [protected]

Distribute elastic moduli onto this tensor according to the rules governed by the cubic symmetry group.

template<typename ValueType = double>
void ewalena::Crystal::ElasticField< ValueType >::distribute_moduli_to_hexagonal ( ) [protected]

Distribute elastic moduli onto this tensor according to the rules governed by the hexagonal symmetry group.

template<typename ValueType = double>
void ewalena::Crystal::ElasticField< ValueType >::distribute_moduli_to_trigonal ( ) [protected]

Distribute elastic moduli onto this tensor according to the rules governed by the trigonal symmetry group.

template<typename ValueType = double>
ewalena::Crystal::CrystalFieldBase<3, 4, ValueType> ewalena::Crystal::ElasticField< ValueType >::operator* ( ) const [inline]

Access operator to the underlying tensor field base.

Reimplemented from ewalena::Crystal::CrystalFieldBase< 3, 4, ValueType >.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines