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

Pyroelectric field. More...

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

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

List of all members.

Public Member Functions

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

Protected Member Functions

void distribute_moduli_to_cubic ()
void distribute_moduli_to_trigonal ()

Detailed Description

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

Pyroelectric field.

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

\[P_{ij}:=P_{(ij))}\mapsto\left[\begin{array}{ccc} P_{11}&P_{12}&P_{13}\\ P_{21}&P_{22}&P_{33}\\ P_{31}&P_{32}&P_{33}\\ \end{array}\right]=P_{IJ}\quad.\]

Author:
Toby D. Young 2010, 2011.

Constructor & Destructor Documentation

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

Constructor.

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

Virtual destructor.


Member Function Documentation

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

template<typename ValueType = double>
void ewalena::Crystal::PyroelectricField< 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::PyroelectricField< 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, 2, ValueType> ewalena::Crystal::PyroelectricField< ValueType >::operator* ( ) const [inline]

Access operator to the underlying tensor field base.

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


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