namespace ewalena
0.2.15
ewalena is not an acronym
|
Classes | |
class | CrystalFieldBase |
Base class for crystal fields of empirical moduli. More... | |
class | DielectricField |
Dielectric field. More... | |
class | ElasticField |
Elastic field. More... | |
class | FerroelectricField |
Ferroelectric field. More... | |
class | PiezoelectricField |
Piezoelectric field. More... | |
class | PyroelectricField |
Pyroelectric field. More... | |
Enumerations | |
enum | SymmetryFlag { null = 0, triclinic = 0x0001, monoclinic = 0x0002, orthorhombic = 0x0003, tetragonal = 0x0004, trigonal = 0x0005, hexagonal = 0x0006, cubic = 0x0007, k32 = 0x0035 } |
Functions | |
template<int dim, typename ValueType > | |
Tensor< dim, 2, ValueType > | contract (const CrystalFieldBase< dim, 4, ValueType > &T_a, const Tensor< dim, 2, ValueType > &T_b) |
template<class STREAM > | |
STREAM & | operator<< (STREAM &stream, const SymmetryFlag symmetry_flag) |
Crystal space groups are divided into seven systems according to their geometric symmetries. They are: triclinic, monoclinic, orthorhombic, tetragonal, trigonal (hexagonal-trigonal), hexagonal (hexagonal-hexagonal), and cubic.
ewalena::Vector<double> moduli (); ewalena::Crystal::ElasticField elastic_field (moduli, ewalena::SymmetryFlag::cubic); elastic_field.distribute_moduli ();
Some tensors of empirical moduli are fully spcified by a crystal symmetry group (all classes are equivalent). Over specification of symmetry flags is allowed, but under specification is not. In other words, specifying specifying a...
In this case the following (over specified) declaration of the elastic field is equivalent to that above.
ewalena::Crystal::ElasticField elastic_field (moduli, ewalena::SymmetryFlag::cubic, ewalena::SymmetryFlag::one);
Table - quick reference.
null | 0 |
triclinic | 1 |
monoclinic | 2 |
orthorhombic | 3 |
tetragonal | 4 |
trigonal | 5 |
hexagonal | 6 |
cubic | 7 |
Tensor<dim, 2, ValueType> ewalena::Crystal::contract | ( | const CrystalFieldBase< dim, 4, ValueType > & | T_a, |
const Tensor< dim, 2, ValueType > & | T_b | ||
) | [inline] |
Contract two tensors with normal ordering: .
STREAM& ewalena::Crystal::operator<< | ( | STREAM & | stream, |
const SymmetryFlag | symmetry_flag | ||
) | [inline] |
Output stream operator that outputs the name of the symmetry flag.