This section purports to document the phononic internals.
Transforms all coefficients of the piezoelectric constitutive law from 3D to plane stress problem in 2D: strain/stress ordering/ 11 22 33 12 13 23 –> if no arguments passed, demo example returns 2D restriction of a piezoelectric material obtained by get_pars_BaTiOx3().
Example: C2, D2, B2 = piezo_transfrom_3to2( C3, D3, B3, iplane )
Various parametric hooks.
Vary incident wave direction for dispersion computation. The x-y plane is used in 3D.
Assumes –dispersion option!
Vary incident wave direction for phase velocity computation. The x-y plane is used in 3D.
Assumes –phase-velocity option!
Cycles through all combinations of bounds, returns a generator.
More specifically, let bounds=[a, b, c, ...], so cycle returns all combinations of lists [0<=i<a, 0<=j<b, 0<=k<c, ...] for all i,j,k,...
Examples: In [9]: list(cycle([3, 2])) Out[9]: [[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1]]
In [14]: list(cycle([3, 4])) [[0, 0], [0, 1], [0, 2], [0, 3], [1, 0], [1, 1], [1, 2], [1, 3], [2, 0], [2, 1], [2, 2], [2, 3]]