Merge branch 'qha' of https://github.com/gpetretto/abipy into gp_qha

* 'qha' of https://github.com/gpetretto/abipy:
  fix has_at_least_one_atomic_perturbation
  change elastic API and update DDB test file
This commit is contained in:
Matteo Giantomassi 2018-08-02 00:56:03 +02:00
commit 452eeba670
5 changed files with 588 additions and 286 deletions

View File

@ -2731,9 +2731,42 @@ class AnaddbInput(AbiAbstractInput, Has_Structure):
return new
@classmethod
def dfpt(cls, structure, ngqpt=None, has_gamma_ph=False, dde=False, strain=False, dte=False, nqsmall=None,
qppa=None, ndivsm=20, line_density=None, q1shft=(0, 0, 0), qptbounds=None, asr=2, chneut=1, dipdip=1,
dos_method="tetra", anaddb_args=None, anaddb_kwargs=None):
def dfpt(cls, structure, ngqpt=None, has_stress=False, has_atomic_pert=False, piezo=False, dde=False,
strain=False, dte=False, nqsmall=None, qppa=None, ndivsm=20, line_density=None, q1shft=(0, 0, 0),
qptbounds=None, asr=2, chneut=1, dipdip=1, dos_method="tetra", anaddb_args=None, anaddb_kwargs=None):
"""
Builds an input for a generic dfpt calculation.
Args:
structure: |Structure| object
ngqpt: Monkhorst-Pack divisions for the phonon Q-mesh (coarse one)
has_stress: True if the DDB has the stress values
has_atomic_pert: True if the DDB has atomic perturbations at Gamma (used to set the elastic and
piezoelectric keys)
piezo: if True the piezoelectric tensor are calculated (requires the piezoelectric perturbations)
dde: if True dielectric tensors will be calculated. If phonon band
structure is calculated will also enable the calculation of the lo_to splitting (requires the
DDE perturbations)
strain: if True the elastic tensors will be calculated (requires the strain perturbations)
dte: if True properties related to the non linear tensors will be calculated (requires the third orders
perturbations)
nqsmall: Used to generate the (dense) mesh for the DOS.
It defines the number of q-points used to sample the smallest lattice vector.
qppa: Defines the homogeneous q-mesh used for the DOS in units of q-points per reciproval atom.
Overrides nqsmall.
line_density: Defines the a density of k-points per reciprocal atom to plot the phonon dispersion.
Overrides ndivsm.
ndivsm: Used to generate a normalized path for the phonon bands.
If gives the number of divisions for the smallest segment of the path.
q1shft: Shifts used for the coarse Q-mesh
qptbounds Boundaries of the path. If None, the path is generated from an internal database
depending on the input structure.
asr, chneut, dipdp: Anaddb input variable. See official documentation.
dos_method: Possible choices: "tetra", "gaussian" or "gaussian:0.001 eV".
In the later case, the value 0.001 eV is used as gaussian broadening
anaddb_args: List of tuples (key, value) with Anaddb input variables (default: empty)
anaddb_kwargs: Dictionary with Anaddb input variables (default: empty)
"""
# use the phonon BS and DOS input as starting point is required, otherwise
if ngqpt:
@ -2745,17 +2778,30 @@ class AnaddbInput(AbiAbstractInput, Has_Structure):
anaddb_input = AnaddbInput(structure)
anaddb_input.set_vars(asr=asr, chneut=chneut)
# define a link between the different calculations available (in order: dde, strain, phonons at gamma) and
# the flags to set (dieflag, elaflag, peizoflag). Only meaningful cases are considered
flags_mapping = {(False, False, True): (0, 0, 0),
(False, True, False): (0, 1, 0),
(True, False, False): (2, 0, 0),
(False, True, True): (0, 5, 0),
(True, False, True): (3, 0, 0),
(True, True, False): (0, 1, 1),
(True, True, True): (3, 5, 7)}
dieflag = 0
if dde:
if has_atomic_pert and strain:
dieflag = 3
else:
dieflag = 2
dieflag, elaflag, piezoflag = flags_mapping[(dde, strain, has_gamma_ph)]
elaflag = 0
if strain:
if not has_atomic_pert:
elaflag = 1
elif has_stress:
elaflag = 5
else:
elaflag = 3
piezoflag = 0
if piezo:
if not has_atomic_pert:
piezoflag = 1
elif dde and strain:
piezoflag = 7
else:
piezoflag = 3
anaddb_input.set_vars(dieflag=dieflag,
elaflag=elaflag,

View File

@ -673,6 +673,40 @@ class AnaddbInputTest(AbipyTest):
assert anaddb_input["elaflag"] == 3 and anaddb_input["piezoflag"] == 3 and anaddb_input["chneut"] == 1
self.abivalidate_input(anaddb_input)
def test_dfpt(self):
"""Testing dfpt constructor."""
anaddb_input = AnaddbInput.dfpt(self.structure, has_stress=True, has_atomic_pert=True, piezo=True, dde=True,
strain=True, dte=False)
assert anaddb_input["elaflag"] == 5
assert anaddb_input["dieflag"] == 3
assert anaddb_input["piezoflag"] == 7
self.abivalidate_input(anaddb_input)
anaddb_input = AnaddbInput.dfpt(self.structure, has_stress=True, has_atomic_pert=False, piezo=True, dde=True,
strain=True, dte=False)
assert anaddb_input["elaflag"] == 1
assert anaddb_input["dieflag"] == 2
assert anaddb_input["piezoflag"] == 1
self.abivalidate_input(anaddb_input)
anaddb_input = AnaddbInput.dfpt(self.structure, has_stress=False, has_atomic_pert=True, piezo=True, dde=False,
strain=True, dte=False)
assert anaddb_input["elaflag"] == 3
assert anaddb_input["dieflag"] == 0
assert anaddb_input["piezoflag"] == 3
self.abivalidate_input(anaddb_input)
ndivsm = 1
nqsmall = 3
ngqpt = (4, 4, 4)
anaddb_input = AnaddbInput.dfpt(self.structure, ngqpt=ngqpt, ndivsm=ndivsm, nqsmall=nqsmall, asr=0, dos_method="tetra")
assert anaddb_input['ifcflag'] == 1
self.abivalidate_input(anaddb_input)
anaddb_input = AnaddbInput.dfpt(self.structure, dte=True)
assert anaddb_input['nlflag'] == 1
assert anaddb_input['alphon'] == 1
class TestCut3DInput(AbipyTest):
"""Unit tests for AbinitInput."""

View File

@ -2,117 +2,125 @@
**** DERIVATIVE DATABASE ****
+DDB, Version number 100401
DDB file merged by MergeDdbAbinitTask on Thu Jul 26 20:32:35 2018
DDB file merged by MergeDdbAbinitTask on Wed Aug 1 14:57:18 2018
usepaw 0
natom 2
nkpt 16
natom 4
nkpt 36
nsppol 1
nsym 24
nsym 12
ntypat 2
occopt 1
nband 13
nband 22
acell 0.10000000000000D+01 0.10000000000000D+01 0.10000000000000D+01
amu 0.26981539000000D+02 0.74921590000000D+02
dilatmx 0.10000000000000D+01
ecut 0.40000000000000D+02
ecut 0.42000000000000D+02
ecutsm 0.00000000000000D+00
intxc 0
iscf 7
ixc 7
kpt 0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.16666666666667D+00 0.00000000000000D+00 0.00000000000000D+00
0.33333333333333D+00 0.00000000000000D+00 0.00000000000000D+00
0.50000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.16666666666667D+00 0.16666666666667D+00 0.00000000000000D+00
0.33333333333333D+00 0.16666666666667D+00 0.00000000000000D+00
0.50000000000000D+00 0.16666666666667D+00 0.00000000000000D+00
-0.33333333333333D+00 0.16666666666667D+00 0.00000000000000D+00
-0.16666666666667D+00 0.16666666666667D+00 0.00000000000000D+00
0.33333333333333D+00 0.33333333333333D+00 0.00000000000000D+00
0.50000000000000D+00 0.33333333333333D+00 0.00000000000000D+00
-0.33333333333333D+00 0.33333333333333D+00 0.00000000000000D+00
0.50000000000000D+00 0.50000000000000D+00 0.00000000000000D+00
0.50000000000000D+00 0.33333333333333D+00 0.16666666666667D+00
-0.33333333333333D+00 0.33333333333333D+00 0.16666666666667D+00
-0.33333333333333D+00 0.50000000000000D+00 0.16666666666667D+00
ixc -116133
kpt 0.00000000000000D+00 0.00000000000000D+00 0.10000000000000D+00
0.11111111111111D+00 0.00000000000000D+00 0.10000000000000D+00
0.22222222222222D+00 0.00000000000000D+00 0.10000000000000D+00
0.33333333333333D+00 0.00000000000000D+00 0.10000000000000D+00
0.44444444444444D+00 0.00000000000000D+00 0.10000000000000D+00
0.11111111111111D+00 0.11111111111111D+00 0.10000000000000D+00
0.22222222222222D+00 0.11111111111111D+00 0.10000000000000D+00
0.33333333333333D+00 0.11111111111111D+00 0.10000000000000D+00
0.44444444444444D+00 0.11111111111111D+00 0.10000000000000D+00
0.22222222222222D+00 0.22222222222222D+00 0.10000000000000D+00
0.33333333333333D+00 0.22222222222222D+00 0.10000000000000D+00
0.33333333333333D+00 0.33333333333333D+00 0.10000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.30000000000000D+00
0.11111111111111D+00 0.00000000000000D+00 0.30000000000000D+00
0.22222222222222D+00 0.00000000000000D+00 0.30000000000000D+00
0.33333333333333D+00 0.00000000000000D+00 0.30000000000000D+00
0.44444444444444D+00 0.00000000000000D+00 0.30000000000000D+00
0.11111111111111D+00 0.11111111111111D+00 0.30000000000000D+00
0.22222222222222D+00 0.11111111111111D+00 0.30000000000000D+00
0.33333333333333D+00 0.11111111111111D+00 0.30000000000000D+00
0.44444444444444D+00 0.11111111111111D+00 0.30000000000000D+00
0.22222222222222D+00 0.22222222222222D+00 0.30000000000000D+00
0.33333333333333D+00 0.22222222222222D+00 0.30000000000000D+00
0.33333333333333D+00 0.33333333333333D+00 0.30000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.50000000000000D+00
0.11111111111111D+00 0.00000000000000D+00 0.50000000000000D+00
0.22222222222222D+00 0.00000000000000D+00 0.50000000000000D+00
0.33333333333333D+00 0.00000000000000D+00 0.50000000000000D+00
0.44444444444444D+00 0.00000000000000D+00 0.50000000000000D+00
0.11111111111111D+00 0.11111111111111D+00 0.50000000000000D+00
0.22222222222222D+00 0.11111111111111D+00 0.50000000000000D+00
0.33333333333333D+00 0.11111111111111D+00 0.50000000000000D+00
0.44444444444444D+00 0.11111111111111D+00 0.50000000000000D+00
0.22222222222222D+00 0.22222222222222D+00 0.50000000000000D+00
0.33333333333333D+00 0.22222222222222D+00 0.50000000000000D+00
0.33333333333333D+00 0.33333333333333D+00 0.50000000000000D+00
kptnrm 0.10000000000000D+01
ngfft 45 45 45
ngfft 48 48 75
nspden 1
nspinor 1
occ 0.20000000000000D+01 0.20000000000000D+01 0.20000000000000D+01
0.20000000000000D+01 0.20000000000000D+01 0.20000000000000D+01
0.20000000000000D+01 0.20000000000000D+01 0.20000000000000D+01
0.20000000000000D+01 0.20000000000000D+01 0.20000000000000D+01
0.20000000000000D+01 0.20000000000000D+01 0.20000000000000D+01
0.20000000000000D+01 0.20000000000000D+01 0.20000000000000D+01
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00
rprim 0.00000000000000D+00 0.53144748929000D+01 0.53144748929000D+01
0.53144748929000D+01 0.00000000000000D+00 0.53144748929000D+01
0.53144748929000D+01 0.53144748929000D+01 0.00000000000000D+00
rprim 0.38187550105000D+01 -0.66142776998000D+01 0.00000000000000D+00
0.38187550105000D+01 0.66142776998000D+01 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.12552437939500D+02
dfpt_sciss 0.00000000000000D+00
spinat 0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
symafm 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
symrel 1 0 0 0 1 0 0 0 1
0 -1 1 0 -1 0 1 -1 0
-1 0 0 -1 0 1 -1 1 0
0 1 -1 1 0 -1 0 0 -1
-1 0 0 -1 1 0 -1 0 1
0 -1 1 1 -1 0 0 -1 0
1 0 0 0 0 1 0 1 0
0 1 -1 0 0 -1 1 0 -1
-1 0 1 -1 1 0 -1 0 0
0 -1 0 1 -1 0 0 -1 1
1 0 -1 0 0 -1 0 1 -1
0 1 0 0 0 1 1 0 0
1 0 -1 0 1 -1 0 0 -1
0 -1 0 0 -1 1 1 -1 0
-1 0 1 -1 0 0 -1 1 0
0 1 0 1 0 0 0 0 1
0 0 -1 0 1 -1 1 0 -1
1 -1 0 0 -1 1 0 -1 0
0 0 1 1 0 0 0 1 0
-1 1 0 -1 0 0 -1 0 1
0 0 1 0 1 0 1 0 0
1 -1 0 0 -1 0 0 -1 1
0 0 -1 1 0 -1 0 1 -1
-1 1 0 -1 0 1 -1 0 0
1 1 0 -1 0 0 0 0 1
-1 0 0 1 1 0 0 0 1
0 1 0 -1 -1 0 0 0 1
-1 -1 0 0 1 0 0 0 1
-1 0 0 0 -1 0 0 0 1
0 -1 0 -1 0 0 0 0 1
-1 -1 0 1 0 0 0 0 1
1 0 0 -1 -1 0 0 0 1
0 -1 0 1 1 0 0 0 1
1 1 0 0 -1 0 0 0 1
tnons 0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.50000000003656D+00
0.10000023031864D-09 0.00000000000000D+00 0.50000000003656D+00
-0.10000011929634D-09 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.10000023031864D-09 0.00000000000000D+00
0.00000000000000D+00 -0.10000011929634D-09 0.50000000003656D+00
0.00000000000000D+00 0.00000000000000D+00 0.50000000003656D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
-0.10000011929634D-09 0.00000000000000D+00 0.00000000000000D+00
0.10000023031864D-09 0.00000000000000D+00 0.50000000003656D+00
0.00000000000000D+00 -0.10000011929634D-09 0.50000000003656D+00
0.00000000000000D+00 0.10000023031864D-09 0.00000000000000D+00
tolwfr 0.10000000000000D+01
tphysel 0.00000000000000D+00
tsmear 0.10000000000000D-01
typat 1 2
wtk 0.46296296296296D-02 0.37037037037037D-01 0.37037037037037D-01
0.18518518518519D-01 0.27777777777778D-01 0.11111111111111D+00
0.11111111111111D+00 0.11111111111111D+00 0.55555555555556D-01
0.27777777777778D-01 0.11111111111111D+00 0.55555555555556D-01
0.13888888888889D-01 0.11111111111111D+00 0.11111111111111D+00
0.55555555555556D-01
xred 0.00000000000000D+00 0.00000000000000D+00 0.00000000000000D+00
0.25000000000000D+00 0.25000000000000D+00 0.25000000000000D+00
typat 1 1 2 2
wtk 0.49382716049383D-02 0.29629629629630D-01 0.29629629629630D-01
0.29629629629630D-01 0.29629629629630D-01 0.29629629629630D-01
0.59259259259259D-01 0.59259259259259D-01 0.29629629629630D-01
0.29629629629630D-01 0.59259259259259D-01 0.98765432098765D-02
0.49382716049383D-02 0.29629629629630D-01 0.29629629629630D-01
0.29629629629630D-01 0.29629629629630D-01 0.29629629629630D-01
0.59259259259259D-01 0.59259259259259D-01 0.29629629629630D-01
0.29629629629630D-01 0.59259259259259D-01 0.98765432098765D-02
0.24691358024691D-02 0.14814814814815D-01 0.14814814814815D-01
0.14814814814815D-01 0.14814814814815D-01 0.14814814814815D-01
0.29629629629630D-01 0.29629629629630D-01 0.14814814814815D-01
0.14814814814815D-01 0.29629629629630D-01 0.49382716049383D-02
xred 0.33333333333333D+00 0.66666666666667D+00 0.76304640000000D-03
0.66666666666667D+00 0.33333333333333D+00 0.50076304640000D+00
0.33333333333333D+00 0.66666666666667D+00 0.37532295381828D+00
0.66666666666667D+00 0.33333333333333D+00 0.87532295381828D+00
znucl 0.13000000000000D+02 0.33000000000000D+02
zion 0.30000000000000D+01 0.15000000000000D+02
@ -122,232 +130,418 @@
dimekb = 6 lmnmax= 6
Atom type= 1 pspso= 0 nekb= 6
iln lpsang iproj ekb(:)
1 0 1 5.7258697E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
1 0 1 5.8885347E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
0.0000000E+00 0.0000000E+00
2 0 2 0.0000000E+00 7.2613085E-01 0.0000000E+00 0.0000000E+00
2 0 2 0.0000000E+00 7.3482508E-01 0.0000000E+00 0.0000000E+00
0.0000000E+00 0.0000000E+00
3 1 1 0.0000000E+00 0.0000000E+00 6.1904197E+00 0.0000000E+00
3 1 1 0.0000000E+00 0.0000000E+00 6.3672286E+00 0.0000000E+00
0.0000000E+00 0.0000000E+00
4 1 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 9.1402167E-01
4 1 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 9.0486909E-01
0.0000000E+00 0.0000000E+00
5 2 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
-4.2295028E+00 0.0000000E+00
-2.1386447E+01 0.0000000E+00
6 2 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
-4.2295028E+00 0.0000000E+00
-2.1386447E+01 0.0000000E+00
Atom type= 2 pspso= 0 nekb= 6
iln lpsang iproj ekb(:)
1 0 1 7.5962430E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
1 0 1 7.4672672E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
0.0000000E+00 0.0000000E+00
2 0 2 0.0000000E+00 8.5680799E-01 0.0000000E+00 0.0000000E+00
2 0 2 0.0000000E+00 7.6196949E-01 0.0000000E+00 0.0000000E+00
0.0000000E+00 0.0000000E+00
3 1 1 0.0000000E+00 0.0000000E+00 5.7984534E+00 0.0000000E+00
3 1 1 0.0000000E+00 0.0000000E+00 5.2713754E+00 0.0000000E+00
0.0000000E+00 0.0000000E+00
4 1 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 1.1674694E+00
4 1 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 9.8735679E-01
0.0000000E+00 0.0000000E+00
5 2 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
-9.9016844E+00 0.0000000E+00
-1.0069942E+01 0.0000000E+00
6 2 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00
-9.9016844E+00 0.0000000E+00
-1.0069942E+01 0.0000000E+00
**** Database of total energy derivatives ****
Number of data blocks= 3
Total energy - # elements : 1
-0.10837174374351D+03 0.00000000000000D+00
-0.21658631214943D+03 0.00000000000000D+00
1st derivatives - # elements : 12
1st derivatives - # elements : 18
1 1 0.00000000000000D+00 0.00000000000000D+00
2 1 0.00000000000000D+00 0.00000000000000D+00
3 1 0.00000000000000D+00 0.00000000000000D+00
1 2 0.00000000000000D+00 0.00000000000000D+00
3 1 0.76644328914884D-03 0.00000000000000D+00
1 2 -0.17232929428188D-25 0.00000000000000D+00
2 2 0.00000000000000D+00 0.00000000000000D+00
3 2 0.00000000000000D+00 0.00000000000000D+00
1 5 0.41191700636311D-05 0.00000000000000D+00
2 5 0.41191700636311D-05 0.00000000000000D+00
3 5 0.41191700636311D-05 0.00000000000000D+00
1 6 0.00000000000000D+00 0.00000000000000D+00
2 6 0.00000000000000D+00 0.00000000000000D+00
3 6 0.00000000000000D+00 0.00000000000000D+00
3 2 0.76644328914884D-03 0.00000000000000D+00
1 3 0.00000000000000D+00 0.00000000000000D+00
2 3 0.00000000000000D+00 0.00000000000000D+00
3 3 -0.76573137416633D-03 0.00000000000000D+00
1 4 0.00000000000000D+00 0.00000000000000D+00
2 4 0.00000000000000D+00 0.00000000000000D+00
3 4 -0.76573137416633D-03 0.00000000000000D+00
1 7 0.65472473248897D-04 0.00000000000000D+00
2 7 0.65472473320377D-04 0.00000000000000D+00
3 7 0.66055494554740D-04 0.00000000000000D+00
1 8 0.00000000000000D+00 0.00000000000000D+00
2 8 0.00000000000000D+00 0.00000000000000D+00
3 8 0.00000000000000D+00 0.00000000000000D+00
2nd derivatives (non-stat.) - # elements : 171
2nd derivatives (non-stat.) - # elements : 351
qpt 0.00000000E+00 0.00000000E+00 0.00000000E+00 1.0
1 1 1 1 0.54656151650829D+01 0.00000000000000D+00
2 1 1 1 0.27328075825415D+01 0.00000000000000D+00
3 1 1 1 0.27328075825415D+01 0.00000000000000D+00
1 2 1 1 -0.54656372260875D+01 -0.24075777314484D-17
2 2 1 1 -0.27328186130438D+01 -0.40103792660003D-16
3 2 1 1 -0.27328186130438D+01 -0.37625191686587D-16
1 4 1 1 -0.58825094617143D+01 0.00000000000000D+00
2 4 1 1 0.00000000000000D+00 0.00000000000000D+00
1 1 1 1 0.50116112248406D+01 0.00000000000000D+00
2 1 1 1 -0.25057927308658D+01 0.00000000000000D+00
3 1 1 1 0.00000000000000D+00 0.00000000000000D+00
1 2 1 1 0.10046665913722D+00 0.16402246766316D-15
2 2 1 1 -0.50234157213748D-01 -0.14448196261881D-19
3 2 1 1 0.00000000000000D+00 0.00000000000000D+00
1 3 1 1 -0.34443758010162D+00 -0.82009827920584D-15
2 3 1 1 0.17221253391359D+00 0.11411183919112D-15
3 3 1 1 0.00000000000000D+00 0.00000000000000D+00
1 4 1 1 -0.47676537532066D+01 -0.11325691586535D-14
2 4 1 1 0.23837925191287D+01 -0.30542744659931D-15
3 4 1 1 0.00000000000000D+00 0.00000000000000D+00
1 1 2 1 0.27328075825415D+01 0.00000000000000D+00
2 1 2 1 0.54656151650829D+01 0.00000000000000D+00
3 1 2 1 0.27328075825415D+01 0.00000000000000D+00
1 2 2 1 -0.27328186130438D+01 -0.40103792660003D-16
2 2 2 1 -0.54656372260875D+01 0.40365795161962D-16
3 2 2 1 -0.27328186130438D+01 -0.16235264481166D-16
1 4 2 1 0.00000000000000D+00 0.00000000000000D+00
2 4 2 1 -0.58825094617143D+01 0.00000000000000D+00
1 6 1 1 -0.58058952784329D+01 0.00000000000000D+00
2 6 1 1 0.00000000000000D+00 0.00000000000000D+00
3 6 1 1 0.00000000000000D+00 0.00000000000000D+00
1 1 2 1 -0.25057927308658D+01 0.00000000000000D+00
2 1 2 1 0.50116112248406D+01 0.00000000000000D+00
3 1 2 1 0.00000000000000D+00 0.00000000000000D+00
1 2 2 1 -0.50233329572531D-01 -0.14448196261881D-19
2 2 2 1 0.10046665913722D+00 0.44851822443492D-16
3 2 2 1 0.00000000000000D+00 0.00000000000000D+00
1 3 2 1 0.17221879014129D+00 0.11411183919112D-15
2 3 2 1 -0.34443758010162D+00 0.13869441012349D-16
3 3 2 1 0.00000000000000D+00 0.00000000000000D+00
1 4 2 1 0.23838268765022D+01 -0.30542744659931D-15
2 4 2 1 -0.47676537532066D+01 -0.16334160457054D-15
3 4 2 1 0.00000000000000D+00 0.00000000000000D+00
1 1 3 1 0.27328075825415D+01 0.00000000000000D+00
2 1 3 1 0.27328075825415D+01 0.00000000000000D+00
3 1 3 1 0.54656151650829D+01 0.00000000000000D+00
1 2 3 1 -0.27328186130438D+01 -0.37625191686587D-16
2 2 3 1 -0.27328186130438D+01 -0.16235264481166D-16
3 2 3 1 -0.54656372260875D+01 -0.76379523084636D-17
1 6 2 1 0.00000000000000D+00 0.00000000000000D+00
2 6 2 1 -0.58057523408313D+01 0.00000000000000D+00
3 6 2 1 0.00000000000000D+00 0.00000000000000D+00
1 1 3 1 0.00000000000000D+00 0.00000000000000D+00
2 1 3 1 0.00000000000000D+00 0.00000000000000D+00
3 1 3 1 0.16271388610549D+02 0.00000000000000D+00
1 2 3 1 0.00000000000000D+00 0.00000000000000D+00
2 2 3 1 0.00000000000000D+00 0.00000000000000D+00
3 2 3 1 -0.27553868763415D+01 -0.28546714860387D-16
1 3 3 1 0.00000000000000D+00 0.00000000000000D+00
2 3 3 1 0.00000000000000D+00 0.00000000000000D+00
3 3 3 1 -0.80567232460562D+01 0.67723196481248D-14
1 4 3 1 0.00000000000000D+00 0.00000000000000D+00
2 4 3 1 0.00000000000000D+00 0.00000000000000D+00
3 4 3 1 -0.58825094617143D+01 0.00000000000000D+00
1 1 1 2 -0.54656372260875D+01 0.24075777314484D-17
2 1 1 2 -0.27328186130438D+01 0.40103792660003D-16
3 1 1 2 -0.27328186130438D+01 0.37625191686587D-16
1 2 1 2 0.54659641009566D+01 0.00000000000000D+00
2 2 1 2 0.27329820504783D+01 0.00000000000000D+00
3 2 1 2 0.27329820504783D+01 0.00000000000000D+00
1 4 1 2 -0.10938083698020D+03 0.00000000000000D+00
2 4 1 2 0.00000000000000D+00 0.00000000000000D+00
3 4 3 1 -0.54594879686315D+01 -0.59012754152453D-14
1 6 3 1 -0.34686603820622D-03 0.00000000000000D+00
2 6 3 1 -0.36892875638080D-03 0.00000000000000D+00
3 6 3 1 -0.46335081093053D+01 0.00000000000000D+00
1 1 1 2 0.10046665913722D+00 -0.16402246766316D-15
2 1 1 2 -0.50233329572531D-01 0.14448196261881D-19
3 1 1 2 0.00000000000000D+00 0.00000000000000D+00
1 2 1 2 0.50116112248406D+01 0.00000000000000D+00
2 2 1 2 -0.25057927308659D+01 0.00000000000000D+00
3 2 1 2 0.00000000000000D+00 0.00000000000000D+00
1 3 1 2 -0.47676537532066D+01 -0.44673736878815D-15
2 3 1 2 0.23838268765022D+01 -0.32233207605124D-16
3 3 1 2 0.00000000000000D+00 0.00000000000000D+00
1 4 1 2 -0.34443758010162D+00 -0.19559174275219D-17
2 4 1 2 0.17221879014129D+00 -0.23136094341199D-15
3 4 1 2 0.00000000000000D+00 0.00000000000000D+00
1 1 2 2 -0.27328186130437D+01 0.40103792660003D-16
2 1 2 2 -0.54656372260875D+01 -0.40365795161962D-16
3 1 2 2 -0.27328186130438D+01 0.16235264481166D-16
1 2 2 2 0.27329820504638D+01 0.00000000000000D+00
2 2 2 2 0.54659641009493D+01 0.00000000000000D+00
3 2 2 2 0.27329820504747D+01 0.00000000000000D+00
1 4 2 2 0.00000000000000D+00 0.00000000000000D+00
2 4 2 2 -0.10938083698020D+03 0.00000000000000D+00
1 6 1 2 -0.58057523408313D+01 0.00000000000000D+00
2 6 1 2 0.00000000000000D+00 0.00000000000000D+00
3 6 1 2 0.00000000000000D+00 0.00000000000000D+00
1 1 2 2 -0.50234157213748D-01 0.14448196261881D-19
2 1 2 2 0.10046665913722D+00 -0.44851822443492D-16
3 1 2 2 0.00000000000000D+00 0.00000000000000D+00
1 2 2 2 -0.25057927308659D+01 0.00000000000000D+00
2 2 2 2 0.50116112248406D+01 0.00000000000000D+00
3 2 2 2 0.00000000000000D+00 0.00000000000000D+00
1 3 2 2 0.23837925191287D+01 -0.32233207605124D-16
2 3 2 2 -0.47676537532066D+01 -0.93213901277161D-15
3 3 2 2 0.00000000000000D+00 0.00000000000000D+00
1 4 2 2 0.17221253391359D+00 -0.23136094341199D-15
2 4 2 2 -0.34443758010162D+00 0.52223988466181D-16
3 4 2 2 0.00000000000000D+00 0.00000000000000D+00
1 1 3 2 -0.27328186130438D+01 0.37625191686587D-16
2 1 3 2 -0.27328186130438D+01 0.16235264481166D-16
3 1 3 2 -0.54656372260874D+01 0.76379523084636D-17
1 2 3 2 0.27329820504674D+01 0.00000000000000D+00
2 2 3 2 0.27329820504747D+01 0.00000000000000D+00
3 2 3 2 0.54659641009348D+01 0.00000000000000D+00
1 6 2 2 0.00000000000000D+00 0.00000000000000D+00
2 6 2 2 -0.58058952784329D+01 0.00000000000000D+00
3 6 2 2 0.00000000000000D+00 0.00000000000000D+00
1 1 3 2 0.00000000000000D+00 0.00000000000000D+00
2 1 3 2 0.00000000000000D+00 0.00000000000000D+00
3 1 3 2 -0.27553868763415D+01 0.28546714860387D-16
1 2 3 2 0.00000000000000D+00 0.00000000000000D+00
2 2 3 2 0.00000000000000D+00 0.00000000000000D+00
3 2 3 2 0.16271388610549D+02 0.00000000000000D+00
1 3 3 2 0.00000000000000D+00 0.00000000000000D+00
2 3 3 2 0.00000000000000D+00 0.00000000000000D+00
3 3 3 2 -0.54594879686317D+01 -0.45892565916868D-14
1 4 3 2 0.00000000000000D+00 0.00000000000000D+00
2 4 3 2 0.00000000000000D+00 0.00000000000000D+00
3 4 3 2 -0.10938083698020D+03 0.00000000000000D+00
1 1 1 4 -0.58825094617143D+01 0.00000000000000D+00
2 1 1 4 0.00000000000000D+00 0.00000000000000D+00
3 4 3 2 -0.80567232460562D+01 -0.41747506055380D-14
1 6 3 2 -0.36892875638080D-03 0.00000000000000D+00
2 6 3 2 -0.34686603820622D-03 0.00000000000000D+00
3 6 3 2 -0.46335178623038D+01 0.00000000000000D+00
1 1 1 3 -0.34443758010162D+00 0.82009827920584D-15
2 1 1 3 0.17221879014129D+00 -0.11411183919112D-15
3 1 1 3 0.00000000000000D+00 0.00000000000000D+00
1 2 1 3 -0.47676537532066D+01 0.44673736878815D-15
2 2 1 3 0.23837925191287D+01 0.32233207605124D-16
3 2 1 3 0.00000000000000D+00 0.00000000000000D+00
1 3 1 3 0.50858913213669D+01 0.00000000000000D+00
2 3 1 3 -0.25427681308174D+01 0.00000000000000D+00
3 3 1 3 0.00000000000000D+00 0.00000000000000D+00
1 4 1 3 0.27668220159854D-01 0.12531294658537D-14
2 4 1 3 -0.13846259918125D-01 -0.13146923455487D-14
3 4 1 3 0.00000000000000D+00 0.00000000000000D+00
1 6 1 3 -0.10748620935622D+03 0.00000000000000D+00
2 6 1 3 0.00000000000000D+00 0.00000000000000D+00
3 6 1 3 0.00000000000000D+00 0.00000000000000D+00
1 1 2 3 0.17221253391359D+00 -0.11411183919112D-15
2 1 2 3 -0.34443758010162D+00 -0.13869441012349D-16
3 1 2 3 0.00000000000000D+00 0.00000000000000D+00
1 2 2 3 0.23838268765022D+01 0.32233207605124D-16
2 2 2 3 -0.47676537532066D+01 0.93213901277161D-15
3 2 2 3 0.00000000000000D+00 0.00000000000000D+00
1 3 2 3 -0.25427681308174D+01 0.00000000000000D+00
2 3 2 3 0.50858913213669D+01 0.00000000000000D+00
3 3 2 3 0.00000000000000D+00 0.00000000000000D+00
1 4 2 3 -0.13834110178029D-01 -0.13146923455487D-14
2 4 2 3 0.27668220159861D-01 0.20615961118798D-15
3 4 2 3 0.00000000000000D+00 0.00000000000000D+00
1 6 2 3 0.00000000000000D+00 0.00000000000000D+00
2 6 2 3 -0.10748679578919D+03 0.00000000000000D+00
3 6 2 3 0.00000000000000D+00 0.00000000000000D+00
1 1 3 3 0.00000000000000D+00 0.00000000000000D+00
2 1 3 3 0.00000000000000D+00 0.00000000000000D+00
3 1 3 3 -0.80567232460562D+01 -0.67723196481248D-14
1 2 3 3 0.00000000000000D+00 0.00000000000000D+00
2 2 3 3 0.00000000000000D+00 0.00000000000000D+00
3 2 3 3 -0.54594879686317D+01 0.45892565916868D-14
1 3 3 3 0.00000000000000D+00 0.00000000000000D+00
2 3 3 3 0.00000000000000D+00 0.00000000000000D+00
3 3 3 3 0.16219070090330D+02 0.00000000000000D+00
1 4 3 3 0.00000000000000D+00 0.00000000000000D+00
2 4 3 3 0.00000000000000D+00 0.00000000000000D+00
3 4 3 3 -0.27083774267528D+01 -0.54543486592300D-15
1 6 3 3 -0.47407283452596D-03 0.00000000000000D+00
2 6 3 3 -0.51423004706718D-03 0.00000000000000D+00
3 6 3 3 -0.10839079708602D+03 0.00000000000000D+00
1 1 1 4 -0.47676537532066D+01 0.11325691586535D-14
2 1 1 4 0.23838268765022D+01 0.30542744659931D-15
3 1 1 4 0.00000000000000D+00 0.00000000000000D+00
1 2 1 4 -0.10938083698020D+03 0.00000000000000D+00
2 2 1 4 0.00000000000000D+00 0.00000000000000D+00
1 2 1 4 -0.34443758010162D+00 0.19559174275219D-17
2 2 1 4 0.17221253391359D+00 0.23136094341199D-15
3 2 1 4 0.00000000000000D+00 0.00000000000000D+00
1 4 1 4 -0.25727776079728D+03 0.00000000000000D+00
2 4 1 4 0.85759253599094D+02 0.00000000000000D+00
3 4 1 4 0.85759253599094D+02 0.00000000000000D+00
1 1 2 4 0.00000000000000D+00 0.00000000000000D+00
2 1 2 4 -0.58825094617143D+01 0.00000000000000D+00
1 3 1 4 0.27668220159854D-01 -0.12531294658537D-14
2 3 1 4 -0.13834110178029D-01 0.13146923455487D-14
3 3 1 4 0.00000000000000D+00 0.00000000000000D+00
1 4 1 4 0.50858913213669D+01 0.00000000000000D+00
2 4 1 4 -0.25427681308211D+01 0.00000000000000D+00
3 4 1 4 0.00000000000000D+00 0.00000000000000D+00
1 6 1 4 -0.10748679578919D+03 0.00000000000000D+00
2 6 1 4 0.00000000000000D+00 0.00000000000000D+00
3 6 1 4 0.00000000000000D+00 0.00000000000000D+00
1 1 2 4 0.23837925191287D+01 0.30542744659931D-15
2 1 2 4 -0.47676537532066D+01 0.16334160457054D-15
3 1 2 4 0.00000000000000D+00 0.00000000000000D+00
1 2 2 4 0.00000000000000D+00 0.00000000000000D+00
2 2 2 4 -0.10938083698020D+03 0.00000000000000D+00
1 2 2 4 0.17221879014129D+00 0.23136094341199D-15
2 2 2 4 -0.34443758010162D+00 -0.52223988466181D-16
3 2 2 4 0.00000000000000D+00 0.00000000000000D+00
1 4 2 4 0.85759253599094D+02 0.00000000000000D+00
2 4 2 4 -0.25727776079728D+03 0.00000000000000D+00
3 4 2 4 0.85759253599094D+02 0.00000000000000D+00
1 3 2 4 -0.13846259918125D-01 0.13146923455487D-14
2 3 2 4 0.27668220159861D-01 -0.20615961118798D-15
3 3 2 4 0.00000000000000D+00 0.00000000000000D+00
1 4 2 4 -0.25427681308211D+01 0.00000000000000D+00
2 4 2 4 0.50858913213524D+01 0.00000000000000D+00
3 4 2 4 0.00000000000000D+00 0.00000000000000D+00
1 6 2 4 0.00000000000000D+00 0.00000000000000D+00
2 6 2 4 -0.10748620935622D+03 0.00000000000000D+00
3 6 2 4 0.00000000000000D+00 0.00000000000000D+00
1 1 3 4 0.00000000000000D+00 0.00000000000000D+00
2 1 3 4 0.00000000000000D+00 0.00000000000000D+00
3 1 3 4 -0.58825094617143D+01 0.00000000000000D+00
3 1 3 4 -0.54594879686315D+01 0.59012754152453D-14
1 2 3 4 0.00000000000000D+00 0.00000000000000D+00
2 2 3 4 0.00000000000000D+00 0.00000000000000D+00
3 2 3 4 -0.10938083698020D+03 0.00000000000000D+00
1 4 3 4 0.85759253599094D+02 0.00000000000000D+00
2 4 3 4 0.85759253599094D+02 0.00000000000000D+00
3 4 3 4 -0.25727776079728D+03 0.00000000000000D+00
1 1 1 5 0.28228557364799D-11 0.00000000000000D+00
2 1 1 5 -0.89239907285652D-12 0.00000000000000D+00
3 1 1 5 -0.27079047973326D-11 0.00000000000000D+00
1 2 1 5 -0.24877465445701D-11 0.00000000000000D+00
2 2 1 5 -0.20266878091792D-11 0.00000000000000D+00
3 2 1 5 0.24158037330327D-11 0.00000000000000D+00
1 4 1 5 0.13877787807814D-16 0.00000000000000D+00
2 4 1 5 0.13877787807814D-16 0.00000000000000D+00
3 4 1 5 0.00000000000000D+00 0.00000000000000D+00
1 5 1 5 0.12287048596131D+01 0.00000000000000D+00
2 5 1 5 0.60195088661441D+00 0.00000000000000D+00
3 5 1 5 0.60195088676524D+00 0.00000000000000D+00
1 6 1 5 0.14237515300324D-09 0.00000000000000D+00
2 6 1 5 0.59942698703675D-10 0.00000000000000D+00
3 6 1 5 0.47951213520733D-09 0.00000000000000D+00
1 1 2 5 0.29283207176124D-11 0.00000000000000D+00
2 1 2 5 -0.70517425180612D-12 0.00000000000000D+00
3 1 2 5 -0.23392612191914D-11 0.00000000000000D+00
1 2 2 5 -0.62596824793324D-11 0.00000000000000D+00
2 2 2 5 -0.41478719497312D-12 0.00000000000000D+00
3 2 2 5 0.99156510955395D-12 0.00000000000000D+00
1 4 2 5 -0.86736173798840D-18 0.00000000000000D+00
2 4 2 5 0.13877787807814D-16 0.00000000000000D+00
3 4 2 5 -0.86736173798840D-18 0.00000000000000D+00
1 5 2 5 0.60195050357532D+00 0.00000000000000D+00
2 5 2 5 0.12287042524644D+01 0.00000000000000D+00
3 5 2 5 0.60195050387501D+00 0.00000000000000D+00
1 6 2 5 -0.47967480221043D-09 0.00000000000000D+00
2 6 2 5 -0.12978717767451D-11 0.00000000000000D+00
3 6 2 5 0.47966014711242D-09 0.00000000000000D+00
1 1 3 5 0.26873816148593D-11 0.00000000000000D+00
2 1 3 5 -0.76461562372691D-12 0.00000000000000D+00
3 1 3 5 -0.25265118056986D-11 0.00000000000000D+00
1 2 3 5 -0.76784512933381D-12 0.00000000000000D+00
2 2 3 5 0.24701824957306D-11 0.00000000000000D+00
3 2 3 5 0.35527904037572D-11 0.00000000000000D+00
1 4 3 5 -0.13877787807814D-16 0.00000000000000D+00
2 4 3 5 0.00000000000000D+00 0.00000000000000D+00
3 4 3 5 0.34694469519536D-17 0.00000000000000D+00
1 5 3 5 0.60195051248144D+00 0.00000000000000D+00
2 5 3 5 0.60195051263031D+00 0.00000000000000D+00
3 5 3 5 0.12287042730071D+01 0.00000000000000D+00
1 6 3 5 -0.47956546317019D-09 0.00000000000000D+00
2 6 3 5 0.59953809737242D-10 0.00000000000000D+00
3 6 3 5 -0.14259581359854D-09 0.00000000000000D+00
1 1 1 6 -0.74436071440215D-12 0.00000000000000D+00
2 1 1 6 -0.82517386554337D+00 0.00000000000000D+00
3 1 1 6 -0.82517386554405D+00 0.00000000000000D+00
1 2 1 6 0.20186301748798D-11 0.00000000000000D+00
2 2 1 6 0.82517994635743D+00 0.00000000000000D+00
3 2 1 6 0.82517994635907D+00 0.00000000000000D+00
1 4 1 6 0.22154452437637D+01 0.00000000000000D+00
2 4 1 6 -0.22154452437637D+01 0.00000000000000D+00
3 4 1 6 -0.22154452437637D+01 0.00000000000000D+00
1 5 1 6 0.21538778603087D-05 0.00000000000000D+00
2 5 1 6 0.68560675432586D-05 0.00000000000000D+00
3 5 1 6 0.68560676483190D-05 0.00000000000000D+00
1 6 1 6 0.83263468268518D+00 0.00000000000000D+00
2 6 1 6 0.31091937153946D-09 0.00000000000000D+00
3 6 1 6 0.30571219214871D-10 0.00000000000000D+00
1 1 2 6 -0.82517197367788D+00 0.00000000000000D+00
2 1 2 6 0.33810830534086D-12 0.00000000000000D+00
3 1 2 6 -0.82517197367961D+00 0.00000000000000D+00
1 2 2 6 0.82518211854766D+00 0.00000000000000D+00
2 2 2 6 -0.87101398655443D-12 0.00000000000000D+00
3 2 2 6 0.82518211855304D+00 0.00000000000000D+00
1 4 2 6 -0.22154445137525D+01 0.00000000000000D+00
2 4 2 6 0.22154445137525D+01 0.00000000000000D+00
3 4 2 6 -0.22154445137525D+01 0.00000000000000D+00
1 5 2 6 -0.49976855688950D-05 0.00000000000000D+00
2 5 2 6 0.31880763999524D-06 0.00000000000000D+00
3 5 2 6 -0.49976855541639D-05 0.00000000000000D+00
1 6 2 6 0.31093168230347D-09 0.00000000000000D+00
2 6 2 6 0.83263485346754D+00 0.00000000000000D+00
3 6 2 6 -0.31092891092531D-09 0.00000000000000D+00
1 1 3 6 -0.82517197270895D+00 0.00000000000000D+00
2 1 3 6 -0.82517197270996D+00 0.00000000000000D+00
3 1 3 6 0.98178028881851D-12 0.00000000000000D+00
1 2 3 6 0.82518209788181D+00 0.00000000000000D+00
2 2 3 6 0.82518209788581D+00 0.00000000000000D+00
3 2 3 6 -0.24652331685131D-11 0.00000000000000D+00
1 4 3 6 -0.22154445198347D+01 0.00000000000000D+00
2 4 3 6 -0.22154445198347D+01 0.00000000000000D+00
3 4 3 6 0.22154445198347D+01 0.00000000000000D+00
1 5 3 6 -0.50267115292274D-05 0.00000000000000D+00
2 5 3 6 -0.50267113920672D-05 0.00000000000000D+00
3 5 3 6 0.29287135951919D-06 0.00000000000000D+00
1 6 3 6 0.30570566005772D-10 0.00000000000000D+00
2 6 3 6 -0.31092828348942D-09 0.00000000000000D+00
3 6 3 6 0.83263485148265D+00 0.00000000000000D+00
3 2 3 4 -0.80567232460562D+01 0.41747506055380D-14
1 3 3 4 0.00000000000000D+00 0.00000000000000D+00
2 3 3 4 0.00000000000000D+00 0.00000000000000D+00
3 3 3 4 -0.27083774267528D+01 0.54543486592300D-15
1 4 3 4 0.00000000000000D+00 0.00000000000000D+00
2 4 3 4 0.00000000000000D+00 0.00000000000000D+00
3 4 3 4 0.16219070090330D+02 0.00000000000000D+00
1 6 3 4 -0.51423004706718D-03 0.00000000000000D+00
2 6 3 4 -0.47407283452596D-03 0.00000000000000D+00
3 6 3 4 -0.10839174131339D+03 0.00000000000000D+00
1 1 1 6 -0.58058952784329D+01 0.00000000000000D+00
2 1 1 6 0.00000000000000D+00 0.00000000000000D+00
3 1 1 6 -0.34686603820622D-03 0.00000000000000D+00
1 2 1 6 -0.58057523408313D+01 0.00000000000000D+00
2 2 1 6 0.00000000000000D+00 0.00000000000000D+00
3 2 1 6 -0.36892875638080D-03 0.00000000000000D+00
1 3 1 6 -0.10748620935622D+03 0.00000000000000D+00
2 3 1 6 0.00000000000000D+00 0.00000000000000D+00
3 3 1 6 -0.47407283452596D-03 0.00000000000000D+00
1 4 1 6 -0.10748679578919D+03 0.00000000000000D+00
2 4 1 6 0.00000000000000D+00 0.00000000000000D+00
3 4 1 6 -0.51423004706718D-03 0.00000000000000D+00
1 6 1 6 -0.39661438623846D+03 0.00000000000000D+00
2 6 1 6 -0.19830756710076D+03 0.00000000000000D+00
3 6 1 6 0.00000000000000D+00 0.00000000000000D+00
1 1 2 6 0.00000000000000D+00 0.00000000000000D+00
2 1 2 6 -0.58057523408313D+01 0.00000000000000D+00
3 1 2 6 -0.36892875638080D-03 0.00000000000000D+00
1 2 2 6 0.00000000000000D+00 0.00000000000000D+00
2 2 2 6 -0.58058952784329D+01 0.00000000000000D+00
3 2 2 6 -0.34686603820622D-03 0.00000000000000D+00
1 3 2 6 0.00000000000000D+00 0.00000000000000D+00
2 3 2 6 -0.10748679578919D+03 0.00000000000000D+00
3 3 2 6 -0.51423004706718D-03 0.00000000000000D+00
1 4 2 6 0.00000000000000D+00 0.00000000000000D+00
2 4 2 6 -0.10748620935622D+03 0.00000000000000D+00
3 4 2 6 -0.47407283452596D-03 0.00000000000000D+00
1 6 2 6 -0.19830756710076D+03 0.00000000000000D+00
2 6 2 6 -0.39661438623846D+03 0.00000000000000D+00
3 6 2 6 0.00000000000000D+00 0.00000000000000D+00
1 1 3 6 0.00000000000000D+00 0.00000000000000D+00
2 1 3 6 0.00000000000000D+00 0.00000000000000D+00
3 1 3 6 -0.46335081093053D+01 0.00000000000000D+00
1 2 3 6 0.00000000000000D+00 0.00000000000000D+00
2 2 3 6 0.00000000000000D+00 0.00000000000000D+00
3 2 3 6 -0.46335178623038D+01 0.00000000000000D+00
1 3 3 6 0.00000000000000D+00 0.00000000000000D+00
2 3 3 6 0.00000000000000D+00 0.00000000000000D+00
3 3 3 6 -0.10839079708602D+03 0.00000000000000D+00
1 4 3 6 0.00000000000000D+00 0.00000000000000D+00
2 4 3 6 0.00000000000000D+00 0.00000000000000D+00
3 4 3 6 -0.10839174131339D+03 0.00000000000000D+00
1 6 3 6 0.00000000000000D+00 0.00000000000000D+00
2 6 3 6 0.00000000000000D+00 0.00000000000000D+00
3 6 3 6 -0.11088479096066D+03 0.00000000000000D+00
1 1 1 7 0.70963996000716D+00 0.00000000000000D+00
2 1 1 7 -0.70963995279751D+00 0.00000000000000D+00
3 1 1 7 0.10019903202978D+01 0.00000000000000D+00
1 2 1 7 -0.70963998726236D+00 0.00000000000000D+00
2 2 1 7 0.70964000192332D+00 0.00000000000000D+00
3 2 1 7 0.10019902761765D+01 0.00000000000000D+00
1 3 1 7 0.85696104189567D+00 0.00000000000000D+00
2 3 1 7 -0.85696101735437D+00 0.00000000000000D+00
3 3 1 7 -0.10020381688060D+01 0.00000000000000D+00
1 4 1 7 -0.85696313914696D+00 0.00000000000000D+00
2 4 1 7 0.85696311642393D+00 0.00000000000000D+00
3 4 1 7 -0.10019871960253D+01 0.00000000000000D+00
1 6 1 7 0.00000000000000D+00 0.00000000000000D+00
2 6 1 7 0.00000000000000D+00 0.00000000000000D+00
3 6 1 7 0.20775794413421D+01 0.00000000000000D+00
1 7 1 7 0.31744342509117D+01 0.00000000000000D+00
2 7 1 7 0.69503804814845D+00 0.00000000000000D+00
3 7 1 7 0.38006468346602D+00 0.00000000000000D+00
1 8 1 7 0.46282353154313D-07 0.00000000000000D+00
2 8 1 7 0.69935727840326D-09 0.00000000000000D+00
3 8 1 7 0.29436508708899D-08 0.00000000000000D+00
1 1 2 7 -0.70963616690121D+00 0.00000000000000D+00
2 1 2 7 0.70963617957002D+00 0.00000000000000D+00
3 1 2 7 0.10019870454817D+01 0.00000000000000D+00
1 2 2 7 0.70963615142170D+00 0.00000000000000D+00
2 2 2 7 -0.70963613686147D+00 0.00000000000000D+00
3 2 2 7 0.10019870087388D+01 0.00000000000000D+00
1 3 2 7 -0.85698193127040D+00 0.00000000000000D+00
2 3 2 7 0.85698211381947D+00 0.00000000000000D+00
3 3 2 7 -0.10017292098201D+01 0.00000000000000D+00
1 4 2 7 0.85698345331315D+00 0.00000000000000D+00
2 4 2 7 -0.85698329242036D+00 0.00000000000000D+00
3 4 2 7 -0.10016783787673D+01 0.00000000000000D+00
1 6 2 7 0.00000000000000D+00 0.00000000000000D+00
2 6 2 7 0.00000000000000D+00 0.00000000000000D+00
3 6 2 7 0.20777940043425D+01 0.00000000000000D+00
1 7 2 7 0.69503806554440D+00 0.00000000000000D+00
2 7 2 7 0.31742747760971D+01 0.00000000000000D+00
3 7 2 7 0.38008783561042D+00 0.00000000000000D+00
1 8 2 7 -0.42900540163078D-07 0.00000000000000D+00
2 8 2 7 0.15008400837652D-08 0.00000000000000D+00
3 8 2 7 0.46345890910407D-09 0.00000000000000D+00
1 1 3 7 -0.88330341136729D-08 0.00000000000000D+00
2 1 3 7 0.31054910714036D-07 0.00000000000000D+00
3 1 3 7 -0.18599302440831D+01 0.00000000000000D+00
1 2 3 7 -0.89767498189759D-08 0.00000000000000D+00
2 2 3 7 0.26791355077901D-07 0.00000000000000D+00
3 2 3 7 -0.18599301777508D+01 0.00000000000000D+00
1 3 3 7 -0.53993181490340D-06 0.00000000000000D+00
2 3 3 7 0.72829988520136D-06 0.00000000000000D+00
3 3 3 7 0.18606579889713D+01 0.00000000000000D+00
1 4 3 7 -0.54557644492426D-06 0.00000000000000D+00
2 4 3 7 0.70057373200230D-06 0.00000000000000D+00
3 4 3 7 0.18595495907394D+01 0.00000000000000D+00
1 6 3 7 0.00000000000000D+00 0.00000000000000D+00
2 6 3 7 -0.13877787807814D-16 0.00000000000000D+00
3 6 3 7 -0.41332798583618D+01 0.00000000000000D+00
1 7 3 7 0.38007641018697D+00 0.00000000000000D+00
2 7 3 7 0.38007639093476D+00 0.00000000000000D+00
3 7 3 7 0.35104453333314D+01 0.00000000000000D+00
1 8 3 7 -0.82806692045901D-09 0.00000000000000D+00
2 8 3 7 -0.46845472064886D-08 0.00000000000000D+00
3 8 3 7 0.26002159375814D-08 0.00000000000000D+00
1 1 1 8 -0.58500665315924D+00 0.00000000000000D+00
2 1 1 8 0.58500664829225D+00 0.00000000000000D+00
3 1 1 8 0.98477413846136D-05 0.00000000000000D+00
1 2 1 8 -0.58499492724099D+00 0.00000000000000D+00
2 2 1 8 0.58499492876995D+00 0.00000000000000D+00
3 2 1 8 0.10772233304925D-04 0.00000000000000D+00
1 3 1 8 0.58485482432839D+00 0.00000000000000D+00
2 3 1 8 -0.58485482545985D+00 0.00000000000000D+00
3 3 1 8 -0.20218026574209D-04 0.00000000000000D+00
1 4 1 8 0.58489602712605D+00 0.00000000000000D+00
2 4 1 8 -0.58489603150418D+00 0.00000000000000D+00
3 4 1 8 -0.19527662014497D-04 0.00000000000000D+00
1 6 1 8 -0.20121139430030D+01 0.00000000000000D+00
2 6 1 8 0.20121139430030D+01 0.00000000000000D+00
3 6 1 8 0.25907201640502D-04 0.00000000000000D+00
1 7 1 8 -0.11581244468696D-04 0.00000000000000D+00
2 7 1 8 0.72917745380777D-05 0.00000000000000D+00
3 7 1 8 -0.64077512614418D-05 0.00000000000000D+00
1 8 1 8 0.86131626664923D+00 0.00000000000000D+00
2 8 1 8 0.35867466339562D-09 0.00000000000000D+00
3 8 1 8 -0.47103763800701D-09 0.00000000000000D+00
1 1 2 8 0.33775697367639D+00 0.00000000000000D+00
2 1 2 8 0.33773642742461D+00 0.00000000000000D+00
3 1 2 8 0.11882402064427D-04 0.00000000000000D+00
1 2 2 8 0.33773643656638D+00 0.00000000000000D+00
2 2 2 8 0.33775697970955D+00 0.00000000000000D+00
3 2 2 8 0.11875074326006D-04 0.00000000000000D+00
1 3 2 8 -0.33771894588513D+00 0.00000000000000D+00
2 3 2 8 -0.33766603576622D+00 0.00000000000000D+00
3 3 2 8 -0.17854460691912D-04 0.00000000000000D+00
1 4 2 8 -0.33765052642599D+00 0.00000000000000D+00
2 4 2 8 -0.33770337740085D+00 0.00000000000000D+00
3 4 2 8 -0.17843702688913D-04 0.00000000000000D+00
1 6 2 8 0.34850229910885D+01 0.00000000000000D+00
2 6 2 8 0.34850229910885D+01 0.00000000000000D+00
3 6 2 8 0.32472394598930D-04 0.00000000000000D+00
1 7 2 8 0.15117602349530D-04 0.00000000000000D+00
2 7 2 8 -0.20099025321874D-04 0.00000000000000D+00
3 7 2 8 -0.51083324123702D-05 0.00000000000000D+00
1 8 2 8 0.27767421368206D-09 0.00000000000000D+00
2 8 2 8 0.86132942573761D+00 0.00000000000000D+00
3 8 2 8 0.79617907524528D-07 0.00000000000000D+00
1 1 3 8 -0.40970634470968D+00 0.00000000000000D+00
2 1 3 8 -0.40972184024257D+00 0.00000000000000D+00
3 1 3 8 0.22354467542340D-04 0.00000000000000D+00
1 2 3 8 0.40970634685164D+00 0.00000000000000D+00
2 2 3 8 0.40972183773250D+00 0.00000000000000D+00
3 2 3 8 0.22367687028680D-04 0.00000000000000D+00
1 3 3 8 -0.49477961755219D+00 0.00000000000000D+00
2 3 3 8 -0.49486496146374D+00 0.00000000000000D+00
3 3 3 8 -0.78009000059358D-04 0.00000000000000D+00
1 4 3 8 0.49477954667015D+00 0.00000000000000D+00
2 4 3 8 0.49486459369277D+00 0.00000000000000D+00
3 4 3 8 -0.78001308413672D-04 0.00000000000000D+00
1 6 3 8 0.00000000000000D+00 0.00000000000000D+00
2 6 3 8 0.00000000000000D+00 0.00000000000000D+00
3 6 3 8 -0.95469400659479D-04 0.00000000000000D+00
1 7 3 8 0.16749096183752D-04 0.00000000000000D+00
2 7 3 8 0.81233833149822D-05 0.00000000000000D+00
3 7 3 8 0.11207510405112D-04 0.00000000000000D+00
1 8 3 8 -0.47005567012946D-09 0.00000000000000D+00
2 8 3 8 0.48419012406604D-07 0.00000000000000D+00
3 8 3 8 0.12396575600915D+01 0.00000000000000D+00
List of bloks and their characteristics
Total energy - # elements : 1
1st derivatives - # elements : 12
1st derivatives - # elements : 18
2nd derivatives (non-stat.) - # elements : 171
2nd derivatives (non-stat.) - # elements : 351
qpt 0.00000000E+00 0.00000000E+00 0.00000000E+00 1.0

View File

@ -584,14 +584,17 @@ class DdbFile(TextFile, Has_Structure, NotebookWriter):
return self.has_emacro_terms(select=select) and self.has_bec_terms(select=select)
@lru_cache(typed=True)
def has_at_least_one_atomic_perturbation(self):
def has_at_least_one_atomic_perturbation(self, qpt=None):
"""
True if the DDB file contains info on (at least one) atomic perturbation.
If the coordinates of a q point are provided only the specified qpt will be considered.
"""
natom = len(self.structure)
ap_list = list(itertools.product(range(1, 4), range(1, natom + 1)))
for qpt, df in self.computed_dynmat.items():
for qpt_dm, df in self.computed_dynmat.items():
if qpt is not None and qpt_dm != qpt: continue
index_set = set(df.index)
for p1 in ap_list:
for p2 in ap_list:
@ -1296,14 +1299,19 @@ class DdbFile(TextFile, Has_Structure, NotebookWriter):
return DielectricTensorGenerator.from_files(os.path.join(task.workdir, "run.abo_PHBST.nc"),
os.path.join(task.workdir, "anaddb.nc"))
def anaget_elastic(self, has_gamma_ph=False, has_dde=False, asr=2, chneut=1,
def anaget_elastic(self, relaxed_ion="automatic", internal_strain="automatic", piezo="automatic", asr=2, chneut=1,
mpi_procs=1, workdir=None, manager=None, verbose=0, retpath=False):
"""
Call anaddb to compute the elastic and piezoelectric properties.
Args:
has_gamma_ph: True if phonons at gamma are present in the DDB.
has_dde= True if DDE perturbations are present in the DDB
relaxed_ion: Allowed values are [True, False, "automatic"]. Defaults to "automatic".
True if phonons at gamma are present in the DDB and relax-ion tensor should be calculated.
internal_strain: Allowed values are [True, False, "automatic"]. Defaults to "automatic".
True if the internal strain perturbations perturbations are present in the DDB.
piezo: Allowed values are [True, False, "automatic"]. Defaults to "automatic".
True if the piezoelectric perturbations perturbations are present in the DDB and the piezoelectric
tensor should be calculated.
asr: Anaddb input variable. See official documentation.
chneut: Anaddb input variable. See official documentation.
manager: |TaskManager| object. If None, the object is initialized from the configuration file
@ -1318,7 +1326,27 @@ class DdbFile(TextFile, Has_Structure, NotebookWriter):
if not self.has_strain_terms():
cprint("Strain perturbations are not available in DDB: %s" % self.filepath, "yellow")
inp = AnaddbInput.dfpt(self.structure, strain=True, has_gamma_ph=has_gamma_ph, dde=has_dde, dte=False, asr=asr,
if relaxed_ion == "automatic":
relaxed_ion = self.has_at_least_one_atomic_perturbation(qpt=(0, 0, 0))
if relaxed_ion and not self.has_at_least_one_atomic_perturbation(qpt=(0, 0, 0)):
cprint("atomic_pert is True but no atomic perturbations are available in DDB: %s" % self.filepath, "yellow")
if internal_strain == "automatic":
internal_strain = self.has_internalstrain_terms()
if internal_strain and not self.has_internalstrain_terms():
cprint("internal_strain is True but no internal strain perturbations are available in "
"DDB: %s" % self.filepath, "yellow")
if piezo == "automatic":
piezo = self.has_piezoelectric_terms()
if piezo and not self.has_piezoelectric_terms():
cprint("piezo is True but no piezoelectric perturbations are available in DDB: %s" % self.filepath, "yellow")
inp = AnaddbInput.dfpt(self.structure, strain=True, has_atomic_pert=relaxed_ion, dde=self.has_emacro_terms(),
piezo=piezo, has_stress=self.cart_stress_tensor is not None, dte=False, asr=asr,
chneut=chneut)
task = AnaddbTask.temp_shell_task(inp, ddb_node=self.filepath, mpi_procs=mpi_procs, workdir=workdir, manager=manager)

View File

@ -363,13 +363,13 @@ class DdbTest(AbipyTest):
#assert ddb.has_internalstrain_terms(select="all")
#assert ddb.has_piezoelectric_terms_terms(select="all")
#assert ddb.has_at_least_one_atomic_perturbation()
e = ddb.anaget_elastic(has_dde=True, has_gamma_ph=True, verbose=2)
self.assert_almost_equal(e.elastic_relaxed[0,0,0,0], 120.41874336082199)
self.assert_almost_equal(e.piezo_relaxed[0,1,2], -0.030391022487094244)
e = ddb.anaget_elastic(verbose=2)
self.assert_almost_equal(e.elastic_relaxed[0,0,0,0], 122.23496623977118)
self.assert_almost_equal(e.piezo_relaxed[2,2,2], -0.041496005147475756)
assert repr(e); assert str(e)
assert e.to_string(verbose=2)
assert e.structure.formula == "Al1 As1"
assert e.structure.formula == "Al2 As2"
assert e.elastic_relaxed._repr_html_()
#assert hasattr(e.elastic_relaxed.compliance_tensor, "_repr_html_")
@ -382,7 +382,7 @@ class DdbTest(AbipyTest):
edata_fit = e.fit_to_structure()
edata_ieee = e.convert_to_ieee()
df = e.get_voigt_dataframe("elastic_relaxed")
self.assert_almost_equal(df.T[(0, 0)][0], 120.41874336082199)
self.assert_almost_equal(df.T[(0, 0)][0], 122.23496623977118)
df = e.get_elast_properties_dataframe(tensor_names="elastic_relaxed", fit_to_structure=True)