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

Dielectric field. More...

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

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

List of all members.

Public Member Functions

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

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

Dielectric field.

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

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

Author:
Toby D. Young 2010 - 2012.

Constructor & Destructor Documentation

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

Constructor.

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

Virtual destructor.


Member Function Documentation

template<typename ValueType = double>
void ewalena::Crystal::DielectricField< 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::DielectricField< ValueType >::distribute_moduli_to_cubic ( ) [protected]

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

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

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

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

Distribute dielectric 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::DielectricField< 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