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::PiezoelectricField< ValueType > Class Template Reference

Piezoelectric field. More...

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

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

List of all members.

Public Member Functions

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

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::PiezoelectricField< ValueType >

Piezoelectric field.

The piezoelectric tensor $d$ is a $r=2$ tensor defined in ${\mathbb R}=3$ and maps onto a $6\times3$ matrix using the notation of Voight:

\[d_{ijk}:=d_{i(jk))}\mapsto\left[\begin{array}{cccccc} d_{11}&d_{12}&d_{13}&d_{14}&d_{15}&d_{16}\\ d_{21}&d_{22}&d_{23}&d_{24}&d_{25}&d_{26}\\ d_{31}&d_{32}&d_{33}&d_{34}&d_{35}&d_{36}\\ \end{array}\right]=d_{IJ}\quad.\]

Author:
Toby D. Young 2010, 2011.

Constructor & Destructor Documentation

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

Constructor.

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

Virtual destructor.


Member Function Documentation

template<typename ValueType = double>
void ewalena::Crystal::PiezoelectricField< 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, 3, ValueType >.

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

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

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

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

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

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

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

Access operator to the underlying tensor field base.

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


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