3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-22 04:13:47 +01:00

Restructed test directory

The names of the test suites have been prefixed with an underscore
to avoid name conflicts with corresponding modules.
Also an attempt to make a scan of all tests has been made by
creating a 'test_all.py' script that is supposed to discover all
test cases and run them. Unfortunately, this does not work as expected
because many tests use input files assumed to be found in the current
directory, which is not true if the tests are run from a different
(parent) directory.

This can be fixed by either forcing the change of directory (but it
seems that 'unittest' does not have this functionality) or
prepending input file names with the current module directory.
This commit is contained in:
Oleg E. Peil 2015-08-10 11:32:08 +02:00 committed by Michel Ferrero
parent 6ab916d2d0
commit db16a8438d
71 changed files with 8173 additions and 0 deletions

View File

@ -0,0 +1 @@
*.pyc

View File

@ -0,0 +1,27 @@
r"""
Module defining a custom TestCase with extra functionality.
"""
import unittest
import numpy as np
class ArrayTestCase(unittest.TestCase):
"""
Custom TestCase class supporting array equality.
"""
def __init__(self, *args, **kwargs):
"""
Initializes a custom equality function for comparing numpy arrays.
"""
super(ArrayTestCase, self).__init__(*args, **kwargs)
self.addTypeEqualityFunc(np.ndarray, self.is_arrays_equal)
def is_arrays_equal(self, arr1, arr2, msg=None):
"""
Raises self.failureException is arrays arr1 and arr2
are not equal.
"""
if not np.allclose(arr1, arr2):
raise self.failureException(msg)

View File

@ -0,0 +1,29 @@
[General]
[Group 1]
SHELLS = 1 2
EMIN = -7.6
EMAX = 3.0
[Group 2]
SHELLS = 3
EMIN = -1.6
EMAX = 2.0
[Shell 1]
LSHELL = 2
IONS = 5..8
[Shell 2]
LSHELL = 1
IONS = 1..4
RTRANSFORM = 0.0 1.0 0.0
1.0 0.0 0.0
0.0 0.0 1.0
[Shell 3]
LSHELL = 3
IONS = 1..4

View File

@ -0,0 +1,7 @@
[Shell 1]
LSHELL = 2
IONS = 5..8
EMIN = -7.6
EMAX = 3.0

View File

@ -0,0 +1,10 @@
[General]
EFERMI = 0.7
[Shell 1]
LSHELL = 2
IONS = 5..8
[Shell 2]
IONS = 9..20
LSHELL = 1

View File

@ -0,0 +1,3 @@
[Shell 1]
LSHELL = 2
IONS = 1..4

View File

@ -0,0 +1,25 @@
[General]
[Group 1]
SHELLS = 1 2
EMIN = -7.6
EMAX = 3.0
[Group 2]
SHELLS = 3
EMIN = -1.6
EMAX = 2.0
[Shell 1]
LSHELL = 2
IONS = 5..8
[Shell 2]
LSHELL = 1
IONS = 1..4
RTRANSFORM = 0.0 1.0 0.0
1.0 0.0 0.0
0.0 0.0 1.0

View File

@ -0,0 +1,24 @@
[General]
[Group 1]
SHELLS = 1 2
EMIN = -7.6
EMAX = 3.0
[Shell 1]
LSHELL = 2
IONS = 5..8
[Shell 2]
LSHELL = 1
IONS = 1..4
RTRANSFORM = 0.0 1.0 0.0
1.0 0.0 0.0
0.0 0.0 1.0
[Shell 3]
LSHELL = 3
IONS = 1..4

View File

@ -0,0 +1,13 @@
[General]
[Group 1]
SHELLS = 1 2
[Shell 1]
LSHELL = 2
IONS = 5..8
[Shell 2]
LSHELL = 1
IONS = 1..4

View File

@ -0,0 +1,4 @@
[General]
[Group 1]

View File

@ -0,0 +1,5 @@
[General]
[Group 1]
[Shell x]

View File

@ -0,0 +1,7 @@
[General]
[Group 1]
[Shell 1]
LSHELL = 2

View File

@ -0,0 +1,17 @@
[General]
[Group 1]
SHELLS = 1 2
[Shell 1]
LSHELL = 2
IONS = 5..8
[Shell 2]
LSHELL = 1
IONS = 1..4
RTRANSFORM = 0.0 1.0 0.0
1.0 0.0 0.0
0.0 0.0 1.0

View File

@ -0,0 +1 @@
PYTHONPATH=../../python:../../c:$PYTHONPATH python $1

View File

@ -0,0 +1,12 @@
[General]
EFERMI = 0.7
[Group 1]
SHELLS = 1
[Shell 1]
LSHELL = 2
[Shell 2]
IONS = 9..20
LSHELL = 1

View File

@ -0,0 +1,44 @@
r"""
Tests of 'parse_groups()' defined in ConfigParameters class
"""
import arraytest
import numpy as np
from inpconf import ConfigParameters
################################################################################
#
# TestParseGroups
#
################################################################################
class TestParseGroups(arraytest.ArrayTestCase):
"""
Function:
def parse_groups(self)
Scenarios:
- **if** a [Group] section does not contain all required parameters
**raise** Exception
- **if** a correct group section is defined **return** a list of dictionaries
"""
# Scenario 1
def test_gr_required(self):
conf_pars = ConfigParameters('parse_groups_1.cfg')
err_mess = "Required parameter"
with self.assertRaisesRegexp(Exception, err_mess):
conf_pars.parse_groups()
# Scenario 2
def test_example(self):
conf_pars = ConfigParameters('example.cfg')
conf_pars.parse_groups()
res = conf_pars.groups
expected = [{'index': 1, 'shells': [1, 2], 'emin': -7.6, 'emax': 3.0,
'normalize': True, 'normion': False},
{'index': 2, 'shells': [3], 'emin': -1.6, 'emax': 2.0,
'normalize': True, 'normion': False}]
self.assertListEqual(res, expected)

View File

@ -0,0 +1,9 @@
r"""
Test suite for module `inpconf.py`.
"""
import unittest
if __name__ == '__main__':
suite = unittest.TestLoader().discover('./')
unittest.TextTestRunner(verbosity=2, buffer=True).run(suite)

View File

@ -0,0 +1,107 @@
r"""
Tests of 'parse_input()' defined in ConfigParameters class
"""
import arraytest
import numpy as np
from inpconf import ConfigParameters
################################################################################
#
# TestParseInput
#
################################################################################
class TestParseInput(arraytest.ArrayTestCase):
"""
Function:
def parse_input(self)
Scenarios:
- **if** no [Group] section exists and more than one [Shell] section
is given **raise** AssertionError
- **if** no [Group] section exists but the single [Shell] section
does not contain required group information **raise** KeyError
- **if** a shell referenced in a group does not exist
**raise** Exception
- **if** not all defined shells are referenced in the groups
**raise** Exception
- **if** all sections are parsed error-free check that the output
is correct
- correct example with a single shell and no explicit groups
"""
# Scenario 1
def test_no_group(self):
conf_pars = ConfigParameters('input_test_1.cfg')
err_mess = "At least one group"
with self.assertRaisesRegexp(AssertionError, err_mess):
conf_pars.parse_input()
# Scenario 2
def test_gr_required(self):
conf_pars = ConfigParameters('input_test_2.cfg')
err_mess = "One \[Shell\] section is"
with self.assertRaisesRegexp(KeyError, err_mess):
conf_pars.parse_input()
# Scenario 3
def test_no_shell(self):
conf_pars = ConfigParameters('input_test_3.cfg')
err_mess = "Shell 3 referenced in"
with self.assertRaisesRegexp(Exception, err_mess):
conf_pars.parse_input()
# Scenario 4
def test_shell_outside_groups(self):
conf_pars = ConfigParameters('input_test_4.cfg')
err_mess = "Some shells are not inside"
with self.assertRaisesRegexp(AssertionError, err_mess):
conf_pars.parse_input()
# Scenario 5
def test_example(self):
conf_pars = ConfigParameters('example.cfg')
conf_pars.parse_input()
# with open('parse_input.output.test', 'wt') as f:
# f.write("Shells:\n")
# f.write(conf_pars.shells.__repr__() + '\n\n')
# f.write("Groups:\n")
# f.write(conf_pars.groups.__repr__() + '\n')
res = "Shells:\n"
res += conf_pars.shells.__repr__() + '\n\n'
res += "Groups:\n"
res += conf_pars.groups.__repr__()
expected = r"""Shells:
[{'ion_list': array([4, 5, 6, 7]), 'user_index': 1, 'lshell': 2}, {'tmatrix': array([[ 0., 1., 0.],
[ 1., 0., 0.],
[ 0., 0., 1.]]), 'ion_list': array([0, 1, 2, 3]), 'user_index': 2, 'lshell': 1}, {'ion_list': array([0, 1, 2, 3]), 'user_index': 3, 'lshell': 3}]
Groups:
[{'normalize': True, 'index': 1, 'shells': [0, 1], 'normion': False, 'emax': 3.0, 'emin': -7.6}, {'normalize': True, 'index': 2, 'shells': [2], 'normion': False, 'emax': 2.0, 'emin': -1.6}]"""
self.assertEqual(res, expected)
# Scenario 6
def test_example_no_groups(self):
conf_pars = ConfigParameters('example_nogroup.cfg')
conf_pars.parse_input()
# with open('parse_input.output.test', 'wt') as f:
# f.write("Shells:\n")
# f.write(conf_pars.shells.__repr__() + '\n\n')
# f.write("Groups:\n")
# f.write(conf_pars.groups.__repr__() + '\n')
res = "Shells:\n"
res += conf_pars.shells.__repr__() + '\n\n'
res += "Groups:\n"
res += conf_pars.groups.__repr__()
expected = r"""Shells:
[{'ion_list': array([4, 5, 6, 7]), 'user_index': 1, 'lshell': 2}]
Groups:
[{'normalize': True, 'index': '1', 'emin': -7.6, 'emax': 3.0, 'normion': False, 'shells': [0]}]"""
self.assertEqual(res, expected)

View File

@ -0,0 +1,48 @@
r"""
Tests of 'parse_parameter_set()' defined in ConfigParameters class
"""
import arraytest
import numpy as np
from inpconf import ConfigParameters
################################################################################
#
# TestParseParameterSet
#
################################################################################
class TestParseParameterSet(arraytest.ArrayTestCase):
"""
Function:
def parse_parameter_set(self, section, param_set, excpetion=False)
Scenarios:
- **if** config-file section [Shell 1] contains 'LSHELL = 2' **and**
'lshell' and 'ions' are in `param_set` **return** a dictionary {'lshell': 2}
- **if** config-file section [Shell 1] contains 'LSHELL = 2' **and**
'lshell' and 'ions' are in `param_set` and
exception=True **raise** Exception
"""
def setUp(self):
"""
"""
# Dummy ConfigParameters object
self.cpars = ConfigParameters('test1.cfg')
# Scenario 1
def test_sh_required(self):
param_set = self.cpars.sh_required # contains 'lshell' and 'ions'
res = self.cpars.parse_parameter_set('Shell 1', param_set)
expected = {'lshell': 2}
self.assertDictEqual(res, expected)
# Scenario 2
def test_sh_required_exception(self):
section = 'Shell 1'
param_set = self.cpars.sh_required # contains 'lshell' and 'ions'
err_mess = "Required parameter" # .* in section [%s]"%(section)
with self.assertRaisesRegexp(Exception, err_mess):
self.cpars.parse_parameter_set(section, param_set, exception=True)

View File

@ -0,0 +1,76 @@
r"""
Tests of 'parse_shells()' defined in ConfigParameters class
"""
import arraytest
import numpy as np
from inpconf import ConfigParameters
################################################################################
#
# TestParseShells
#
################################################################################
class TestParseShells(arraytest.ArrayTestCase):
"""
Function:
def parse_shells(self)
Scenarios:
- **if** config-file does not contain a valid [Shell] section
**raise** AssertionError
- **if** a [Shell] section does not contain a valid index
**raise** ValueError
- **if** a [Shell] section does not contain all required parameters
**raise** Exception
- **if** two correct [Shell] sections are defined
**return** a dictionary of shell parameters
"""
# Scenario 1
def test_no_shell(self):
conf_pars = ConfigParameters('parse_shells_1.cfg')
err_mess = "No projected shells"
with self.assertRaisesRegexp(AssertionError, err_mess):
conf_pars.parse_shells()
# Scenario 2
def test_bad_indices(self):
conf_pars = ConfigParameters('parse_shells_2.cfg')
err_mess = "Failed to extract shell indices"
with self.assertRaisesRegexp(ValueError, err_mess):
conf_pars.parse_shells()
# Scenario 3
def test_sh_required(self):
conf_pars = ConfigParameters('parse_shells_3.cfg')
err_mess = "Required parameter"
with self.assertRaisesRegexp(Exception, err_mess):
conf_pars.parse_shells()
# Scenario 4
def test_two_shells(self):
conf_pars = ConfigParameters('parse_shells_4.cfg')
conf_pars.parse_shells()
res = conf_pars.shells
expected = [{'user_index': 1, 'lshell': 2, 'ion_list': np.array([4, 5, 6, 7])},
{'user_index': 2, 'lshell': 1, 'ion_list': np.array([0, 1, 2, 3]),
'tmatrix': np.array([[ 0., 1., 0.], [ 1., 0., 0.], [ 0., 0., 1.]])}]
# ...lousy way to test equality of two dictionaries containing numpy arrays
self.assertEqual(len(res), len(expected))
arr = res[0].pop('ion_list')
arr_exp = expected[0].pop('ion_list')
self.assertEqual(arr, arr_exp)
arr = res[1].pop('ion_list')
arr_exp = expected[1].pop('ion_list')
self.assertEqual(arr, arr_exp)
arr = res[1].pop('tmatrix')
arr_exp = expected[1].pop('tmatrix')
self.assertEqual(arr, arr_exp)
self.assertListEqual(res, expected)

View File

@ -0,0 +1,149 @@
r"""
Tests of special parseres defined in ConfigParameters class
"""
import arraytest
import numpy as np
from inpconf import ConfigParameters
################################################################################
#
# TestParseStringLogical
#
################################################################################
class TestParseStringLogical(arraytest.ArrayTestCase):
"""
Function:
def parse_string_logical(self, par_str)
Scenarios:
- **if** par_str == 'True' **return** True
- **if** par_str == 'False' **return** False
- **if** par_str == '0' **raise** assertion
"""
def setUp(self):
"""
"""
# Dummy ConfigParameters object
self.cpars = ConfigParameters('test1.cfg')
# Scenario 1
def test_true(self):
res = self.cpars.parse_string_logical('True')
self.assertEqual(res, True)
# Scenario 2
def test_false(self):
res = self.cpars.parse_string_logical('False')
self.assertEqual(res, False)
# Scenario 3
def test_incorrect(self):
with self.assertRaises(AssertionError):
self.cpars.parse_string_logical('0')
################################################################################
#
# TestParseStringIonList
#
################################################################################
class TestParseStringIonList(arraytest.ArrayTestCase):
"""
Function:
def parse_string_ion_list(self, par_str)
Scenarios:
- **if** par_str == '5 6 7 8' **return** array([4, 5, 6, 7])
- **if** par_str == 'Ni' **raise** NotImplementedError
- **if** par_str == '0 1' **raise** AssertionError
- **if** par_str == '5..8' **return** array([4, 5, 6, 7])
- **if** par_str == '8..5' **raise** AssertionError
"""
def setUp(self):
"""
"""
# Dummy ConfigParameters object
self.cpars = ConfigParameters('test1.cfg')
# Scenario 1
def test_simple_list(self):
expected = np.array([4, 5, 6, 7])
res = self.cpars.parse_string_ion_list('5 6 7 8')
self.assertEqual(res, expected)
# Scenario 2
def test_atomic_symbol(self):
with self.assertRaises(NotImplementedError):
self.cpars.parse_string_ion_list('Ni')
# Scenario 3
def test_out_of_bounds(self):
err_mess = "Lowest ion index is"
with self.assertRaisesRegexp(AssertionError, err_mess):
self.cpars.parse_string_ion_list('0 1')
# Scenario 4
def test_list_range(self):
expected = np.array([4, 5, 6, 7])
res = self.cpars.parse_string_ion_list('5..8')
self.assertEqual(res, expected)
# Scenario 5
def test_range_wrong_order(self):
err_mess = "First index of the range"
with self.assertRaisesRegexp(AssertionError, err_mess):
self.cpars.parse_string_ion_list('8..5')
################################################################################
#
# TestParseStringTmatrix
#
################################################################################
class TestParseStringTmatrix(arraytest.ArrayTestCase):
"""
Function:
def parse_string_tmatrix(self, par_str)
Parses a matrix defined as a set of rows in the conf-file.
Scenarios:
- **if** number of columns is not the same **raise** AssertionError
- **if** complex matrix is read and the number of columns is odd
**raise** AssertionError
- **if** a correct matrix is given **return** an array
"""
def setUp(self):
"""
"""
# Dummy ConfigParameters object
self.cpars = ConfigParameters('test1.cfg')
# Scenario 1
def test_number_of_columns(self):
par_str = "1.0 0.0\n1.0"
err_mess = "Number of columns"
with self.assertRaisesRegexp(AssertionError, err_mess):
self.cpars.parse_string_tmatrix(par_str, real=True)
# Scenario 2
def test_complex_matrix_odd(self):
par_str = "1.0 0.0 2.0 1.0 0.0\n0.0 1.0 2.0 3.0 -1.0"
err_mess = "Complex matrix must"
with self.assertRaisesRegexp(AssertionError, err_mess):
self.cpars.parse_string_tmatrix(par_str, real=False)
# Scenario 3
def test_complex_matrix(self):
par_str = "1.0 0.0 2.0 -3.0\n0.0 1.0 -1.0 1.0"
res = self.cpars.parse_string_tmatrix(par_str, real=False)
expected = np.array([[1.0, 2.0 - 3.0j], [1.0j, -1.0 + 1.0j]])
self.assertEqual(res, expected)

View File

@ -0,0 +1,2 @@
*.pyc
*.test

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,259 @@
0000000: 0700 0000 0100 0000 0100 0000 0300 0000 ................
0000010: 0900 0000 0900 0000 0000 0000 0900 0000 ................
0000020: 0000 0000 0000 0040 c09b 42b4 952c 303e .......@..B..,0>
0000030: 0000 0000 0000 0000 876a f460 f6ec d93f .........j.`...?
0000040: 0000 0000 0000 0000 80ab 01a5 b7c9 d93f ...............?
0000050: 0000 0000 0000 0000 dc82 5188 ebf7 d93f ..........Q....?
0000060: 0000 0000 0000 0000 389e aae4 5c59 a4be ........8...\Y..
0000070: 0000 0000 0000 0000 f0cb ad9d 48d2 9bbe ............H...
0000080: 0000 0000 0000 0000 08ee b871 1214 773e ...........q..w>
0000090: 0000 0000 0000 0000 5095 ab03 b4cc 99be ........P.......
00000a0: 0000 0000 0000 0000 00e2 0cec 4018 8e3e ............@..>
00000b0: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
00000c0: 68c3 e962 e8c3 42be 0000 0000 0000 0000 h..b..B.........
00000d0: c907 d02d 79b5 c83f 0000 0000 0000 0000 ...-y..?........
00000e0: 6d5c b47d afec e4bf 0000 0000 0000 0000 m\.}............
00000f0: 8871 d914 bb3d dd3f 0000 0000 0000 0000 .q...=.?........
0000100: a09e cab7 fba1 99be 0000 0000 0000 0000 ................
0000110: 1011 02ea 4ed4 a5be 0000 0000 0000 0000 ....N...........
0000120: b8bd 64b5 faea a5be 0000 0000 0000 0000 ..d.............
0000130: 98d6 110d 5dec 733e 0000 0000 0000 0000 ....].s>........
0000140: 20bf c505 81ca 953e 0000 0000 0000 0000 ......>........
0000150: 0000 0000 0000 0040 5ede f7c4 28c9 513e .......@^...(.Q>
0000160: 0000 0000 0000 0000 5f10 eece 9bc5 e7bf ........_.......
0000170: 0000 0000 0000 0000 c756 8fc2 d323 bc3f .........V...#.?
0000180: 0000 0000 0000 0000 6226 1a03 4747 e43f ........b&..GG.?
0000190: 0000 0000 0000 0000 88cf 411b faee b23e ..........A....>
00001a0: 0000 0000 0000 0000 d059 0ef7 3322 bc3e .........Y..3".>
00001b0: 0000 0000 0000 0000 906f ecbd 13bf 9b3e .........o.....>
00001c0: 0000 0000 0000 0000 0048 dc80 c623 79be .........H...#y.
00001d0: 0000 0000 0000 0000 98af a7f0 cc0a 80be ................
00001e0: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
00001f0: 7732 c238 fc5d d4bf 0000 0000 0000 0000 w2.8.]..........
0000200: af10 22fe 0157 1e3e 0000 0000 0000 0000 .."..W.>........
0000210: b6f2 3804 5f94 19be 0000 0000 0000 0000 ..8._...........
0000220: f3fa 220d f74a 10be 0000 0000 0000 0000 .."..J..........
0000230: 9050 2512 1143 713e 0000 0000 0000 0000 .P%..Cq>........
0000240: 70d3 c7a3 9414 713e 0000 0000 0000 0000 p.....q>........
0000250: 102c bb6e a8fd 123e 0000 0000 0000 0000 .,.n...>........
0000260: 8804 1ca7 2cef 703e 0000 0000 0000 0000 ....,.p>........
0000270: 00e7 3a91 6f8c 0b3e 0000 0000 0000 0000 ..:.o..>........
0000280: 0000 0000 0000 0040 f494 55cd 093c abbe .......@..U..<..
0000290: 0000 0000 0000 0000 9368 0c94 3992 b5be .........h..9...
00002a0: 0000 0000 0000 0000 31db 0ceb 4592 b13e ........1...E..>
00002b0: 0000 0000 0000 0000 4a33 08f3 8b2f aa3e ........J3.../.>
00002c0: 0000 0000 0000 0000 4bd8 9f87 3736 d5bf ........K...76..
00002d0: 0000 0000 0000 0000 d028 1b47 86da d5bf .........(.G....
00002e0: 0000 0000 0000 0000 7983 970b 9a0a 10be ........y.......
00002f0: 0000 0000 0000 0000 3d51 3b73 82d8 d5bf ........=Q;s....
0000300: 0000 0000 0000 0000 5ee2 3953 96be eabd ........^.9S....
0000310: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
0000320: e02d e04c 16cc a3be 0000 0000 0000 0000 .-.L............
0000330: 45d9 4cd2 8e29 a1be 0000 0000 0000 0000 E.L..)..........
0000340: a6be 872b d81d aebe 0000 0000 0000 0000 ...+............
0000350: 6261 dc48 428c a5be 0000 0000 0000 0000 ba.HB...........
0000360: 4e2b 9eaa 4723 e13f 0000 0000 0000 0000 N+..G#.?........
0000370: 7dab 254c f2bb d0bf 0000 0000 0000 0000 }.%L............
0000380: 3614 5bd6 5785 77be 0000 0000 0000 0000 6.[.W.w.........
0000390: dc11 2b1c 7a8f d0bf 0000 0000 0000 0000 ..+.z...........
00003a0: bacd a52a 3e27 f33d 0000 0000 0000 0000 ...*>'.=........
00003b0: 0000 0000 0000 0040 3ec2 a914 b349 953e .......@>....I.>
00003c0: 0000 0000 0000 0000 e1e1 30f2 ec27 b1be ..........0..'..
00003d0: 0000 0000 0000 0000 f9fa cf80 b262 a33e .............b.>
00003e0: 0000 0000 0000 0000 c30d 0bea fff7 b03e ...............>
00003f0: 0000 0000 0000 0000 ddb7 83f6 7181 5fbf ............q._.
0000400: 0000 0000 0000 0000 7cb5 f3a7 1dde e2bf ........|.......
0000410: 0000 0000 0000 0000 04ec d82c 5973 f73d ...........,Ys.=
0000420: 0000 0000 0000 0000 2589 b733 caef e23f ........%..3...?
0000430: 0000 0000 0000 0000 b680 c91e 7c87 7e3e ............|.~>
0000440: 0000 0000 0000 0000 8399 6cf2 a7a8 733a ..........l...s:
0000450: a226 c082 8d99 a2be 0000 0000 0000 0000 .&..............
0000460: 4f75 9af5 f751 88be 0000 0000 0000 0000 Ou...Q..........
0000470: c87f 8c77 6f11 8c3e 0000 0000 0000 0000 ...wo..>........
0000480: 634e 55db dffe 88be 0000 0000 0000 0000 cNU.............
0000490: b9a2 7a78 99f2 33be 0000 0000 0000 0000 ..zx..3.........
00004a0: 6232 6dee 00ec 763e 0000 0000 0000 0000 b2m...v>........
00004b0: 34f6 8e31 ebb1 a3bf 0000 0000 0000 0000 4..1............
00004c0: b0e1 85b7 93be 75be 0000 0000 0000 0000 ......u.........
00004d0: fca1 4ac0 516b ea3f 0000 0000 0000 0000 ..J.Qk.?........
00004e0: ead9 7db9 a7a8 733a 2051 d326 ab04 b63e ..}...s: Q.&...>
00004f0: 0000 0000 0000 0000 a664 a63a b204 a6be .........d.:....
0000500: 0000 0000 0000 0000 9a14 a1cc cd1a ad3e ...............>
0000510: 0000 0000 0000 0000 c317 f9d9 0bc9 763e ..............v>
0000520: 0000 0000 0000 0000 1a6c 522f 33ef 73be .........lR/3.s.
0000530: 0000 0000 0000 0000 0e69 5a77 ef3f 613e .........iZw.?a>
0000540: 0000 0000 0000 0000 83d3 00cf 74a4 e4bf ............t...
0000550: 0000 0000 0000 0000 e0c9 1246 8398 663e ...........F..f>
0000560: 0000 0000 0000 0000 df05 97c4 fdcd a8bf ................
0000570: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
0000580: 5865 652e d78d 543e 0000 0000 0000 0000 Xee...T>........
0000590: e287 40f4 d20f e63f 0000 0000 0000 0000 ..@....?........
00005a0: 6015 14f3 d20f e63f 0000 0000 0000 0000 `......?........
00005b0: 1f46 1b02 2ad0 953e 0000 0000 0000 0000 .F..*..>........
00005c0: a896 501e cc76 adbe 0000 0000 0000 0000 ..P..v..........
00005d0: 50e1 ce66 d74e a9be 0000 0000 0000 0000 P..f.N..........
00005e0: 68c6 cb41 12c4 94be 0000 0000 0000 0000 h..A............
00005f0: b8b6 a59a 2725 b03e 0000 0000 0000 0000 ....'%.>........
0000600: 000c e03e d4e6 723e 0000 0000 0000 0000 ...>..r>........
0000610: 0000 0000 0000 0040 5034 3525 9915 1d3e .......@P45%...>
0000620: 0000 0000 0000 0000 0eb1 b04c a169 8b3e ...........L.i.>
0000630: 0000 0000 0000 0000 15a6 44c3 d2bb 8c3e ..........D....>
0000640: 0000 0000 0000 0000 358d 6630 0564 edbf ........5.f0.d..
0000650: 0000 0000 0000 0000 f093 7bd3 66dd a93e ..........{.f..>
0000660: 0000 0000 0000 0000 300e e949 11a8 7d3e ........0..I..}>
0000670: 0000 0000 0000 0000 4e4d eb99 4625 69be ........NM..F%i.
0000680: 0000 0000 0000 0000 7065 6266 62dd aabe ........pebfb...
0000690: 0000 0000 0000 0000 7a8f 27f1 7c5e 653e ........z.'.|^e>
00006a0: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
00006b0: 86a7 8f83 5c29 64be 0000 0000 0000 0000 ....\)d.........
00006c0: 6105 908f 5ec9 e23f 0000 0000 0000 0000 a...^..?........
00006d0: 3010 7490 5ec9 e2bf 0000 0000 0000 0000 0.t.^...........
00006e0: f3a7 bf6b 3ebc 39be 0000 0000 0000 0000 ...k>.9.........
00006f0: a054 44ce 55ef 573e 0000 0000 0000 0000 .TD.U.W>........
0000700: 3061 3567 33aa a53e 0000 0000 0000 0000 0a5g3..>........
0000710: 2024 2b9b e650 843e 0000 0000 0000 0000 $+..P.>........
0000720: d8a7 4cf5 ad7e 6abe 0000 0000 0000 0000 ..L..~j.........
0000730: d869 203f 9533 a2be 0000 0000 0000 0000 .i ?.3..........
0000740: 0000 0000 0000 0040 6bf4 6d7e 31b5 b03f .......@k.m~1..?
0000750: 0000 0000 0000 0000 3219 ab9d 1f41 96be ........2....A..
0000760: 0000 0000 0000 0000 b926 d998 ffe0 9f3e .........&.....>
0000770: 0000 0000 0000 0000 c77d 8dee 2ae1 b83e .........}..*..>
0000780: 0000 0000 0000 0000 7076 1727 a6a1 653e ........pv.'..e>
0000790: 0000 0000 0000 0000 c8e3 69f1 3f54 cbbf ..........i.?T..
00007a0: 0000 0000 0000 0000 bc51 aadf 8db5 b4bf .........Q......
00007b0: 0000 0000 0000 0000 8421 5e6d b864 653e .........!^m.de>
00007c0: 0000 0000 0000 0000 a45c 97d6 47ef c13f .........\..G..?
00007d0: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
00007e0: 580c fc1b 6050 b43e 0000 0000 0000 0000 X...`P.>........
00007f0: e1dd 2899 963d b9be 0000 0000 0000 0000 ..(..=..........
0000800: f098 804f 9cee babe 0000 0000 0000 0000 ...O............
0000810: bbba a80f 6b53 9c3e 0000 0000 0000 0000 ....kS.>........
0000820: cdc5 748c 3631 e0bf 0000 0000 0000 0000 ..t.61..........
0000830: 2af0 1da2 580a a13e 0000 0000 0000 0000 *...X..>........
0000840: f85a ee26 9852 843e 0000 0000 0000 0000 .Z.&.R.>........
0000850: 31c5 468c 3631 e03f 0000 0000 0000 0000 1.F.61.?........
0000860: 9299 7dec f414 86be 0000 0000 0000 0000 ..}.............
0000870: 822f 4855 5555 e53f 028b fb0b 3c8e 67be ./HUUU.?....<.g.
0000880: 0000 0000 0000 0000 e6de 49e1 241d a63f ..........I.$..?
0000890: 0000 0000 0000 0000 fa1c 05de 241d a63f ............$..?
00008a0: 0000 0000 0000 0000 34d5 928c b580 34be ........4.....4.
00008b0: 0000 0000 0000 0000 00d6 8b99 0461 023e .............a.>
00008c0: 0000 0000 0000 0000 be96 7d4c 60c9 5dbe ..........}L`.].
00008d0: 0000 0000 0000 0000 c03e 78c4 5826 42be .........>x.X&B.
00008e0: 0000 0000 0000 0000 0020 b091 40d5 21be ......... ..@.!.
00008f0: 0000 0000 0000 0000 8092 f420 8b45 293e ........... .E)>
0000900: 0000 0000 0000 0000 2e74 7c22 caad df39 .........t|"...9
0000910: 9135 b7cd 1aca 98bf 0000 0000 0000 0000 .5..............
0000920: 6b78 558f e98a 953e 0000 0000 0000 0000 kxU....>........
0000930: 5791 b997 d4a5 743e 0000 0000 0000 0000 W.....t>........
0000940: 4d7a d5de d758 8abe 0000 0000 0000 0000 Mz...X..........
0000950: c8eb 2725 a124 40be 0000 0000 0000 0000 ..'%.$@.........
0000960: 0e7b 0b34 09a5 c83f 0000 0000 0000 0000 .{.4...?........
0000970: 1374 66b3 dd45 c2bf 0000 0000 0000 0000 .tf..E..........
0000980: 9cad bd36 5b30 4abe 0000 0000 0000 0000 ...6[0J.........
0000990: 22ca 2329 4da6 cf3f 0000 0000 0000 0000 ".#)M..?........
00009a0: a908 7df2 2a10 b633 4102 b43d f7df bf3e ..}.*..3A..=...>
00009b0: 0000 0000 0000 0000 d321 5412 a30f 78be .........!T...x.
00009c0: 0000 0000 0000 0000 be26 a002 bcdf 643e .........&....d>
00009d0: 0000 0000 0000 0000 1a71 c094 33d1 6a3e .........q..3.j>
00009e0: 0000 0000 0000 0000 d8c4 c761 63d6 3a3e ...........ac.:>
00009f0: 0000 0000 0000 0000 f428 8c8f 9387 cb3e .........(.....>
0000a00: 0000 0000 0000 0000 959c e520 beb6 afbf ........... ....
0000a10: 0000 0000 0000 0000 5cac baff e1c3 3a3e ........\.....:>
0000a20: 0000 0000 0000 0000 3604 e0c7 994f a2bf ........6....O..
0000a30: 0000 0000 0000 0000 8081 c5a2 1f01 0000 ................
0000a40: 28c4 2e02 16af 583e 0000 0000 0000 0000 (.....X>........
0000a50: 0ffd a93a a81a 713e 0000 0000 0000 0000 ...:..q>........
0000a60: 5e9a f9f0 614e 803e 0000 0000 0000 0000 ^...aN.>........
0000a70: 82fc d823 ff71 673e 0000 0000 0000 0000 ...#.qg>........
0000a80: 8a5f 1480 3d19 d2bf 0000 0000 0000 0000 ._..=...........
0000a90: c0c4 bdfa 0b27 833e 0000 0000 0000 0000 .....'.>........
0000aa0: 802d 5ea3 1560 653e 0000 0000 0000 0000 .-^..`e>........
0000ab0: 7295 957f 3d19 d2bf 0000 0000 0000 0000 r...=...........
0000ac0: 40fa 65d6 bd01 73be 0000 0000 0000 0000 @.e...s.........
0000ad0: 0000 0000 0000 0040 4e7a c103 c082 c7bd .......@Nz......
0000ae0: 0000 0000 0000 0000 fe64 e1e0 da19 afbf .........d......
0000af0: 0000 0000 0000 0000 ddf4 52d5 f436 b0bf ..........R..6..
0000b00: 0000 0000 0000 0000 e2d5 34c7 96bc afbf ..........4.....
0000b10: 0000 0000 0000 0000 0017 aab8 55ff 70be ............U.p.
0000b20: 0000 0000 0000 0000 589f c883 5b70 703e ........X...[pp>
0000b30: 0000 0000 0000 0000 7039 f1f7 45b0 a23e ........p9..E..>
0000b40: 0000 0000 0000 0000 88a2 4a66 36fa 613e ..........Jf6.a>
0000b50: 0000 0000 0000 0000 3026 f8db ef44 99be ........0&...D..
0000b60: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
0000b70: 3ab1 0ba7 a58d d2bd 0000 0000 0000 0000 :...............
0000b80: c804 25ad 7e1f d0bf 0000 0000 0000 0000 ..%.~...........
0000b90: 4bbc 7b17 11ee d43f 0000 0000 0000 0000 K.{....?........
0000ba0: 4057 bff4 a604 b3bf 0000 0000 0000 0000 @W..............
0000bb0: 204f 5c0e 7187 5d3e 0000 0000 0000 0000 O\.q.]>........
0000bc0: 6070 df46 86ab 61be 0000 0000 0000 0000 `p.F..a.........
0000bd0: 40e4 5596 c4f6 b2be 0000 0000 0000 0000 @.U.............
0000be0: 003e 6579 2fc2 463e 0000 0000 0000 0000 .>ey/.F>........
0000bf0: 500b 4582 321f aa3e 0000 0000 0000 0000 P.E.2..>........
0000c00: 0000 0000 0000 0040 06c8 13a4 8c3a a63d .......@.....:.=
0000c10: 0000 0000 0000 0000 75d4 3257 e329 bb3f ........u.2W.).?
0000c20: 0000 0000 0000 0000 9b49 12ad 2322 c43f .........I..#".?
0000c30: 0000 0000 0000 0000 a2cc ac0f d9ca d0bf ................
0000c40: 0000 0000 0000 0000 d8ec a498 2321 67be ............#!g.
0000c50: 0000 0000 0000 0000 e8f4 36bb 3418 613e ..........6.4.a>
0000c60: 0000 0000 0000 0000 e08d cf0e c0c9 913e ...............>
0000c70: 0000 0000 0000 0000 f0c4 1ee7 d94e 4f3e .............NO>
0000c80: 0000 0000 0000 0000 20a2 909f 5b09 78be ........ ...[.x.
0000c90: 0000 0000 0000 0000 0000 0000 0000 0040 ...............@
0000ca0: 2a69 653b ad47 11be 0000 0000 0000 0000 *ie;.G..........
0000cb0: cede b402 68eb 463e 0000 0000 0000 0000 ....h.F>........
0000cc0: 3870 f49b c4e9 42be 0000 0000 0000 0000 8p....B.........
0000cd0: 7a5a 85f4 c17f 7dbe 0000 0000 0000 0000 zZ....}.........
0000ce0: b4bd abe6 dea9 afbd 0000 0000 0000 0000 ................
0000cf0: 303f 810e 3a8d 4d3e 0000 0000 0000 0000 0?..:.M>........
0000d00: 56c1 caac 92eb 103f 0000 0000 0000 0000 V......?........
0000d10: 90ea 6654 0d81 4dbe 0000 0000 0000 0000 ..fT..M.........
0000d20: 64dc 70c8 7b05 e2bf 0000 0000 0000 0000 d.p.{...........
0000d30: 0000 0000 0000 0040 881e 655a 1470 193e .......@..eZ.p.>
0000d40: 0000 0000 0000 0000 5c83 cc86 f7c5 a0be ........\.......
0000d50: 0000 0000 0000 0000 97ef ee3f c5d5 a43e ...........?...>
0000d60: 0000 0000 0000 0000 68b0 b504 dde5 7a3e ........h.....z>
0000d70: 0000 0000 0000 0000 2cba e388 789d 55be ........,...x.U.
0000d80: 0000 0000 0000 0000 f8cf 5c01 9a90 453e ..........\...E>
0000d90: 0000 0000 0000 0000 d030 93fe 8c13 e73f .........0.....?
0000da0: 0000 0000 0000 0000 b035 f3eb 43a0 453e .........5..C.E>
0000db0: 0000 0000 0000 0000 0c87 8334 9f14 093f ...........4...?
0000dc0: 0000 0000 0000 0000 2401 9267 ed96 9e11 ........$..g....
0000dd0: 1453 f0fd 5952 b1be 0000 0000 0000 0000 .S..YR..........
0000de0: c09b f917 e482 733e 0000 0000 0000 0000 ......s>........
0000df0: 38a0 a3a4 8b34 70be 0000 0000 0000 0000 8....4p.........
0000e00: 9f13 40bf ee7c 953e 0000 0000 0000 0000 ..@..|.>........
0000e10: c064 795f 3853 dcbf 0000 0000 0000 0000 .dy_8S..........
0000e20: 82db 8bbd c448 e0bf 0000 0000 0000 0000 .....H..........
0000e30: 00d9 583c 9511 13be 0000 0000 0000 0000 ..X<............
0000e40: 7ed6 1219 5f6a e0bf 0000 0000 0000 0000 ~..._j..........
0000e50: f062 5384 fbe4 4a3e 0000 0000 0000 0000 .bS...J>........
0000e60: fca3 76c4 d096 9e11 56a9 ac12 fc7f 5b3e ..v.....V.....[>
0000e70: 0000 0000 0000 0000 7479 84d6 0789 833e ........ty.....>
0000e80: 0000 0000 0000 0000 6eab 07b9 1af0 73be ........n.....s.
0000e90: 0000 0000 0000 0000 1d62 1157 7be7 69be .........b.W{.i.
0000ea0: 0000 0000 0000 0000 70d4 0b85 7ebb e5bf ........p...~...
0000eb0: 0000 0000 0000 0000 0e44 6738 50e2 ce3f .........Dg8P..?
0000ec0: 0000 0000 0000 0000 a033 dbb1 7275 89be .........3..ru..
0000ed0: 0000 0000 0000 0000 7a0a 264c 8815 d63f ........z.&L...?
0000ee0: 0000 0000 0000 0000 48be 232f 416d 6dbe ........H.#/Amm.
0000ef0: 0000 0000 0000 0000 6c89 eea2 ca96 9e11 ........l.......
0000f00: d229 6415 ccd1 56be 0000 0000 0000 0000 .)d...V.........
0000f10: c5e6 8a3b 6352 6d3e 0000 0000 0000 0000 ...;cRm>........
0000f20: c006 0629 c7b9 61be 0000 0000 0000 0000 ...)..a.........
0000f30: eb93 83ea 8a6e 873e 0000 0000 0000 0000 .....n.>........
0000f40: 5e7e cd97 e492 a2bf 0000 0000 0000 0000 ^~..............
0000f50: 66b4 4e2e c8c7 df3f 0000 0000 0000 0000 f.N....?........
0000f60: 20b1 e909 b146 6bbe 0000 0000 0000 0000 ....Fk.........
0000f70: 2a3c 70b7 35a3 ddbf 0000 0000 0000 0000 *<p.5...........
0000f80: 74b6 c8b7 b940 7d3e 0000 0000 0000 0000 t....@}>........
0000f90: 0000 0000 0000 0000 5885 1587 8115 863e ........X......>
0000fa0: 0000 0000 0000 0000 5731 2901 cb37 8c3f ........W1)..7.?
0000fb0: 0000 0000 0000 0000 78b2 2004 a4f6 93bf ........x. .....
0000fc0: 0000 0000 0000 0000 0c44 e87d 42c8 38bf .........D.}B.8.
0000fd0: 0000 0000 0000 0000 602d 038e a134 d2bd ........`-...4..
0000fe0: 0000 0000 0000 0000 5caf 16ba 529a de3d ........\...R..=
0000ff0: 0000 0000 0000 0000 309b d8db 54ed 7abe ........0...T.z.
0001000: 0000 0000 0000 0000 5834 d03b cd6f c83d ........X4.;.o.=
0001010: 0000 0000 0000 0000 40d4 d431 2db2 2f3e ........@..1-./>
0001020: 0000 0000 0000 0000 0a .........

Binary file not shown.

View File

@ -0,0 +1,272 @@
nlm = 9
1 1 1 1 2.00000
1 0.0000000 0.0000000
2 0.4050880 0.0000000
3 0.4029369 0.0000000
4 0.4057568 0.0000000
5 -0.0000006 0.0000000
6 -0.0000004 0.0000000
7 0.0000001 0.0000000
8 -0.0000004 0.0000000
9 0.0000002 0.0000000
1 1 1 2 2.00000
1 -0.0000000 0.0000000
2 0.1930381 0.0000000
3 -0.6538923 0.0000000
4 0.4568927 0.0000000
5 -0.0000004 0.0000000
6 -0.0000007 0.0000000
7 -0.0000007 0.0000000
8 0.0000001 0.0000000
9 0.0000003 0.0000000
1 1 1 3 2.00000
1 0.0000000 0.0000000
2 -0.7428721 0.0000000
3 0.1099217 0.0000000
4 0.6337009 0.0000000
5 0.0000011 0.0000000
6 0.0000017 0.0000000
7 0.0000004 0.0000000
8 -0.0000001 0.0000000
9 -0.0000001 0.0000000
1 1 1 4 2.00000
1 -0.3182364 0.0000000
2 0.0000000 0.0000000
3 -0.0000000 0.0000000
4 -0.0000000 0.0000000
5 0.0000001 0.0000000
6 0.0000001 0.0000000
7 0.0000000 0.0000000
8 0.0000001 0.0000000
9 0.0000000 0.0000000
1 1 1 5 2.00000
1 -0.0000008 0.0000000
2 -0.0000013 0.0000000
3 0.0000010 0.0000000
4 0.0000008 0.0000000
5 -0.3314341 0.0000000
6 -0.3414627 0.0000000
7 -0.0000000 0.0000000
8 -0.3413397 0.0000000
9 -0.0000000 0.0000000
1 1 1 6 2.00000
1 -0.0000006 0.0000000
2 -0.0000005 0.0000000
3 -0.0000009 0.0000000
4 -0.0000006 0.0000000
5 0.5355566 0.0000000
6 -0.2614713 0.0000000
7 -0.0000001 0.0000000
8 -0.2587571 0.0000000
9 0.0000000 0.0000000
1 1 1 7 2.00000
1 0.0000003 0.0000000
2 -0.0000010 0.0000000
3 0.0000006 0.0000000
4 0.0000010 0.0000000
5 -0.0019230 0.0000000
6 -0.5896138 0.0000000
7 0.0000000 0.0000000
8 0.5917712 0.0000000
9 0.0000001 0.0000000
1 1 1 8 0.00000
1 -0.0000006 0.0000000
2 -0.0000002 0.0000000
3 0.0000002 0.0000000
4 -0.0000002 0.0000000
5 -0.0000000 0.0000000
6 0.0000001 0.0000000
7 -0.0384668 0.0000000
8 -0.0000001 0.0000000
9 0.8256005 0.0000000
1 1 1 9 0.00000
1 0.0000013 0.0000000
2 -0.0000007 0.0000000
3 0.0000009 0.0000000
4 0.0000001 0.0000000
5 -0.0000001 0.0000000
6 0.0000000 0.0000000
7 -0.6450752 0.0000000
8 0.0000000 0.0000000
9 -0.0484466 0.0000000
1 1 2 1 2.00000
1 0.0000000 0.0000000
2 0.6894316 0.0000000
3 0.6894316 0.0000000
4 0.0000003 0.0000000
5 -0.0000009 0.0000000
6 -0.0000008 0.0000000
7 -0.0000003 0.0000000
8 0.0000010 0.0000000
9 0.0000001 0.0000000
1 1 2 2 2.00000
1 0.0000000 0.0000000
2 0.0000002 0.0000000
3 0.0000002 0.0000000
4 -0.9184595 0.0000000
5 0.0000008 0.0000000
6 0.0000001 0.0000000
7 -0.0000000 0.0000000
8 -0.0000008 0.0000000
9 0.0000000 0.0000000
1 1 2 3 2.00000
1 -0.0000000 0.0000000
2 0.5870812 0.0000000
3 -0.5870812 0.0000000
4 -0.0000000 0.0000000
5 0.0000000 0.0000000
6 0.0000006 0.0000000
7 0.0000002 0.0000000
8 -0.0000000 0.0000000
9 -0.0000005 0.0000000
1 1 2 4 2.00000
1 0.0652648 0.0000000
2 -0.0000003 0.0000000
3 0.0000005 0.0000000
4 0.0000015 0.0000000
5 0.0000000 0.0000000
6 -0.2135086 0.0000000
7 -0.0808953 0.0000000
8 0.0000000 0.0000000
9 0.1401148 0.0000000
1 1 2 5 2.00000
1 0.0000012 0.0000000
2 -0.0000015 0.0000000
3 -0.0000016 0.0000000
4 0.0000004 0.0000000
5 -0.5060075 0.0000000
6 0.0000005 0.0000000
7 0.0000002 0.0000000
8 0.5060075 0.0000000
9 -0.0000002 0.0000000
1 1 2 6 0.66667
1 -0.0000000 0.0000000
2 0.0431911 0.0000000
3 0.0431911 0.0000000
4 -0.0000000 0.0000000
5 0.0000000 0.0000000
6 -0.0000000 0.0000000
7 -0.0000000 0.0000000
8 -0.0000000 0.0000000
9 0.0000000 0.0000000
1 1 2 7 0.00000
1 -0.0242085 0.0000000
2 0.0000003 0.0000000
3 0.0000001 0.0000000
4 -0.0000002 0.0000000
5 -0.0000000 0.0000000
6 0.1925365 0.0000000
7 -0.1427571 0.0000000
8 -0.0000000 0.0000000
9 0.2472626 0.0000000
1 1 2 8 0.00000
1 0.0000019 0.0000000
2 -0.0000001 0.0000000
3 0.0000000 0.0000000
4 0.0000000 0.0000000
5 0.0000000 0.0000000
6 0.0000033 0.0000000
7 -0.0619411 0.0000000
8 0.0000000 0.0000000
9 -0.0357636 0.0000000
1 1 2 9 0.00000
1 0.0000000 0.0000000
2 0.0000001 0.0000000
3 0.0000001 0.0000000
4 0.0000000 0.0000000
5 -0.2827905 0.0000000
6 0.0000001 0.0000000
7 0.0000000 0.0000000
8 -0.2827905 0.0000000
9 -0.0000001 0.0000000
1 1 3 1 2.00000
1 -0.0000000 0.0000000
2 -0.0607441 0.0000000
3 -0.0633386 0.0000000
4 -0.0619857 0.0000000
5 -0.0000001 0.0000000
6 0.0000001 0.0000000
7 0.0000006 0.0000000
8 0.0000000 0.0000000
9 -0.0000004 0.0000000
1 1 3 2 2.00000
1 -0.0000000 0.0000000
2 -0.2519223 0.0000000
3 0.3270304 0.0000000
4 -0.0742897 0.0000000
5 0.0000000 0.0000000
6 -0.0000000 0.0000000
7 -0.0000011 0.0000000
8 0.0000000 0.0000000
9 0.0000008 0.0000000
1 1 3 3 2.00000
1 0.0000000 0.0000000
2 0.1061079 0.0000000
3 0.1572919 0.0000000
4 -0.2623809 0.0000000
5 -0.0000000 0.0000000
6 0.0000000 0.0000000
7 0.0000003 0.0000000
8 0.0000000 0.0000000
9 -0.0000001 0.0000000
1 1 3 4 2.00000
1 -0.0000000 0.0000000
2 0.0000000 0.0000000
3 -0.0000000 0.0000000
4 -0.0000001 0.0000000
5 -0.0000000 0.0000000
6 0.0000000 0.0000000
7 0.0000645 0.0000000
8 -0.0000000 0.0000000
9 -0.5631694 0.0000000
1 1 3 5 2.00000
1 0.0000000 0.0000000
2 -0.0000005 0.0000000
3 0.0000006 0.0000000
4 0.0000001 0.0000000
5 -0.0000000 0.0000000
6 0.0000000 0.0000000
7 0.7211366 0.0000000
8 0.0000000 0.0000000
9 0.0000478 0.0000000
1 1 3 6 0.00000
1 -0.0000010 0.0000000
2 0.0000001 0.0000000
3 -0.0000001 0.0000000
4 0.0000003 0.0000000
5 -0.4425794 0.0000000
6 -0.5088829 0.0000000
7 -0.0000000 0.0000000
8 -0.5129848 0.0000000
9 0.0000000 0.0000000
1 1 3 7 0.00000
1 0.0000000 0.0000000
2 0.0000001 0.0000000
3 -0.0000001 0.0000000
4 -0.0000000 0.0000000
5 -0.6791375 0.0000000
6 0.2412815 0.0000000
7 -0.0000002 0.0000000
8 0.3450642 0.0000000
9 -0.0000001 0.0000000
1 1 3 8 0.00000
1 -0.0000000 0.0000000
2 0.0000001 0.0000000
3 -0.0000000 0.0000000
4 0.0000002 0.0000000
5 -0.0362770 0.0000000
6 0.4965687 0.0000000
7 -0.0000001 0.0000000
8 -0.4630865 0.0000000
9 0.0000001 0.0000000
1 1 3 9 0.00000
1 0.0000002 0.0000000
2 0.0137783 0.0000000
3 -0.0194955 0.0000000
4 -0.0003781 0.0000000
5 -0.0000000 0.0000000
6 0.0000000 0.0000000
7 -0.0000001 0.0000000
8 0.0000000 0.0000000
9 0.0000000 0.0000000

Binary file not shown.

View File

@ -0,0 +1,56 @@
r"""
Module defining a custom TestCase with extra functionality.
"""
import unittest
import numpy as np
import difflib
class MyTestCase(unittest.TestCase):
"""
Custom TestCase class supporting additional equality checks:
- numpy array equality
- file equality
"""
def __init__(self, *args, **kwargs):
"""
Initializes a custom equality function for comparing numpy arrays.
"""
super(MyTestCase, self).__init__(*args, **kwargs)
self.addTypeEqualityFunc(np.ndarray, self.is_arrays_equal)
def is_arrays_equal(self, arr1, arr2, msg=None):
"""
Raises self.failureException is arrays arr1 and arr2
are not equal.
"""
if not np.allclose(arr1, arr2):
raise self.failureException(msg)
def assertFileEqual(self, file1, file2):
"""
Compares two files using difflib.
Empty lines are ignored.
Files are assumed to be relatively small, otherwise
the data is truncated.
"""
MAX_SIZE = 100000
with open(file1, 'r') as f1:
str1 = f1.read(MAX_SIZE)
with open(file2, 'r') as f2:
str2 = f2.read(MAX_SIZE)
#
# Make a diff
#
# Remove empty lines
lstr1 = filter(lambda s: s.strip() != '', str1.splitlines(True))
lstr2 = filter(lambda s: s.strip() != '', str2.splitlines(True))
# diff
delta = difflib.unified_diff(lstr1, lstr2)
# combine delta's to a string
diff = ''.join(delta)
# if 'diff' is non-empty, files are different
if diff:
return self.fail("Files '%s' and '%s' differ"%(file1, file2))

View File

@ -0,0 +1 @@
PYTHONPATH=../../python:../../c:$PYTHONPATH python $1

View File

@ -0,0 +1,93 @@
r"""
Tests of 'read_plocar()' from module 'plocar_io.c_plocar_io'
"""
import mytest
import numpy as np
from plocar_io.c_plocar_io import read_plocar
################################################################################
#
# TestFileIO
#
################################################################################
class TestFileIO(mytest.MyTestCase):
"""
Function:
def read_plocar(filename)
Scenarios:
- **if** file PLOCAR does not exist **raise** IOError
- **if** PLOCAR is truncated **raise** IOError
- **if** the precision flag is not 4 or 8 **raise** ValueError
- **if** PLOCAR with prec=8 is read **compare** the output
- **if** PLOCAR with prec=4 is read **compare** the output
"""
# Scenario 1
def test_no_plocar(self):
err_mess = "Error opening xPLOCAR"
with self.assertRaisesRegexp(IOError, err_mess):
read_plocar('xPLOCAR')
# Scenario 2
def test_end_of_file(self):
err_mess = "End-of-file reading"
with self.assertRaisesRegexp(IOError, err_mess):
read_plocar('PLOCAR.trunc')
# Scenario 3
def test_wrong_prec(self):
err_mess = "only 'prec = 4, 8' are supported"
with self.assertRaisesRegexp(ValueError, err_mess):
read_plocar('PLOCAR.noprec')
# Scenario 4
def test_plocar_prec8(self):
pars, plo, ferw = read_plocar('PLOCAR.prec8')
nion, ns, nk, nb, nlm = plo.shape
test_file = 'PLOCAR.prec8.out.test'
with open(test_file, 'wt') as f:
f.write(" nlm =%5i\n"%(nlm))
ion = 1
isp = 1
for ik in xrange(nk):
for ib in xrange(nb):
f.write("%5i%5i%5i%5i%10.5f\n"%(ion, isp, ik+1, ib+1, ferw[0, 0, ik, ib]))
for ilm in xrange(nlm):
p = plo[0, 0, ik, ib, ilm]
f.write("%5i%15.7f%15.7f\n"%(ilm+1, p.real, p.imag))
expected_file = 'PLOCAR.prec8.out'
self.assertFileEqual(test_file, expected_file)
# Scenario 5
def test_plocar_example(self):
pars, plo, ferw = read_plocar('PLOCAR.example')
nion, ns, nk, nb, nlm = plo.shape
self.assertEqual(pars['nion'], nion)
self.assertEqual(pars['ns'], ns)
self.assertEqual(pars['nk'], nk)
self.assertEqual(pars['nb'], nb)
test_file = 'PLOCAR.example.out.test'
with open(test_file, 'wt') as f:
f.write("pars: %s\n"%(pars))
for ion in xrange(nion):
for isp in xrange(ns):
for ik in xrange(nk):
for ib in xrange(nb):
f.write("%5i%5i%5i%5i %s\n"%(ion+1, isp+1, ik+1, ib+1,
ferw[ion, isp, ik, ib]))
for ilm in xrange(nlm):
p = plo[ion, isp, ik, ib, ilm]
f.write("%5i %s\n"%(ilm+1, p))
expected_file = 'PLOCAR.example.out'
self.assertFileEqual(test_file, expected_file)

View File

@ -0,0 +1,10 @@
r"""
Test suite for module `plocar_io`.
"""
import unittest
if __name__ == '__main__':
suite = unittest.TestLoader().discover('./')
unittest.TextTestRunner(verbosity=2, buffer=True).run(suite)
# unittest.TextTestRunner(verbosity=2, buffer=False).run(suite)

View File

@ -0,0 +1,2 @@
*.pyc
*.test

View File

@ -0,0 +1,609 @@
1 1 1 0
0.1333597E+02 0.2587511E-09 0.2587511E-09 0.2587511E-09 0.5000000E-15
1.000000000000000E-004
CAR
V
17.10090628 -34.14880953 301 5.84395237 1.00000000
-34.149 0.0000E+00 0.0000E+00
-33.978 0.0000E+00 0.0000E+00
-33.807 0.0000E+00 0.0000E+00
-33.636 0.0000E+00 0.0000E+00
-33.465 0.0000E+00 0.0000E+00
-33.295 0.0000E+00 0.0000E+00
-33.124 0.0000E+00 0.0000E+00
-32.953 0.0000E+00 0.0000E+00
-32.782 0.3428E-37 0.5857E-38
-32.611 0.1961E-24 0.3349E-25
-32.440 0.2784E-14 0.4757E-15
-32.270 0.8681E-07 0.1483E-07
-32.099 0.3941E-02 0.6732E-03
-31.928 -0.2188E+00 -0.3670E-01
-31.757 0.8736E+01 0.1456E+01
-31.586 0.8403E+01 0.2891E+01
-31.415 0.2792E+01 0.3368E+01
-31.245 0.6307E+01 0.4445E+01
-31.074 0.7856E+01 0.5787E+01
-30.903 0.1212E+01 0.5994E+01
-30.732 0.3246E-01 0.6000E+01
-30.561 0.3448E-04 0.6000E+01
-30.390 0.2050E-10 0.6000E+01
-30.220 0.0000E+00 0.6000E+01
-30.049 0.0000E+00 0.6000E+01
-29.878 0.0000E+00 0.6000E+01
-29.707 0.0000E+00 0.6000E+01
-29.536 0.0000E+00 0.6000E+01
-29.366 0.0000E+00 0.6000E+01
-29.195 0.0000E+00 0.6000E+01
-29.024 0.0000E+00 0.6000E+01
-28.853 0.0000E+00 0.6000E+01
-28.682 0.0000E+00 0.6000E+01
-28.511 0.0000E+00 0.6000E+01
-28.341 0.0000E+00 0.6000E+01
-28.170 0.0000E+00 0.6000E+01
-27.999 0.0000E+00 0.6000E+01
-27.828 0.0000E+00 0.6000E+01
-27.657 0.0000E+00 0.6000E+01
-27.486 0.0000E+00 0.6000E+01
-27.316 0.0000E+00 0.6000E+01
-27.145 0.0000E+00 0.6000E+01
-26.974 0.0000E+00 0.6000E+01
-26.803 0.0000E+00 0.6000E+01
-26.632 0.0000E+00 0.6000E+01
-26.461 0.0000E+00 0.6000E+01
-26.291 0.0000E+00 0.6000E+01
-26.120 0.0000E+00 0.6000E+01
-25.949 0.0000E+00 0.6000E+01
-25.778 0.0000E+00 0.6000E+01
-25.607 0.0000E+00 0.6000E+01
-25.436 0.0000E+00 0.6000E+01
-25.266 0.0000E+00 0.6000E+01
-25.095 0.0000E+00 0.6000E+01
-24.924 0.0000E+00 0.6000E+01
-24.753 0.0000E+00 0.6000E+01
-24.582 0.0000E+00 0.6000E+01
-24.411 0.0000E+00 0.6000E+01
-24.241 0.0000E+00 0.6000E+01
-24.070 0.0000E+00 0.6000E+01
-23.899 0.0000E+00 0.6000E+01
-23.728 0.0000E+00 0.6000E+01
-23.557 0.0000E+00 0.6000E+01
-23.386 0.0000E+00 0.6000E+01
-23.216 0.0000E+00 0.6000E+01
-23.045 0.0000E+00 0.6000E+01
-22.874 0.0000E+00 0.6000E+01
-22.703 0.0000E+00 0.6000E+01
-22.532 0.0000E+00 0.6000E+01
-22.361 0.0000E+00 0.6000E+01
-22.191 0.0000E+00 0.6000E+01
-22.020 0.0000E+00 0.6000E+01
-21.849 0.0000E+00 0.6000E+01
-21.678 0.0000E+00 0.6000E+01
-21.507 0.0000E+00 0.6000E+01
-21.336 0.0000E+00 0.6000E+01
-21.166 0.0000E+00 0.6000E+01
-20.995 0.0000E+00 0.6000E+01
-20.824 0.0000E+00 0.6000E+01
-20.653 0.0000E+00 0.6000E+01
-20.482 0.0000E+00 0.6000E+01
-20.311 0.0000E+00 0.6000E+01
-20.141 0.0000E+00 0.6000E+01
-19.970 0.0000E+00 0.6000E+01
-19.799 0.0000E+00 0.6000E+01
-19.628 0.0000E+00 0.6000E+01
-19.457 0.0000E+00 0.6000E+01
-19.286 0.0000E+00 0.6000E+01
-19.116 0.0000E+00 0.6000E+01
-18.945 0.0000E+00 0.6000E+01
-18.774 0.0000E+00 0.6000E+01
-18.603 0.0000E+00 0.6000E+01
-18.432 0.0000E+00 0.6000E+01
-18.261 0.0000E+00 0.6000E+01
-18.091 0.0000E+00 0.6000E+01
-17.920 0.0000E+00 0.6000E+01
-17.749 0.0000E+00 0.6000E+01
-17.578 0.0000E+00 0.6000E+01
-17.407 0.0000E+00 0.6000E+01
-17.236 0.0000E+00 0.6000E+01
-17.066 0.0000E+00 0.6000E+01
-16.895 0.0000E+00 0.6000E+01
-16.724 0.0000E+00 0.6000E+01
-16.553 0.0000E+00 0.6000E+01
-16.382 0.0000E+00 0.6000E+01
-16.211 0.0000E+00 0.6000E+01
-16.041 0.0000E+00 0.6000E+01
-15.870 0.0000E+00 0.6000E+01
-15.699 0.0000E+00 0.6000E+01
-15.528 0.0000E+00 0.6000E+01
-15.357 0.0000E+00 0.6000E+01
-15.186 0.0000E+00 0.6000E+01
-15.016 0.0000E+00 0.6000E+01
-14.845 0.0000E+00 0.6000E+01
-14.674 0.0000E+00 0.6000E+01
-14.503 0.0000E+00 0.6000E+01
-14.332 0.0000E+00 0.6000E+01
-14.161 0.0000E+00 0.6000E+01
-13.991 0.0000E+00 0.6000E+01
-13.820 0.0000E+00 0.6000E+01
-13.649 0.0000E+00 0.6000E+01
-13.478 0.0000E+00 0.6000E+01
-13.307 0.0000E+00 0.6000E+01
-13.136 0.0000E+00 0.6000E+01
-12.966 0.0000E+00 0.6000E+01
-12.795 0.0000E+00 0.6000E+01
-12.624 0.0000E+00 0.6000E+01
-12.453 0.0000E+00 0.6000E+01
-12.282 0.0000E+00 0.6000E+01
-12.111 0.0000E+00 0.6000E+01
-11.941 0.0000E+00 0.6000E+01
-11.770 0.0000E+00 0.6000E+01
-11.599 0.0000E+00 0.6000E+01
-11.428 0.0000E+00 0.6000E+01
-11.257 0.0000E+00 0.6000E+01
-11.086 0.0000E+00 0.6000E+01
-10.916 0.0000E+00 0.6000E+01
-10.745 0.0000E+00 0.6000E+01
-10.574 0.0000E+00 0.6000E+01
-10.403 0.0000E+00 0.6000E+01
-10.232 0.0000E+00 0.6000E+01
-10.061 0.0000E+00 0.6000E+01
-9.891 0.0000E+00 0.6000E+01
-9.720 0.0000E+00 0.6000E+01
-9.549 0.0000E+00 0.6000E+01
-9.378 0.0000E+00 0.6000E+01
-9.207 0.0000E+00 0.6000E+01
-9.036 0.0000E+00 0.6000E+01
-8.866 0.0000E+00 0.6000E+01
-8.695 0.0000E+00 0.6000E+01
-8.524 0.0000E+00 0.6000E+01
-8.353 0.0000E+00 0.6000E+01
-8.182 0.0000E+00 0.6000E+01
-8.011 0.0000E+00 0.6000E+01
-7.841 0.0000E+00 0.6000E+01
-7.670 0.0000E+00 0.6000E+01
-7.499 0.0000E+00 0.6000E+01
-7.328 0.0000E+00 0.6000E+01
-7.157 0.0000E+00 0.6000E+01
-6.986 0.0000E+00 0.6000E+01
-6.816 0.0000E+00 0.6000E+01
-6.645 0.0000E+00 0.6000E+01
-6.474 0.0000E+00 0.6000E+01
-6.303 0.0000E+00 0.6000E+01
-6.132 0.0000E+00 0.6000E+01
-5.961 0.0000E+00 0.6000E+01
-5.791 0.0000E+00 0.6000E+01
-5.620 0.0000E+00 0.6000E+01
-5.449 0.0000E+00 0.6000E+01
-5.278 0.0000E+00 0.6000E+01
-5.107 0.0000E+00 0.6000E+01
-4.936 0.0000E+00 0.6000E+01
-4.766 0.0000E+00 0.6000E+01
-4.595 0.0000E+00 0.6000E+01
-4.424 0.0000E+00 0.6000E+01
-4.253 0.0000E+00 0.6000E+01
-4.082 0.0000E+00 0.6000E+01
-3.911 0.0000E+00 0.6000E+01
-3.741 0.0000E+00 0.6000E+01
-3.570 0.0000E+00 0.6000E+01
-3.399 0.0000E+00 0.6000E+01
-3.228 0.0000E+00 0.6000E+01
-3.057 0.0000E+00 0.6000E+01
-2.886 0.0000E+00 0.6000E+01
-2.716 0.0000E+00 0.6000E+01
-2.545 0.0000E+00 0.6000E+01
-2.374 0.0000E+00 0.6000E+01
-2.203 0.0000E+00 0.6000E+01
-2.032 0.0000E+00 0.6000E+01
-1.861 0.0000E+00 0.6000E+01
-1.691 0.1508E-31 0.6000E+01
-1.520 0.4300E-20 0.6000E+01
-1.349 0.2901E-11 0.6000E+01
-1.178 0.3715E-05 0.6000E+01
-1.007 0.2036E-02 0.6000E+01
-0.836 0.1134E+00 0.6020E+01
-0.666 0.3236E+00 0.6075E+01
-0.495 -0.5496E-02 0.6074E+01
-0.324 0.5193E-04 0.6074E+01
-0.153 0.2420E-09 0.6074E+01
0.018 0.0000E+00 0.6074E+01
0.189 0.0000E+00 0.6074E+01
0.359 0.0000E+00 0.6074E+01
0.530 0.0000E+00 0.6074E+01
0.701 0.0000E+00 0.6074E+01
0.872 0.0000E+00 0.6074E+01
1.043 0.0000E+00 0.6074E+01
1.213 0.0000E+00 0.6074E+01
1.384 0.1441E-25 0.6074E+01
1.555 0.3694E-15 0.6074E+01
1.726 0.2113E-07 0.6074E+01
1.897 0.1843E-02 0.6074E+01
2.068 -0.1717E+00 0.6045E+01
2.238 0.4911E+01 0.6884E+01
2.409 0.4385E+00 0.6959E+01
2.580 0.2317E-01 0.6963E+01
2.751 0.1027E-04 0.6963E+01
2.922 0.1649E-07 0.6963E+01
3.093 0.1161E-02 0.6963E+01
3.263 -0.9886E-01 0.6946E+01
3.434 0.2549E+01 0.7382E+01
3.605 0.1134E+00 0.7401E+01
3.776 0.1880E+01 0.7722E+01
3.947 0.1410E+01 0.7963E+01
4.118 0.2885E+01 0.8456E+01
4.288 -0.6849E-01 0.8444E+01
4.459 0.1593E-01 0.8447E+01
4.630 -0.3213E+00 0.8392E+01
4.801 0.1107E+02 0.1028E+02
4.972 0.1346E+01 0.1051E+02
5.143 0.3027E-01 0.1052E+02
5.313 0.6891E-04 0.1052E+02
5.484 0.8093E-04 0.1052E+02
5.655 0.1912E-01 0.1052E+02
5.826 0.1840E+01 0.1084E+02
5.997 0.4326E+01 0.1158E+02
6.168 0.3115E+00 0.1163E+02
6.338 0.6462E-02 0.1163E+02
6.509 0.1132E-04 0.1163E+02
6.680 0.8927E-11 0.1163E+02
6.851 0.7510E-09 0.1163E+02
7.022 0.2862E-03 0.1163E+02
7.193 -0.1755E-01 0.1163E+02
7.363 0.3080E+01 0.1215E+02
7.534 0.2128E+01 0.1252E+02
7.705 -0.1424E+00 0.1249E+02
7.876 0.4758E+01 0.1330E+02
8.047 0.1429E+01 0.1355E+02
8.218 0.4090E+01 0.1425E+02
8.388 0.9009E+01 0.1579E+02
8.559 0.2760E+01 0.1626E+02
8.730 0.4220E+01 0.1698E+02
8.901 -0.9675E-01 0.1696E+02
9.072 0.8982E-03 0.1696E+02
9.243 0.5584E-08 0.1696E+02
9.413 0.0000E+00 0.1696E+02
9.584 0.0000E+00 0.1696E+02
9.755 0.0000E+00 0.1696E+02
9.926 0.0000E+00 0.1696E+02
10.097 0.4864E-37 0.1696E+02
10.268 0.2294E-24 0.1696E+02
10.438 0.2678E-14 0.1696E+02
10.609 0.6806E-07 0.1696E+02
10.780 0.2349E-02 0.1696E+02
10.951 -0.1323E+00 0.1694E+02
11.122 0.2769E+01 0.1741E+02
11.293 -0.4470E-01 0.1741E+02
11.463 0.7455E-02 0.1741E+02
11.634 0.1064E-05 0.1741E+02
11.805 0.1554E-12 0.1741E+02
11.976 0.0000E+00 0.1741E+02
12.147 0.0000E+00 0.1741E+02
12.318 0.0000E+00 0.1741E+02
12.488 0.0000E+00 0.1741E+02
12.659 0.0000E+00 0.1741E+02
12.830 0.0000E+00 0.1741E+02
13.001 0.0000E+00 0.1741E+02
13.172 0.0000E+00 0.1741E+02
13.343 0.0000E+00 0.1741E+02
13.513 0.0000E+00 0.1741E+02
13.684 0.0000E+00 0.1741E+02
13.855 0.1244E-33 0.1741E+02
14.026 0.1396E-21 0.1741E+02
14.197 0.3803E-12 0.1741E+02
14.368 0.2119E-05 0.1741E+02
14.538 0.1137E-01 0.1741E+02
14.709 0.3659E-02 0.1741E+02
14.880 0.3617E+01 0.1803E+02
15.051 -0.1653E+00 0.1800E+02
15.222 0.2517E-02 0.1800E+02
15.393 0.5772E-07 0.1800E+02
15.563 0.1926E-14 0.1800E+02
15.734 0.0000E+00 0.1800E+02
15.905 0.0000E+00 0.1800E+02
16.076 0.0000E+00 0.1800E+02
16.247 0.0000E+00 0.1800E+02
16.418 0.0000E+00 0.1800E+02
16.588 0.0000E+00 0.1800E+02
16.759 0.0000E+00 0.1800E+02
16.930 0.0000E+00 0.1800E+02
17.101 0.0000E+00 0.1800E+02
17.10090628 -34.14880953 301 5.84395237 1.00000000
-34.149 0.0000E+00 0.0000E+00 0.0000E+00
-33.978 0.0000E+00 0.0000E+00 0.0000E+00
-33.807 0.0000E+00 0.0000E+00 0.0000E+00
-33.636 0.0000E+00 0.0000E+00 0.0000E+00
-33.465 0.0000E+00 0.0000E+00 0.0000E+00
-33.295 0.0000E+00 0.0000E+00 0.0000E+00
-33.124 0.0000E+00 0.0000E+00 0.0000E+00
-32.953 0.0000E+00 0.0000E+00 0.0000E+00
-32.782 0.2282E-40 0.3359E-37 0.5411E-41
-32.611 0.1305E-27 0.1921E-24 0.3095E-28
-32.440 0.1853E-17 0.2728E-14 0.4398E-18
-32.270 0.5762E-10 0.8504E-07 0.1383E-10
-32.099 0.2518E-05 0.3861E-02 0.7137E-06
-31.928 -0.1566E-03 -0.2142E+00 -0.2459E-04
-31.757 0.3856E-02 0.8567E+01 0.3103E-02
-31.586 0.1543E-02 0.8270E+01 0.4254E-02
-31.415 -0.3177E-04 0.2760E+01 0.1220E-02
-31.245 0.3742E-04 0.6273E+01 0.1032E-02
-31.074 0.1298E-03 0.7836E+01 0.2060E-03
-30.903 -0.2630E-05 0.1210E+01 -0.3012E-05
-30.732 0.2432E-07 0.3240E-01 0.4557E-07
-30.561 0.1332E-12 0.3442E-04 0.2841E-12
-30.390 0.2660E-32 0.2046E-10 0.1981E-19
-30.220 0.0000E+00 0.0000E+00 0.0000E+00
-30.049 0.0000E+00 0.0000E+00 0.0000E+00
-29.878 0.0000E+00 0.0000E+00 0.0000E+00
-29.707 0.0000E+00 0.0000E+00 0.0000E+00
-29.536 0.0000E+00 0.0000E+00 0.0000E+00
-29.366 0.0000E+00 0.0000E+00 0.0000E+00
-29.195 0.0000E+00 0.0000E+00 0.0000E+00
-29.024 0.0000E+00 0.0000E+00 0.0000E+00
-28.853 0.0000E+00 0.0000E+00 0.0000E+00
-28.682 0.0000E+00 0.0000E+00 0.0000E+00
-28.511 0.0000E+00 0.0000E+00 0.0000E+00
-28.341 0.0000E+00 0.0000E+00 0.0000E+00
-28.170 0.0000E+00 0.0000E+00 0.0000E+00
-27.999 0.0000E+00 0.0000E+00 0.0000E+00
-27.828 0.0000E+00 0.0000E+00 0.0000E+00
-27.657 0.0000E+00 0.0000E+00 0.0000E+00
-27.486 0.0000E+00 0.0000E+00 0.0000E+00
-27.316 0.0000E+00 0.0000E+00 0.0000E+00
-27.145 0.0000E+00 0.0000E+00 0.0000E+00
-26.974 0.0000E+00 0.0000E+00 0.0000E+00
-26.803 0.0000E+00 0.0000E+00 0.0000E+00
-26.632 0.0000E+00 0.0000E+00 0.0000E+00
-26.461 0.0000E+00 0.0000E+00 0.0000E+00
-26.291 0.0000E+00 0.0000E+00 0.0000E+00
-26.120 0.0000E+00 0.0000E+00 0.0000E+00
-25.949 0.0000E+00 0.0000E+00 0.0000E+00
-25.778 0.0000E+00 0.0000E+00 0.0000E+00
-25.607 0.0000E+00 0.0000E+00 0.0000E+00
-25.436 0.0000E+00 0.0000E+00 0.0000E+00
-25.266 0.0000E+00 0.0000E+00 0.0000E+00
-25.095 0.0000E+00 0.0000E+00 0.0000E+00
-24.924 0.0000E+00 0.0000E+00 0.0000E+00
-24.753 0.0000E+00 0.0000E+00 0.0000E+00
-24.582 0.0000E+00 0.0000E+00 0.0000E+00
-24.411 0.0000E+00 0.0000E+00 0.0000E+00
-24.241 0.0000E+00 0.0000E+00 0.0000E+00
-24.070 0.0000E+00 0.0000E+00 0.0000E+00
-23.899 0.0000E+00 0.0000E+00 0.0000E+00
-23.728 0.0000E+00 0.0000E+00 0.0000E+00
-23.557 0.0000E+00 0.0000E+00 0.0000E+00
-23.386 0.0000E+00 0.0000E+00 0.0000E+00
-23.216 0.0000E+00 0.0000E+00 0.0000E+00
-23.045 0.0000E+00 0.0000E+00 0.0000E+00
-22.874 0.0000E+00 0.0000E+00 0.0000E+00
-22.703 0.0000E+00 0.0000E+00 0.0000E+00
-22.532 0.0000E+00 0.0000E+00 0.0000E+00
-22.361 0.0000E+00 0.0000E+00 0.0000E+00
-22.191 0.0000E+00 0.0000E+00 0.0000E+00
-22.020 0.0000E+00 0.0000E+00 0.0000E+00
-21.849 0.0000E+00 0.0000E+00 0.0000E+00
-21.678 0.0000E+00 0.0000E+00 0.0000E+00
-21.507 0.0000E+00 0.0000E+00 0.0000E+00
-21.336 0.0000E+00 0.0000E+00 0.0000E+00
-21.166 0.0000E+00 0.0000E+00 0.0000E+00
-20.995 0.0000E+00 0.0000E+00 0.0000E+00
-20.824 0.0000E+00 0.0000E+00 0.0000E+00
-20.653 0.0000E+00 0.0000E+00 0.0000E+00
-20.482 0.0000E+00 0.0000E+00 0.0000E+00
-20.311 0.0000E+00 0.0000E+00 0.0000E+00
-20.141 0.0000E+00 0.0000E+00 0.0000E+00
-19.970 0.0000E+00 0.0000E+00 0.0000E+00
-19.799 0.0000E+00 0.0000E+00 0.0000E+00
-19.628 0.0000E+00 0.0000E+00 0.0000E+00
-19.457 0.0000E+00 0.0000E+00 0.0000E+00
-19.286 0.0000E+00 0.0000E+00 0.0000E+00
-19.116 0.0000E+00 0.0000E+00 0.0000E+00
-18.945 0.0000E+00 0.0000E+00 0.0000E+00
-18.774 0.0000E+00 0.0000E+00 0.0000E+00
-18.603 0.0000E+00 0.0000E+00 0.0000E+00
-18.432 0.0000E+00 0.0000E+00 0.0000E+00
-18.261 0.0000E+00 0.0000E+00 0.0000E+00
-18.091 0.0000E+00 0.0000E+00 0.0000E+00
-17.920 0.0000E+00 0.0000E+00 0.0000E+00
-17.749 0.0000E+00 0.0000E+00 0.0000E+00
-17.578 0.0000E+00 0.0000E+00 0.0000E+00
-17.407 0.0000E+00 0.0000E+00 0.0000E+00
-17.236 0.0000E+00 0.0000E+00 0.0000E+00
-17.066 0.0000E+00 0.0000E+00 0.0000E+00
-16.895 0.0000E+00 0.0000E+00 0.0000E+00
-16.724 0.0000E+00 0.0000E+00 0.0000E+00
-16.553 0.0000E+00 0.0000E+00 0.0000E+00
-16.382 0.0000E+00 0.0000E+00 0.0000E+00
-16.211 0.0000E+00 0.0000E+00 0.0000E+00
-16.041 0.0000E+00 0.0000E+00 0.0000E+00
-15.870 0.0000E+00 0.0000E+00 0.0000E+00
-15.699 0.0000E+00 0.0000E+00 0.0000E+00
-15.528 0.0000E+00 0.0000E+00 0.0000E+00
-15.357 0.0000E+00 0.0000E+00 0.0000E+00
-15.186 0.0000E+00 0.0000E+00 0.0000E+00
-15.016 0.0000E+00 0.0000E+00 0.0000E+00
-14.845 0.0000E+00 0.0000E+00 0.0000E+00
-14.674 0.0000E+00 0.0000E+00 0.0000E+00
-14.503 0.0000E+00 0.0000E+00 0.0000E+00
-14.332 0.0000E+00 0.0000E+00 0.0000E+00
-14.161 0.0000E+00 0.0000E+00 0.0000E+00
-13.991 0.0000E+00 0.0000E+00 0.0000E+00
-13.820 0.0000E+00 0.0000E+00 0.0000E+00
-13.649 0.0000E+00 0.0000E+00 0.0000E+00
-13.478 0.0000E+00 0.0000E+00 0.0000E+00
-13.307 0.0000E+00 0.0000E+00 0.0000E+00
-13.136 0.0000E+00 0.0000E+00 0.0000E+00
-12.966 0.0000E+00 0.0000E+00 0.0000E+00
-12.795 0.0000E+00 0.0000E+00 0.0000E+00
-12.624 0.0000E+00 0.0000E+00 0.0000E+00
-12.453 0.0000E+00 0.0000E+00 0.0000E+00
-12.282 0.0000E+00 0.0000E+00 0.0000E+00
-12.111 0.0000E+00 0.0000E+00 0.0000E+00
-11.941 0.0000E+00 0.0000E+00 0.0000E+00
-11.770 0.0000E+00 0.0000E+00 0.0000E+00
-11.599 0.0000E+00 0.0000E+00 0.0000E+00
-11.428 0.0000E+00 0.0000E+00 0.0000E+00
-11.257 0.0000E+00 0.0000E+00 0.0000E+00
-11.086 0.0000E+00 0.0000E+00 0.0000E+00
-10.916 0.0000E+00 0.0000E+00 0.0000E+00
-10.745 0.0000E+00 0.0000E+00 0.0000E+00
-10.574 0.0000E+00 0.0000E+00 0.0000E+00
-10.403 0.0000E+00 0.0000E+00 0.0000E+00
-10.232 0.0000E+00 0.0000E+00 0.0000E+00
-10.061 0.0000E+00 0.0000E+00 0.0000E+00
-9.891 0.0000E+00 0.0000E+00 0.0000E+00
-9.720 0.0000E+00 0.0000E+00 0.0000E+00
-9.549 0.0000E+00 0.0000E+00 0.0000E+00
-9.378 0.0000E+00 0.0000E+00 0.0000E+00
-9.207 0.0000E+00 0.0000E+00 0.0000E+00
-9.036 0.0000E+00 0.0000E+00 0.0000E+00
-8.866 0.0000E+00 0.0000E+00 0.0000E+00
-8.695 0.0000E+00 0.0000E+00 0.0000E+00
-8.524 0.0000E+00 0.0000E+00 0.0000E+00
-8.353 0.0000E+00 0.0000E+00 0.0000E+00
-8.182 0.0000E+00 0.0000E+00 0.0000E+00
-8.011 0.0000E+00 0.0000E+00 0.0000E+00
-7.841 0.0000E+00 0.0000E+00 0.0000E+00
-7.670 0.0000E+00 0.0000E+00 0.0000E+00
-7.499 0.0000E+00 0.0000E+00 0.0000E+00
-7.328 0.0000E+00 0.0000E+00 0.0000E+00
-7.157 0.0000E+00 0.0000E+00 0.0000E+00
-6.986 0.0000E+00 0.0000E+00 0.0000E+00
-6.816 0.0000E+00 0.0000E+00 0.0000E+00
-6.645 0.0000E+00 0.0000E+00 0.0000E+00
-6.474 0.0000E+00 0.0000E+00 0.0000E+00
-6.303 0.0000E+00 0.0000E+00 0.0000E+00
-6.132 0.0000E+00 0.0000E+00 0.0000E+00
-5.961 0.0000E+00 0.0000E+00 0.0000E+00
-5.791 0.0000E+00 0.0000E+00 0.0000E+00
-5.620 0.0000E+00 0.0000E+00 0.0000E+00
-5.449 0.0000E+00 0.0000E+00 0.0000E+00
-5.278 0.0000E+00 0.0000E+00 0.0000E+00
-5.107 0.0000E+00 0.0000E+00 0.0000E+00
-4.936 0.0000E+00 0.0000E+00 0.0000E+00
-4.766 0.0000E+00 0.0000E+00 0.0000E+00
-4.595 0.0000E+00 0.0000E+00 0.0000E+00
-4.424 0.0000E+00 0.0000E+00 0.0000E+00
-4.253 0.0000E+00 0.0000E+00 0.0000E+00
-4.082 0.0000E+00 0.0000E+00 0.0000E+00
-3.911 0.0000E+00 0.0000E+00 0.0000E+00
-3.741 0.0000E+00 0.0000E+00 0.0000E+00
-3.570 0.0000E+00 0.0000E+00 0.0000E+00
-3.399 0.0000E+00 0.0000E+00 0.0000E+00
-3.228 0.0000E+00 0.0000E+00 0.0000E+00
-3.057 0.0000E+00 0.0000E+00 0.0000E+00
-2.886 0.0000E+00 0.0000E+00 0.0000E+00
-2.716 0.0000E+00 0.0000E+00 0.0000E+00
-2.545 0.0000E+00 0.0000E+00 0.0000E+00
-2.374 0.0000E+00 0.0000E+00 0.0000E+00
-2.203 0.0000E+00 0.0000E+00 0.0000E+00
-2.032 0.0000E+00 0.0000E+00 0.0000E+00
-1.861 0.0000E+00 0.0000E+00 0.0000E+00
-1.691 0.8099E-32 0.1367E-62 0.1622E-42
-1.520 0.2309E-20 0.3896E-51 0.4625E-31
-1.349 0.1558E-11 0.2629E-42 0.3121E-22
-1.178 0.1995E-05 0.3366E-36 0.3996E-16
-1.007 0.1093E-02 0.1845E-33 0.2190E-13
-0.836 0.6089E-01 0.1027E-31 0.1220E-11
-0.666 0.1738E+00 0.2932E-31 0.3481E-11
-0.495 -0.2951E-02 -0.4980E-33 -0.5912E-13
-0.324 0.2789E-04 0.4705E-35 0.5586E-15
-0.153 0.1299E-09 0.2193E-40 0.2603E-20
0.018 0.0000E+00 0.0000E+00 0.0000E+00
0.189 0.0000E+00 0.0000E+00 0.0000E+00
0.359 0.0000E+00 0.0000E+00 0.0000E+00
0.530 0.0000E+00 0.0000E+00 0.0000E+00
0.701 0.0000E+00 0.0000E+00 0.0000E+00
0.872 0.0000E+00 0.0000E+00 0.0000E+00
1.043 0.0000E+00 0.0000E+00 0.0000E+00
1.213 0.0000E+00 0.0000E+00 0.0000E+00
1.384 0.3864E-26 0.8487E-27 0.4497E-26
1.555 0.9904E-16 0.2176E-16 0.1153E-15
1.726 0.5665E-08 0.1244E-08 0.6594E-08
1.897 0.4940E-03 0.1085E-03 0.5750E-03
2.068 -0.4603E-01 -0.1011E-01 -0.5358E-01
2.238 0.1317E+01 0.2892E+00 0.1533E+01
2.409 0.1176E+00 0.2582E-01 0.1368E+00
2.580 0.6212E-02 0.1365E-02 0.7230E-02
2.751 0.2753E-05 0.6047E-06 0.3204E-05
2.922 0.8456E-09 0.1593E-08 0.8831E-08
3.093 0.5951E-04 0.1122E-03 0.6221E-03
3.263 -0.5066E-02 -0.9550E-02 -0.5296E-01
3.434 0.1306E+00 0.2462E+00 0.1365E+01
3.605 0.7168E-02 0.1351E-01 0.5448E-01
3.776 0.1498E-02 0.1115E-02 0.1449E+01
3.947 0.3581E-01 0.2981E-02 0.1090E+01
4.118 0.1593E+00 0.1326E-01 0.2235E+01
4.288 -0.3799E-02 -0.3160E-03 -0.5305E-01
4.459 0.3529E-04 0.1850E-02 0.9953E-02
4.630 0.2305E-09 -0.3490E-01 -0.2077E+00
4.801 0.1012E-11 0.9395E+00 0.7761E+01
4.972 -0.4885E-13 -0.4536E-01 0.1311E+01
5.143 0.1235E-14 0.1147E-02 0.2449E-01
5.313 0.5375E-11 0.5226E-07 0.6163E-04
5.484 0.4760E-05 0.1406E-04 0.3678E-04
5.655 0.1115E-02 0.3295E-02 0.8762E-02
5.826 0.1092E+00 0.3226E+00 0.8285E+00
5.997 0.1975E+00 0.5835E+00 0.2436E+01
6.168 -0.1863E-02 -0.5502E-02 0.3082E+00
6.338 0.2204E-04 0.6510E-04 0.5891E-02
6.509 0.7017E-10 0.2073E-09 0.1064E-04
6.680 0.9358E-23 0.1488E-18 0.8389E-11
6.851 0.1030E-21 0.3246E-10 0.6418E-09
7.022 0.3923E-16 0.1237E-04 0.2446E-03
7.193 -0.2406E-14 -0.7587E-03 -0.1500E-01
7.363 0.2299E-10 0.1331E+00 0.2633E+01
7.534 0.2215E-05 0.9189E-01 0.1819E+01
7.705 -0.2154E-03 -0.4014E-03 -0.1353E+00
7.876 0.6585E-02 0.3074E-01 0.4480E+01
8.047 0.7363E-03 0.3778E-02 0.1344E+01
8.218 0.3293E-04 0.8301E-02 0.3896E+01
8.388 0.1716E-07 0.7527E-01 0.8529E+01
8.559 0.3604E-10 0.7904E-02 0.2641E+01
8.730 0.4255E-10 0.4352E-01 0.4011E+01
8.901 -0.9775E-12 -0.9930E-03 -0.9195E-01
9.072 0.9084E-14 0.9189E-05 0.8537E-03
9.243 0.5648E-19 0.5713E-10 0.5308E-08
9.413 0.0000E+00 0.0000E+00 0.0000E+00
9.584 0.0000E+00 0.0000E+00 0.0000E+00
9.755 0.0000E+00 0.0000E+00 0.0000E+00
9.926 0.0000E+00 0.0000E+00 0.0000E+00
10.097 0.9369E-38 0.9180E-38 0.1894E-37
10.268 0.4418E-25 0.4329E-25 0.8930E-25
10.438 0.5159E-15 0.5055E-15 0.1043E-14
10.609 0.1311E-07 0.1285E-07 0.2650E-07
10.780 0.4524E-03 0.4432E-03 0.9144E-03
10.951 -0.2549E-01 -0.2498E-01 -0.5153E-01
11.122 0.5333E+00 0.5226E+00 0.1078E+01
11.293 -0.8611E-02 -0.8437E-02 -0.1741E-01
11.463 0.1436E-02 0.1407E-02 0.2902E-02
11.634 0.2049E-06 0.2008E-06 0.4142E-06
11.805 0.2993E-13 0.2933E-13 0.6050E-13
11.976 0.0000E+00 0.0000E+00 0.0000E+00
12.147 0.0000E+00 0.0000E+00 0.0000E+00
12.318 0.0000E+00 0.0000E+00 0.0000E+00
12.488 0.0000E+00 0.0000E+00 0.0000E+00
12.659 0.0000E+00 0.0000E+00 0.0000E+00
12.830 0.0000E+00 0.0000E+00 0.0000E+00
13.001 0.0000E+00 0.0000E+00 0.0000E+00
13.172 0.0000E+00 0.0000E+00 0.0000E+00
13.343 0.0000E+00 0.0000E+00 0.0000E+00
13.513 0.0000E+00 0.0000E+00 0.0000E+00
13.684 0.0000E+00 0.0000E+00 0.0000E+00
13.855 0.3209E-47 0.3498E-34 0.5894E-34
14.026 0.3601E-35 0.3925E-22 0.6614E-22
14.197 0.9807E-26 0.1069E-12 0.1802E-12
14.368 0.5466E-19 0.5958E-06 0.1004E-05
14.538 0.2931E-15 0.3195E-02 0.5384E-02
14.709 0.9435E-16 0.1028E-02 0.1733E-02
14.880 0.9327E-13 0.1017E+01 0.1713E+01
15.051 -0.4263E-14 -0.4647E-01 -0.7831E-01
15.222 0.6490E-16 0.7075E-03 0.1192E-02
15.393 0.1489E-20 0.1623E-07 0.2734E-07
15.563 0.4966E-28 0.5413E-15 0.9122E-15
15.734 0.0000E+00 0.0000E+00 0.0000E+00
15.905 0.0000E+00 0.0000E+00 0.0000E+00
16.076 0.0000E+00 0.0000E+00 0.0000E+00
16.247 0.0000E+00 0.0000E+00 0.0000E+00
16.418 0.0000E+00 0.0000E+00 0.0000E+00
16.588 0.0000E+00 0.0000E+00 0.0000E+00
16.759 0.0000E+00 0.0000E+00 0.0000E+00
16.930 0.0000E+00 0.0000E+00 0.0000E+00
17.101 0.0000E+00 0.0000E+00 0.0000E+00

View File

@ -0,0 +1,50 @@
1 1 1 1
0.1333597E+02 0.2587511E-09 0.2587511E-09 0.2587511E-09 0.5000000E-15
1.000000000000000E-004
CAR
V
11 4 9
0.0000000E+00 0.0000000E+00 0.0000000E+00 0.3703704E-01
1 -31.099965
2 -31.099965
3 -31.099965
4 -0.813470
5 5.974027
6 5.974027
7 5.974027
8 7.986328
9 7.986328
0.3333333E+00 0.0000000E+00 0.0000000E+00 0.4444444E+00
1 -31.819277
2 -31.322999
3 -31.105684
4 2.193081
5 4.784864
6 5.839340
7 7.833446
8 8.202781
9 8.589551
0.3333333E+00 0.3333333E+00 0.0000000E+00 0.2962963E+00
1 -31.750021
2 -31.750021
3 -31.217560
4 3.978315
5 4.708263
6 4.708263
7 8.262522
8 8.262522
9 14.771374
-0.3333333E+00 0.3333333E+00 0.3333333E+00 0.2222222E+00
1 -31.719893
2 -31.577292
3 -31.577292
4 3.383714
5 3.756320
6 7.355029
7 7.355029
8 8.411511
9 11.054129

View File

@ -0,0 +1,7 @@
Automatically generated mesh
4
Reciprocal lattice
0.00000000000000 0.00000000000000 0.00000000000000 1
0.33333333333333 0.00000000000000 0.00000000000000 12
0.33333333333333 0.33333333333333 0.00000000000000 8
-0.33333333333333 0.33333333333333 0.33333333333333 6

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,10 @@
V SF test
2.9878
-0.5 0.5 0.5
0.5 -0.5 0.5
0.5 0.5 -0.5
V
1
Direct
0.0 0.0 0.0

View File

@ -0,0 +1,10 @@
density matrix: [[[[ 2.71066432e-01 -1.07856040e-02 9.07814858e-03 -2.60324510e-01
-2.14321077e-09]
[ -1.07856040e-02 2.97099774e-01 9.52322235e-02 -1.38848431e-02
-1.97357976e-01]
[ 9.07814858e-03 9.52322235e-02 1.42730494e-01 4.53909162e-03
-4.31946315e-02]
[ -2.60324510e-01 -1.38848431e-02 4.53909162e-03 2.95736883e-01
4.02728377e-02]
[ -2.14321077e-09 -1.97357976e-01 -4.31946315e-02 4.02728377e-02
2.35328545e-01]]]]

View File

@ -0,0 +1,8 @@
[Shell 1]
LSHELL = 2
IONS = 1
EMIN = -15.0
EMAX = 5.0

View File

@ -0,0 +1,56 @@
r"""
Module defining a custom TestCase with extra functionality.
"""
import unittest
import numpy as np
import difflib
class MyTestCase(unittest.TestCase):
"""
Custom TestCase class supporting additional equality checks:
- numpy array equality
- file equality
"""
def __init__(self, *args, **kwargs):
"""
Initializes a custom equality function for comparing numpy arrays.
"""
super(MyTestCase, self).__init__(*args, **kwargs)
self.addTypeEqualityFunc(np.ndarray, self.is_arrays_equal)
def is_arrays_equal(self, arr1, arr2, msg=None):
"""
Raises self.failureException is arrays arr1 and arr2
are not equal.
"""
if not np.allclose(arr1, arr2):
raise self.failureException(msg)
def assertFileEqual(self, file1, file2):
"""
Compares two files using difflib.
Empty lines are ignored.
Files are assumed to be relatively small;
the data is truncated for files larger than MAX_SIZE bytes.
"""
MAX_SIZE = 100000
with open(file1, 'r') as f1:
str1 = f1.read(MAX_SIZE)
with open(file2, 'r') as f2:
str2 = f2.read(MAX_SIZE)
#
# Make a diff
#
# Remove empty lines
lstr1 = filter(lambda s: s.strip() != '', str1.splitlines(True))
lstr2 = filter(lambda s: s.strip() != '', str2.splitlines(True))
# diff
delta = difflib.unified_diff(lstr1, lstr2)
# combine delta's to a string
diff = ''.join(delta)
# if 'diff' is non-empty, files are different
if diff:
return self.fail("Files '%s' and '%s' differ"%(file1, file2))

View File

@ -0,0 +1,115 @@
pars: {'normalize': True, 'index': '1', 'emin': -15.0, 'emax': 5.0, 'normion': False, 'shells': [0]}
3 8
1 (2.5198055198e-08+0j)
2 (2.51956215891e-08+0j)
3 (-1.39707700703e-12+0j)
4 (2.51956464581e-08+0j)
5 (-9.58669992349e-14+0j)
1 (0.423249542713+0j)
2 (0.441459685564+0j)
3 (5.45383349593e-10+0j)
4 (0.441459536552+0j)
5 (-5.07696386694e-15+0j)
1 (-0.624317586422+0j)
2 (0.299283236265+0j)
3 (3.00651912255e-08+0j)
4 (0.299281418324+0j)
5 (-5.44629513472e-14+0j)
1 (-2.9753928743e-07+0j)
2 (-0.495364636183+0j)
3 (1.61749496311e-14+0j)
4 (0.495365083218+0j)
5 (2.86656725024e-08+0j)
1 (2.31630860326e-12+0j)
2 (-2.07712407274e-08+0j)
3 (6.79555596435e-05+0j)
4 (2.07689296872e-08+0j)
5 (-0.686951518059+0j)
1 (-2.55608547661e-08+0j)
2 (1.27339729872e-08+0j)
3 (-0.749936163425+0j)
4 (1.27377095538e-08+0j)
5 (-6.18639533059e-05+0j)
3 8
1 (-7.42354511196e-10+0j)
2 (-0.407458901405+0j)
3 (-0.132825627923+0j)
4 (-1.12258624618e-09+0j)
5 (0.230060741305+0j)
1 (-0.529840826988+0j)
2 (1.02242869726e-09+0j)
3 (1.47169805231e-08+0j)
4 (0.529840826988+0j)
5 (8.58095106082e-09+0j)
1 (-5.59593660299e-09+0j)
2 (-0.46026712656+0j)
3 (-0.189698129892+0j)
4 (-3.64733043767e-09+0j)
5 (0.328566819429+0j)
1 (-5.92653073284e-08+0j)
2 (-0.511403858662+0j)
3 (0.342116594315+0j)
4 (-5.81566510505e-08+0j)
5 (-0.592563331127+0j)
1 (9.17969966707e-09+0j)
2 (3.7528921637e-10+0j)
3 (0.743389487267+0j)
4 (-7.80711495452e-09+0j)
5 (0.429196119308+0j)
1 (-0.60352396965+0j)
2 (5.06060757743e-07+0j)
3 (1.02901012156e-07+0j)
4 (-0.60352396965+0j)
5 (-1.76288821763e-07+0j)
3 7
1 (-0.157831609249+0j)
2 (0.157831639051+0j)
3 (1.93573299612e-08+0j)
4 (0.157831639051+0j)
5 (5.40782289825e-14+0j)
1 (-1.07380124348e-07+0j)
2 (-0.227066069841+0j)
3 (-1.22580686934e-07+0j)
4 (0.227065965533+0j)
5 (0.299297988415+0j)
1 (0.115845791996+0j)
2 (0.057922616601+0j)
3 (0.13223952055+0j)
4 (0.0579231306911+0j)
5 (3.36705625159e-07+0j)
1 (0.159106343985+0j)
2 (0.0795532241464+0j)
3 (-0.240490317345+0j)
4 (0.0795530825853+0j)
5 (1.18692518924e-07+0j)
1 (3.98122104173e-08+0j)
2 (-0.241537705064+0j)
3 (-6.01558127755e-08+0j)
4 (0.241537734866+0j)
5 (-0.421558618546+0j)
3 7
1 (7.91286647317e-10+0j)
2 (3.03037844818e-10+0j)
3 (0.204362645745+0j)
4 (4.89190632447e-10+0j)
5 (-0.353966474533+0j)
1 (9.13699960137e-09+0j)
2 (1.0438577086e-10+0j)
3 (-0.42577791214+0j)
4 (-6.95880419954e-09+0j)
5 (-0.245822981+0j)
1 (0.368288576603+0j)
2 (1.67113629601e-08+0j)
3 (-1.44080747333e-10+0j)
4 (0.365979760885+0j)
5 (1.25375620996e-09+0j)
1 (0.365983724594+0j)
2 (-2.74820233237e-09+0j)
3 (1.77222470032e-09+0j)
4 (-0.368292748928+0j)
5 (7.90098320103e-10+0j)
1 (-3.99936368467e-08+0j)
2 (0.546248733997+0j)
3 (-2.91795543284e-09+0j)
4 (-2.16134438347e-07+0j)
5 (1.55786352707e-08+0j)

View File

@ -0,0 +1,115 @@
pars: {'normalize': True, 'index': '1', 'emin': -15.0, 'emax': 5.0, 'normion': False, 'shells': [0]}
3 8
1 (2.5198055198e-08+0j)
2 (2.51956215891e-08+0j)
3 (-1.39707700703e-12+0j)
4 (2.51956464581e-08+0j)
5 (-9.58669992349e-14+0j)
1 (0.423249542713+0j)
2 (0.441459685564+0j)
3 (5.45383349593e-10+0j)
4 (0.441459536552+0j)
5 (-5.07696386694e-15+0j)
1 (-0.624317586422+0j)
2 (0.299283236265+0j)
3 (3.00651912255e-08+0j)
4 (0.299281418324+0j)
5 (-5.44629513472e-14+0j)
1 (-2.9753928743e-07+0j)
2 (-0.495364636183+0j)
3 (1.61749496311e-14+0j)
4 (0.495365083218+0j)
5 (2.86656725024e-08+0j)
1 (2.31630860326e-12+0j)
2 (-2.07712407274e-08+0j)
3 (6.79555596435e-05+0j)
4 (2.07689296872e-08+0j)
5 (-0.686951518059+0j)
1 (-2.55608547661e-08+0j)
2 (1.27339729872e-08+0j)
3 (-0.749936163425+0j)
4 (1.27377095538e-08+0j)
5 (-6.18639533059e-05+0j)
3 8
1 (-7.42354511196e-10+0j)
2 (-0.407458901405+0j)
3 (-0.132825627923+0j)
4 (-1.12258624618e-09+0j)
5 (0.230060741305+0j)
1 (-0.529840826988+0j)
2 (1.02242869726e-09+0j)
3 (1.47169805231e-08+0j)
4 (0.529840826988+0j)
5 (8.58095106082e-09+0j)
1 (-5.59593660299e-09+0j)
2 (-0.46026712656+0j)
3 (-0.189698129892+0j)
4 (-3.64733043767e-09+0j)
5 (0.328566819429+0j)
1 (-5.92653073284e-08+0j)
2 (-0.511403858662+0j)
3 (0.342116594315+0j)
4 (-5.81566510505e-08+0j)
5 (-0.592563331127+0j)
1 (9.17969966707e-09+0j)
2 (3.7528921637e-10+0j)
3 (0.743389487267+0j)
4 (-7.80711495452e-09+0j)
5 (0.429196119308+0j)
1 (-0.60352396965+0j)
2 (5.06060757743e-07+0j)
3 (1.02901012156e-07+0j)
4 (-0.60352396965+0j)
5 (-1.76288821763e-07+0j)
3 7
1 (-0.157831609249+0j)
2 (0.157831639051+0j)
3 (1.93573299612e-08+0j)
4 (0.157831639051+0j)
5 (5.40782289825e-14+0j)
1 (-1.07380124348e-07+0j)
2 (-0.227066069841+0j)
3 (-1.22580686934e-07+0j)
4 (0.227065965533+0j)
5 (0.299297988415+0j)
1 (0.115845791996+0j)
2 (0.057922616601+0j)
3 (0.13223952055+0j)
4 (0.0579231306911+0j)
5 (3.36705625159e-07+0j)
1 (0.159106343985+0j)
2 (0.0795532241464+0j)
3 (-0.240490317345+0j)
4 (0.0795530825853+0j)
5 (1.18692518924e-07+0j)
1 (3.98122104173e-08+0j)
2 (-0.241537705064+0j)
3 (-6.01558127755e-08+0j)
4 (0.241537734866+0j)
5 (-0.421558618546+0j)
3 7
1 (7.91286647317e-10+0j)
2 (3.03037844818e-10+0j)
3 (0.204362645745+0j)
4 (4.89190632447e-10+0j)
5 (-0.353966474533+0j)
1 (9.13699960137e-09+0j)
2 (1.0438577086e-10+0j)
3 (-0.42577791214+0j)
4 (-6.95880419954e-09+0j)
5 (-0.245822981+0j)
1 (0.368288576603+0j)
2 (1.67113629601e-08+0j)
3 (-1.44080747333e-10+0j)
4 (0.365979760885+0j)
5 (1.25375620996e-09+0j)
1 (0.365983724594+0j)
2 (-2.74820233237e-09+0j)
3 (1.77222470032e-09+0j)
4 (-0.368292748928+0j)
5 (7.90098320103e-10+0j)
1 (-3.99936368467e-08+0j)
2 (0.546248733997+0j)
3 (-2.91795543284e-09+0j)
4 (-2.16134438347e-07+0j)
5 (1.55786352707e-08+0j)

View File

@ -0,0 +1,115 @@
pars: {'ion_list': array([0]), 'user_index': 1, 'lshell': 2}
3 8
1 (2.5198055198e-08+0j)
2 (2.51956215891e-08+0j)
3 (-1.39707700703e-12+0j)
4 (2.51956464581e-08+0j)
5 (-9.58669992349e-14+0j)
1 (0.423249542713+0j)
2 (0.441459685564+0j)
3 (5.45383349593e-10+0j)
4 (0.441459536552+0j)
5 (-5.07696386694e-15+0j)
1 (-0.624317586422+0j)
2 (0.299283236265+0j)
3 (3.00651912255e-08+0j)
4 (0.299281418324+0j)
5 (-5.44629513472e-14+0j)
1 (-2.9753928743e-07+0j)
2 (-0.495364636183+0j)
3 (1.61749496311e-14+0j)
4 (0.495365083218+0j)
5 (2.86656725024e-08+0j)
1 (2.31630860326e-12+0j)
2 (-2.07712407274e-08+0j)
3 (6.79555596435e-05+0j)
4 (2.07689296872e-08+0j)
5 (-0.686951518059+0j)
1 (-2.55608547661e-08+0j)
2 (1.27339729872e-08+0j)
3 (-0.749936163425+0j)
4 (1.27377095538e-08+0j)
5 (-6.18639533059e-05+0j)
3 8
1 (-7.42354511196e-10+0j)
2 (-0.407458901405+0j)
3 (-0.132825627923+0j)
4 (-1.12258624618e-09+0j)
5 (0.230060741305+0j)
1 (-0.529840826988+0j)
2 (1.02242869726e-09+0j)
3 (1.47169805231e-08+0j)
4 (0.529840826988+0j)
5 (8.58095106082e-09+0j)
1 (-5.59593660299e-09+0j)
2 (-0.46026712656+0j)
3 (-0.189698129892+0j)
4 (-3.64733043767e-09+0j)
5 (0.328566819429+0j)
1 (-5.92653073284e-08+0j)
2 (-0.511403858662+0j)
3 (0.342116594315+0j)
4 (-5.81566510505e-08+0j)
5 (-0.592563331127+0j)
1 (9.17969966707e-09+0j)
2 (3.7528921637e-10+0j)
3 (0.743389487267+0j)
4 (-7.80711495452e-09+0j)
5 (0.429196119308+0j)
1 (-0.60352396965+0j)
2 (5.06060757743e-07+0j)
3 (1.02901012156e-07+0j)
4 (-0.60352396965+0j)
5 (-1.76288821763e-07+0j)
3 7
1 (-0.157831609249+0j)
2 (0.157831639051+0j)
3 (1.93573299612e-08+0j)
4 (0.157831639051+0j)
5 (5.40782289825e-14+0j)
1 (-1.07380124348e-07+0j)
2 (-0.227066069841+0j)
3 (-1.22580686934e-07+0j)
4 (0.227065965533+0j)
5 (0.299297988415+0j)
1 (0.115845791996+0j)
2 (0.057922616601+0j)
3 (0.13223952055+0j)
4 (0.0579231306911+0j)
5 (3.36705625159e-07+0j)
1 (0.159106343985+0j)
2 (0.0795532241464+0j)
3 (-0.240490317345+0j)
4 (0.0795530825853+0j)
5 (1.18692518924e-07+0j)
1 (3.98122104173e-08+0j)
2 (-0.241537705064+0j)
3 (-6.01558127755e-08+0j)
4 (0.241537734866+0j)
5 (-0.421558618546+0j)
3 7
1 (7.91286647317e-10+0j)
2 (3.03037844818e-10+0j)
3 (0.204362645745+0j)
4 (4.89190632447e-10+0j)
5 (-0.353966474533+0j)
1 (9.13699960137e-09+0j)
2 (1.0438577086e-10+0j)
3 (-0.42577791214+0j)
4 (-6.95880419954e-09+0j)
5 (-0.245822981+0j)
1 (0.368288576603+0j)
2 (1.67113629601e-08+0j)
3 (-1.44080747333e-10+0j)
4 (0.365979760885+0j)
5 (1.25375620996e-09+0j)
1 (0.365983724594+0j)
2 (-2.74820233237e-09+0j)
3 (1.77222470032e-09+0j)
4 (-0.368292748928+0j)
5 (7.90098320103e-10+0j)
1 (-3.99936368467e-08+0j)
2 (0.546248733997+0j)
3 (-2.91795543284e-09+0j)
4 (-2.16134438347e-07+0j)
5 (1.55786352707e-08+0j)

View File

@ -0,0 +1 @@
PYTHONPATH=../../python:../../c:$PYTHONPATH python $1

View File

@ -0,0 +1,34 @@
import vaspio
from inpconf import ConfigParameters
import mytest
################################################################################
#
# TestDataConsistency
#
################################################################################
class TestDataConsistency(mytest.MyTestCase):
"""
Function:
def read_plocar(filename)
Scenarios:
- **if** file PLOCAR does not exist **raise** IOError
- **if** PLOCAR is truncated **raise** IOError
- **if** the precision flag is not 4 or 8 **raise** ValueError
- **if** PLOCAR with prec=8 is read **compare** the output
- **if** PLOCAR with prec=4 is read **compare** the output
"""
# Scenario 1
def test_example(self):
conf_file = 'example.cfg'
pars = ConfigParameters(conf_file)
pars.parse_input()
vasp_data = vaspio.VaspData('./')
print pars.shells
print pars.groups

View File

@ -0,0 +1,10 @@
r"""
Test suite for module `plotools`.
"""
import unittest
if __name__ == '__main__':
suite = unittest.TestLoader().discover('./')
# unittest.TextTestRunner(verbosity=2, buffer=True).run(suite)
unittest.TextTestRunner(verbosity=2, buffer=False).run(suite)

View File

@ -0,0 +1,79 @@
import numpy as np
import vaspio
from inpconf import ConfigParameters
from plotools import ProjectorShell, ProjectorGroup
import mytest
################################################################################
#
# TestProjectorGroup
#
################################################################################
class TestProjectorGroup(mytest.MyTestCase):
"""
Class:
ProjectorGroup(sh_pars, proj_raw)
Scenarios:
- test output for a correct input
- test the output of 'orthogonalization()' (sanity check)
"""
def setUp(self):
conf_file = 'example.cfg'
self.pars = ConfigParameters(conf_file)
self.pars.parse_input()
self.vasp_data = vaspio.VaspData('./')
efermi = self.vasp_data.doscar.efermi
eigvals = self.vasp_data.eigenval.eigs - efermi
self.shells = [ProjectorShell(self.pars.shells[0], self.vasp_data.plocar.plo)]
self.proj_gr = ProjectorGroup(self.pars.groups[0], self.shells, eigvals)
# Scenario 1
def test_example(self):
# proj_sh.select_projectors(ib_win, nb_min, nb_max)
#
testout = 'projgroups.out.test'
nion, ns, nk, nlm, nbtot = self.proj_gr.shells[0].proj_win.shape
with open(testout, 'wt') as f:
f.write("pars: %s\n"%(self.pars.groups[0]))
for ion in xrange(nion):
for isp in xrange(ns):
for ik in xrange(nk):
ib1 = self.proj_gr.ib_win[ik, 0, 0]
ib2 = self.proj_gr.ib_win[ik, 0, 1]
f.write("%i %i\n"%(ib1, ib2))
ib1w = ib1 - self.proj_gr.nb_min
ib2w = ib2 - self.proj_gr.nb_min + 1
for ib in xrange(ib1w, ib2w):
for ilm in xrange(nlm):
p = self.proj_gr.shells[0].proj_win[ion, isp, ik, ilm, ib]
f.write("%5i %s\n"%(ilm+1, p))
# Scenario 2
def test_ortho(self):
self.proj_gr.orthogonalize()
testout = 'projortho.out.test'
nion, ns, nk, nlm, nbtot = self.proj_gr.shells[0].proj_win.shape
with open(testout, 'wt') as f:
f.write("pars: %s\n"%(self.pars.groups[0]))
for ion in xrange(nion):
for isp in xrange(ns):
for ik in xrange(nk):
ib1 = self.proj_gr.ib_win[ik, 0, 0]
ib2 = self.proj_gr.ib_win[ik, 0, 1]
f.write("%i %i\n"%(ib1, ib2))
ib1w = ib1 - self.proj_gr.nb_min
ib2w = ib2 - self.proj_gr.nb_min + 1
for ib in xrange(ib1w, ib2w):
for ilm in xrange(nlm):
p = self.proj_gr.shells[0].proj_win[ion, isp, ik, ilm, ib]
f.write("%5i %s\n"%(ilm+1, p))
expected_file = 'projortho.out'
self.assertFileEqual(testout, expected_file)

View File

@ -0,0 +1,86 @@
import numpy as np
import vaspio
import elstruct
from inpconf import ConfigParameters
from plotools import select_bands, ProjectorShell
import mytest
################################################################################
#
# TestProjectorShell
#
################################################################################
class TestProjectorShell(mytest.MyTestCase):
"""
Class:
ProjectorShell(sh_pars, proj_raw)
Scenarios:
- compare output for a correct input
- test density matrix
"""
# Scenario 1
def test_example(self):
conf_file = 'example.cfg'
pars = ConfigParameters(conf_file)
pars.parse_input()
vasp_data = vaspio.VaspData('./')
efermi = vasp_data.doscar.efermi
eigvals = vasp_data.eigenval.eigs - efermi
emin = pars.groups[0]['emin']
emax = pars.groups[0]['emax']
ib_win, nb_min, nb_max = select_bands(eigvals, emin, emax)
proj_sh = ProjectorShell(pars.shells[0], vasp_data.plocar.plo)
proj_sh.select_projectors(ib_win, nb_min, nb_max)
testout = 'projshells.out.test'
nion, ns, nk, nlm, nbtot = proj_sh.proj_win.shape
with open(testout, 'wt') as f:
f.write("pars: %s\n"%(pars.shells[0]))
for ion in xrange(nion):
for isp in xrange(ns):
for ik in xrange(nk):
ib1 = ib_win[ik, 0, 0]
ib2 = ib_win[ik, 0, 1]
f.write("%i %i\n"%(ib1, ib2))
for ib in xrange(ib2 - nb_min + 1):
for ilm in xrange(nlm):
p = proj_sh.proj_win[ion, isp, ik, ilm, ib]
f.write("%5i %s\n"%(ilm+1, p))
expected_file = 'projshells.out'
self.assertFileEqual(testout, expected_file)
# Scenario 2
def test_dens_mat(self):
conf_file = 'example.cfg'
pars = ConfigParameters(conf_file)
pars.parse_input()
vasp_data = vaspio.VaspData('./')
el_struct = elstruct.ElectronicStructure(vasp_data)
efermi = el_struct.efermi
eigvals = el_struct.eigvals - efermi
emin = pars.groups[0]['emin']
emax = pars.groups[0]['emax']
ib_win, nb_min, nb_max = select_bands(eigvals, emin, emax)
proj_sh = ProjectorShell(pars.shells[0], vasp_data.plocar.plo)
proj_sh.select_projectors(ib_win, nb_min, nb_max)
dens_mat = proj_sh.density_matrix(el_struct)
print dens_mat
testout = 'densmat.out.test'
with open(testout, 'wt') as f:
f.write("density matrix: %s\n"%(dens_mat))
expected_file = 'densmat.out'
self.assertFileEqual(testout, expected_file)

View File

@ -0,0 +1,73 @@
import numpy as np
import vaspio
from inpconf import ConfigParameters
from plotools import select_bands
import mytest
################################################################################
#
# TestSelectBands
#
################################################################################
class TestSelectBands(mytest.MyTestCase):
"""
Function:
def select_bands(eigvals, emin, emax)
Scenarios:
- compare output for a correct input
- **if** emin > max(eigvals) **raise** Exception
- **if** emax > min(eigvals) **raise** Exception
"""
# Scenario 1
def test_example(self):
conf_file = 'example.cfg'
pars = ConfigParameters(conf_file)
pars.parse_input()
vasp_data = vaspio.VaspData('./')
efermi = vasp_data.doscar.efermi
eigvals = vasp_data.eigenval.eigs - efermi
emin = pars.groups[0]['emin']
emax = pars.groups[0]['emax']
ib_win, nb_min, nb_max = select_bands(eigvals, emin, emax)
nb_min_exp = 3
nb_max_exp = 8
ib_win_exp = np.array([[[3, 8]], [[3, 8]], [[3, 7]], [[3, 7]]])
self.assertEqual(nb_min, nb_min_exp)
self.assertEqual(nb_max, nb_max_exp)
self.assertEqual(ib_win, ib_win_exp)
# Scenario 2
def test_emin_too_large(self):
conf_file = 'example.cfg'
pars = ConfigParameters(conf_file)
pars.parse_input()
vasp_data = vaspio.VaspData('./')
efermi = vasp_data.doscar.efermi
eigvals = vasp_data.eigenval.eigs - efermi
emin = 20.0
emax = 25.0
with self.assertRaisesRegexp(Exception, "Energy window does not overlap"):
ib_win, nb_min, nb_max = select_bands(eigvals, emin, emax)
# Scenario 3
def test_emax_too_small(self):
conf_file = 'example.cfg'
pars = ConfigParameters(conf_file)
pars.parse_input()
vasp_data = vaspio.VaspData('./')
efermi = vasp_data.doscar.efermi
eigvals = vasp_data.eigenval.eigs - efermi
emin = -50.0
emax = -55.0
with self.assertRaisesRegexp(Exception, "Energy window does not overlap"):
ib_win, nb_min, nb_max = select_bands(eigvals, emin, emax)

View File

@ -0,0 +1,2 @@
*.pyc
*.test

View File

@ -0,0 +1,609 @@
1 1 1 0
0.1333597E+02 0.2587511E-09 0.2587511E-09 0.2587511E-09 0.5000000E-15
1.000000000000000E-004
CAR
V
17.10090628 -34.14880953 301 5.84395237 1.00000000
-34.149 0.0000E+00 0.0000E+00
-33.978 0.0000E+00 0.0000E+00
-33.807 0.0000E+00 0.0000E+00
-33.636 0.0000E+00 0.0000E+00
-33.465 0.0000E+00 0.0000E+00
-33.295 0.0000E+00 0.0000E+00
-33.124 0.0000E+00 0.0000E+00
-32.953 0.0000E+00 0.0000E+00
-32.782 0.3428E-37 0.5857E-38
-32.611 0.1961E-24 0.3349E-25
-32.440 0.2784E-14 0.4757E-15
-32.270 0.8681E-07 0.1483E-07
-32.099 0.3941E-02 0.6732E-03
-31.928 -0.2188E+00 -0.3670E-01
-31.757 0.8736E+01 0.1456E+01
-31.586 0.8403E+01 0.2891E+01
-31.415 0.2792E+01 0.3368E+01
-31.245 0.6307E+01 0.4445E+01
-31.074 0.7856E+01 0.5787E+01
-30.903 0.1212E+01 0.5994E+01
-30.732 0.3246E-01 0.6000E+01
-30.561 0.3448E-04 0.6000E+01
-30.390 0.2050E-10 0.6000E+01
-30.220 0.0000E+00 0.6000E+01
-30.049 0.0000E+00 0.6000E+01
-29.878 0.0000E+00 0.6000E+01
-29.707 0.0000E+00 0.6000E+01
-29.536 0.0000E+00 0.6000E+01
-29.366 0.0000E+00 0.6000E+01
-29.195 0.0000E+00 0.6000E+01
-29.024 0.0000E+00 0.6000E+01
-28.853 0.0000E+00 0.6000E+01
-28.682 0.0000E+00 0.6000E+01
-28.511 0.0000E+00 0.6000E+01
-28.341 0.0000E+00 0.6000E+01
-28.170 0.0000E+00 0.6000E+01
-27.999 0.0000E+00 0.6000E+01
-27.828 0.0000E+00 0.6000E+01
-27.657 0.0000E+00 0.6000E+01
-27.486 0.0000E+00 0.6000E+01
-27.316 0.0000E+00 0.6000E+01
-27.145 0.0000E+00 0.6000E+01
-26.974 0.0000E+00 0.6000E+01
-26.803 0.0000E+00 0.6000E+01
-26.632 0.0000E+00 0.6000E+01
-26.461 0.0000E+00 0.6000E+01
-26.291 0.0000E+00 0.6000E+01
-26.120 0.0000E+00 0.6000E+01
-25.949 0.0000E+00 0.6000E+01
-25.778 0.0000E+00 0.6000E+01
-25.607 0.0000E+00 0.6000E+01
-25.436 0.0000E+00 0.6000E+01
-25.266 0.0000E+00 0.6000E+01
-25.095 0.0000E+00 0.6000E+01
-24.924 0.0000E+00 0.6000E+01
-24.753 0.0000E+00 0.6000E+01
-24.582 0.0000E+00 0.6000E+01
-24.411 0.0000E+00 0.6000E+01
-24.241 0.0000E+00 0.6000E+01
-24.070 0.0000E+00 0.6000E+01
-23.899 0.0000E+00 0.6000E+01
-23.728 0.0000E+00 0.6000E+01
-23.557 0.0000E+00 0.6000E+01
-23.386 0.0000E+00 0.6000E+01
-23.216 0.0000E+00 0.6000E+01
-23.045 0.0000E+00 0.6000E+01
-22.874 0.0000E+00 0.6000E+01
-22.703 0.0000E+00 0.6000E+01
-22.532 0.0000E+00 0.6000E+01
-22.361 0.0000E+00 0.6000E+01
-22.191 0.0000E+00 0.6000E+01
-22.020 0.0000E+00 0.6000E+01
-21.849 0.0000E+00 0.6000E+01
-21.678 0.0000E+00 0.6000E+01
-21.507 0.0000E+00 0.6000E+01
-21.336 0.0000E+00 0.6000E+01
-21.166 0.0000E+00 0.6000E+01
-20.995 0.0000E+00 0.6000E+01
-20.824 0.0000E+00 0.6000E+01
-20.653 0.0000E+00 0.6000E+01
-20.482 0.0000E+00 0.6000E+01
-20.311 0.0000E+00 0.6000E+01
-20.141 0.0000E+00 0.6000E+01
-19.970 0.0000E+00 0.6000E+01
-19.799 0.0000E+00 0.6000E+01
-19.628 0.0000E+00 0.6000E+01
-19.457 0.0000E+00 0.6000E+01
-19.286 0.0000E+00 0.6000E+01
-19.116 0.0000E+00 0.6000E+01
-18.945 0.0000E+00 0.6000E+01
-18.774 0.0000E+00 0.6000E+01
-18.603 0.0000E+00 0.6000E+01
-18.432 0.0000E+00 0.6000E+01
-18.261 0.0000E+00 0.6000E+01
-18.091 0.0000E+00 0.6000E+01
-17.920 0.0000E+00 0.6000E+01
-17.749 0.0000E+00 0.6000E+01
-17.578 0.0000E+00 0.6000E+01
-17.407 0.0000E+00 0.6000E+01
-17.236 0.0000E+00 0.6000E+01
-17.066 0.0000E+00 0.6000E+01
-16.895 0.0000E+00 0.6000E+01
-16.724 0.0000E+00 0.6000E+01
-16.553 0.0000E+00 0.6000E+01
-16.382 0.0000E+00 0.6000E+01
-16.211 0.0000E+00 0.6000E+01
-16.041 0.0000E+00 0.6000E+01
-15.870 0.0000E+00 0.6000E+01
-15.699 0.0000E+00 0.6000E+01
-15.528 0.0000E+00 0.6000E+01
-15.357 0.0000E+00 0.6000E+01
-15.186 0.0000E+00 0.6000E+01
-15.016 0.0000E+00 0.6000E+01
-14.845 0.0000E+00 0.6000E+01
-14.674 0.0000E+00 0.6000E+01
-14.503 0.0000E+00 0.6000E+01
-14.332 0.0000E+00 0.6000E+01
-14.161 0.0000E+00 0.6000E+01
-13.991 0.0000E+00 0.6000E+01
-13.820 0.0000E+00 0.6000E+01
-13.649 0.0000E+00 0.6000E+01
-13.478 0.0000E+00 0.6000E+01
-13.307 0.0000E+00 0.6000E+01
-13.136 0.0000E+00 0.6000E+01
-12.966 0.0000E+00 0.6000E+01
-12.795 0.0000E+00 0.6000E+01
-12.624 0.0000E+00 0.6000E+01
-12.453 0.0000E+00 0.6000E+01
-12.282 0.0000E+00 0.6000E+01
-12.111 0.0000E+00 0.6000E+01
-11.941 0.0000E+00 0.6000E+01
-11.770 0.0000E+00 0.6000E+01
-11.599 0.0000E+00 0.6000E+01
-11.428 0.0000E+00 0.6000E+01
-11.257 0.0000E+00 0.6000E+01
-11.086 0.0000E+00 0.6000E+01
-10.916 0.0000E+00 0.6000E+01
-10.745 0.0000E+00 0.6000E+01
-10.574 0.0000E+00 0.6000E+01
-10.403 0.0000E+00 0.6000E+01
-10.232 0.0000E+00 0.6000E+01
-10.061 0.0000E+00 0.6000E+01
-9.891 0.0000E+00 0.6000E+01
-9.720 0.0000E+00 0.6000E+01
-9.549 0.0000E+00 0.6000E+01
-9.378 0.0000E+00 0.6000E+01
-9.207 0.0000E+00 0.6000E+01
-9.036 0.0000E+00 0.6000E+01
-8.866 0.0000E+00 0.6000E+01
-8.695 0.0000E+00 0.6000E+01
-8.524 0.0000E+00 0.6000E+01
-8.353 0.0000E+00 0.6000E+01
-8.182 0.0000E+00 0.6000E+01
-8.011 0.0000E+00 0.6000E+01
-7.841 0.0000E+00 0.6000E+01
-7.670 0.0000E+00 0.6000E+01
-7.499 0.0000E+00 0.6000E+01
-7.328 0.0000E+00 0.6000E+01
-7.157 0.0000E+00 0.6000E+01
-6.986 0.0000E+00 0.6000E+01
-6.816 0.0000E+00 0.6000E+01
-6.645 0.0000E+00 0.6000E+01
-6.474 0.0000E+00 0.6000E+01
-6.303 0.0000E+00 0.6000E+01
-6.132 0.0000E+00 0.6000E+01
-5.961 0.0000E+00 0.6000E+01
-5.791 0.0000E+00 0.6000E+01
-5.620 0.0000E+00 0.6000E+01
-5.449 0.0000E+00 0.6000E+01
-5.278 0.0000E+00 0.6000E+01
-5.107 0.0000E+00 0.6000E+01
-4.936 0.0000E+00 0.6000E+01
-4.766 0.0000E+00 0.6000E+01
-4.595 0.0000E+00 0.6000E+01
-4.424 0.0000E+00 0.6000E+01
-4.253 0.0000E+00 0.6000E+01
-4.082 0.0000E+00 0.6000E+01
-3.911 0.0000E+00 0.6000E+01
-3.741 0.0000E+00 0.6000E+01
-3.570 0.0000E+00 0.6000E+01
-3.399 0.0000E+00 0.6000E+01
-3.228 0.0000E+00 0.6000E+01
-3.057 0.0000E+00 0.6000E+01
-2.886 0.0000E+00 0.6000E+01
-2.716 0.0000E+00 0.6000E+01
-2.545 0.0000E+00 0.6000E+01
-2.374 0.0000E+00 0.6000E+01
-2.203 0.0000E+00 0.6000E+01
-2.032 0.0000E+00 0.6000E+01
-1.861 0.0000E+00 0.6000E+01
-1.691 0.1508E-31 0.6000E+01
-1.520 0.4300E-20 0.6000E+01
-1.349 0.2901E-11 0.6000E+01
-1.178 0.3715E-05 0.6000E+01
-1.007 0.2036E-02 0.6000E+01
-0.836 0.1134E+00 0.6020E+01
-0.666 0.3236E+00 0.6075E+01
-0.495 -0.5496E-02 0.6074E+01
-0.324 0.5193E-04 0.6074E+01
-0.153 0.2420E-09 0.6074E+01
0.018 0.0000E+00 0.6074E+01
0.189 0.0000E+00 0.6074E+01
0.359 0.0000E+00 0.6074E+01
0.530 0.0000E+00 0.6074E+01
0.701 0.0000E+00 0.6074E+01
0.872 0.0000E+00 0.6074E+01
1.043 0.0000E+00 0.6074E+01
1.213 0.0000E+00 0.6074E+01
1.384 0.1441E-25 0.6074E+01
1.555 0.3694E-15 0.6074E+01
1.726 0.2113E-07 0.6074E+01
1.897 0.1843E-02 0.6074E+01
2.068 -0.1717E+00 0.6045E+01
2.238 0.4911E+01 0.6884E+01
2.409 0.4385E+00 0.6959E+01
2.580 0.2317E-01 0.6963E+01
2.751 0.1027E-04 0.6963E+01
2.922 0.1649E-07 0.6963E+01
3.093 0.1161E-02 0.6963E+01
3.263 -0.9886E-01 0.6946E+01
3.434 0.2549E+01 0.7382E+01
3.605 0.1134E+00 0.7401E+01
3.776 0.1880E+01 0.7722E+01
3.947 0.1410E+01 0.7963E+01
4.118 0.2885E+01 0.8456E+01
4.288 -0.6849E-01 0.8444E+01
4.459 0.1593E-01 0.8447E+01
4.630 -0.3213E+00 0.8392E+01
4.801 0.1107E+02 0.1028E+02
4.972 0.1346E+01 0.1051E+02
5.143 0.3027E-01 0.1052E+02
5.313 0.6891E-04 0.1052E+02
5.484 0.8093E-04 0.1052E+02
5.655 0.1912E-01 0.1052E+02
5.826 0.1840E+01 0.1084E+02
5.997 0.4326E+01 0.1158E+02
6.168 0.3115E+00 0.1163E+02
6.338 0.6462E-02 0.1163E+02
6.509 0.1132E-04 0.1163E+02
6.680 0.8927E-11 0.1163E+02
6.851 0.7510E-09 0.1163E+02
7.022 0.2862E-03 0.1163E+02
7.193 -0.1755E-01 0.1163E+02
7.363 0.3080E+01 0.1215E+02
7.534 0.2128E+01 0.1252E+02
7.705 -0.1424E+00 0.1249E+02
7.876 0.4758E+01 0.1330E+02
8.047 0.1429E+01 0.1355E+02
8.218 0.4090E+01 0.1425E+02
8.388 0.9009E+01 0.1579E+02
8.559 0.2760E+01 0.1626E+02
8.730 0.4220E+01 0.1698E+02
8.901 -0.9675E-01 0.1696E+02
9.072 0.8982E-03 0.1696E+02
9.243 0.5584E-08 0.1696E+02
9.413 0.0000E+00 0.1696E+02
9.584 0.0000E+00 0.1696E+02
9.755 0.0000E+00 0.1696E+02
9.926 0.0000E+00 0.1696E+02
10.097 0.4864E-37 0.1696E+02
10.268 0.2294E-24 0.1696E+02
10.438 0.2678E-14 0.1696E+02
10.609 0.6806E-07 0.1696E+02
10.780 0.2349E-02 0.1696E+02
10.951 -0.1323E+00 0.1694E+02
11.122 0.2769E+01 0.1741E+02
11.293 -0.4470E-01 0.1741E+02
11.463 0.7455E-02 0.1741E+02
11.634 0.1064E-05 0.1741E+02
11.805 0.1554E-12 0.1741E+02
11.976 0.0000E+00 0.1741E+02
12.147 0.0000E+00 0.1741E+02
12.318 0.0000E+00 0.1741E+02
12.488 0.0000E+00 0.1741E+02
12.659 0.0000E+00 0.1741E+02
12.830 0.0000E+00 0.1741E+02
13.001 0.0000E+00 0.1741E+02
13.172 0.0000E+00 0.1741E+02
13.343 0.0000E+00 0.1741E+02
13.513 0.0000E+00 0.1741E+02
13.684 0.0000E+00 0.1741E+02
13.855 0.1244E-33 0.1741E+02
14.026 0.1396E-21 0.1741E+02
14.197 0.3803E-12 0.1741E+02
14.368 0.2119E-05 0.1741E+02
14.538 0.1137E-01 0.1741E+02
14.709 0.3659E-02 0.1741E+02
14.880 0.3617E+01 0.1803E+02
15.051 -0.1653E+00 0.1800E+02
15.222 0.2517E-02 0.1800E+02
15.393 0.5772E-07 0.1800E+02
15.563 0.1926E-14 0.1800E+02
15.734 0.0000E+00 0.1800E+02
15.905 0.0000E+00 0.1800E+02
16.076 0.0000E+00 0.1800E+02
16.247 0.0000E+00 0.1800E+02
16.418 0.0000E+00 0.1800E+02
16.588 0.0000E+00 0.1800E+02
16.759 0.0000E+00 0.1800E+02
16.930 0.0000E+00 0.1800E+02
17.101 0.0000E+00 0.1800E+02
17.10090628 -34.14880953 301 5.84395237 1.00000000
-34.149 0.0000E+00 0.0000E+00 0.0000E+00
-33.978 0.0000E+00 0.0000E+00 0.0000E+00
-33.807 0.0000E+00 0.0000E+00 0.0000E+00
-33.636 0.0000E+00 0.0000E+00 0.0000E+00
-33.465 0.0000E+00 0.0000E+00 0.0000E+00
-33.295 0.0000E+00 0.0000E+00 0.0000E+00
-33.124 0.0000E+00 0.0000E+00 0.0000E+00
-32.953 0.0000E+00 0.0000E+00 0.0000E+00
-32.782 0.2282E-40 0.3359E-37 0.5411E-41
-32.611 0.1305E-27 0.1921E-24 0.3095E-28
-32.440 0.1853E-17 0.2728E-14 0.4398E-18
-32.270 0.5762E-10 0.8504E-07 0.1383E-10
-32.099 0.2518E-05 0.3861E-02 0.7137E-06
-31.928 -0.1566E-03 -0.2142E+00 -0.2459E-04
-31.757 0.3856E-02 0.8567E+01 0.3103E-02
-31.586 0.1543E-02 0.8270E+01 0.4254E-02
-31.415 -0.3177E-04 0.2760E+01 0.1220E-02
-31.245 0.3742E-04 0.6273E+01 0.1032E-02
-31.074 0.1298E-03 0.7836E+01 0.2060E-03
-30.903 -0.2630E-05 0.1210E+01 -0.3012E-05
-30.732 0.2432E-07 0.3240E-01 0.4557E-07
-30.561 0.1332E-12 0.3442E-04 0.2841E-12
-30.390 0.2660E-32 0.2046E-10 0.1981E-19
-30.220 0.0000E+00 0.0000E+00 0.0000E+00
-30.049 0.0000E+00 0.0000E+00 0.0000E+00
-29.878 0.0000E+00 0.0000E+00 0.0000E+00
-29.707 0.0000E+00 0.0000E+00 0.0000E+00
-29.536 0.0000E+00 0.0000E+00 0.0000E+00
-29.366 0.0000E+00 0.0000E+00 0.0000E+00
-29.195 0.0000E+00 0.0000E+00 0.0000E+00
-29.024 0.0000E+00 0.0000E+00 0.0000E+00
-28.853 0.0000E+00 0.0000E+00 0.0000E+00
-28.682 0.0000E+00 0.0000E+00 0.0000E+00
-28.511 0.0000E+00 0.0000E+00 0.0000E+00
-28.341 0.0000E+00 0.0000E+00 0.0000E+00
-28.170 0.0000E+00 0.0000E+00 0.0000E+00
-27.999 0.0000E+00 0.0000E+00 0.0000E+00
-27.828 0.0000E+00 0.0000E+00 0.0000E+00
-27.657 0.0000E+00 0.0000E+00 0.0000E+00
-27.486 0.0000E+00 0.0000E+00 0.0000E+00
-27.316 0.0000E+00 0.0000E+00 0.0000E+00
-27.145 0.0000E+00 0.0000E+00 0.0000E+00
-26.974 0.0000E+00 0.0000E+00 0.0000E+00
-26.803 0.0000E+00 0.0000E+00 0.0000E+00
-26.632 0.0000E+00 0.0000E+00 0.0000E+00
-26.461 0.0000E+00 0.0000E+00 0.0000E+00
-26.291 0.0000E+00 0.0000E+00 0.0000E+00
-26.120 0.0000E+00 0.0000E+00 0.0000E+00
-25.949 0.0000E+00 0.0000E+00 0.0000E+00
-25.778 0.0000E+00 0.0000E+00 0.0000E+00
-25.607 0.0000E+00 0.0000E+00 0.0000E+00
-25.436 0.0000E+00 0.0000E+00 0.0000E+00
-25.266 0.0000E+00 0.0000E+00 0.0000E+00
-25.095 0.0000E+00 0.0000E+00 0.0000E+00
-24.924 0.0000E+00 0.0000E+00 0.0000E+00
-24.753 0.0000E+00 0.0000E+00 0.0000E+00
-24.582 0.0000E+00 0.0000E+00 0.0000E+00
-24.411 0.0000E+00 0.0000E+00 0.0000E+00
-24.241 0.0000E+00 0.0000E+00 0.0000E+00
-24.070 0.0000E+00 0.0000E+00 0.0000E+00
-23.899 0.0000E+00 0.0000E+00 0.0000E+00
-23.728 0.0000E+00 0.0000E+00 0.0000E+00
-23.557 0.0000E+00 0.0000E+00 0.0000E+00
-23.386 0.0000E+00 0.0000E+00 0.0000E+00
-23.216 0.0000E+00 0.0000E+00 0.0000E+00
-23.045 0.0000E+00 0.0000E+00 0.0000E+00
-22.874 0.0000E+00 0.0000E+00 0.0000E+00
-22.703 0.0000E+00 0.0000E+00 0.0000E+00
-22.532 0.0000E+00 0.0000E+00 0.0000E+00
-22.361 0.0000E+00 0.0000E+00 0.0000E+00
-22.191 0.0000E+00 0.0000E+00 0.0000E+00
-22.020 0.0000E+00 0.0000E+00 0.0000E+00
-21.849 0.0000E+00 0.0000E+00 0.0000E+00
-21.678 0.0000E+00 0.0000E+00 0.0000E+00
-21.507 0.0000E+00 0.0000E+00 0.0000E+00
-21.336 0.0000E+00 0.0000E+00 0.0000E+00
-21.166 0.0000E+00 0.0000E+00 0.0000E+00
-20.995 0.0000E+00 0.0000E+00 0.0000E+00
-20.824 0.0000E+00 0.0000E+00 0.0000E+00
-20.653 0.0000E+00 0.0000E+00 0.0000E+00
-20.482 0.0000E+00 0.0000E+00 0.0000E+00
-20.311 0.0000E+00 0.0000E+00 0.0000E+00
-20.141 0.0000E+00 0.0000E+00 0.0000E+00
-19.970 0.0000E+00 0.0000E+00 0.0000E+00
-19.799 0.0000E+00 0.0000E+00 0.0000E+00
-19.628 0.0000E+00 0.0000E+00 0.0000E+00
-19.457 0.0000E+00 0.0000E+00 0.0000E+00
-19.286 0.0000E+00 0.0000E+00 0.0000E+00
-19.116 0.0000E+00 0.0000E+00 0.0000E+00
-18.945 0.0000E+00 0.0000E+00 0.0000E+00
-18.774 0.0000E+00 0.0000E+00 0.0000E+00
-18.603 0.0000E+00 0.0000E+00 0.0000E+00
-18.432 0.0000E+00 0.0000E+00 0.0000E+00
-18.261 0.0000E+00 0.0000E+00 0.0000E+00
-18.091 0.0000E+00 0.0000E+00 0.0000E+00
-17.920 0.0000E+00 0.0000E+00 0.0000E+00
-17.749 0.0000E+00 0.0000E+00 0.0000E+00
-17.578 0.0000E+00 0.0000E+00 0.0000E+00
-17.407 0.0000E+00 0.0000E+00 0.0000E+00
-17.236 0.0000E+00 0.0000E+00 0.0000E+00
-17.066 0.0000E+00 0.0000E+00 0.0000E+00
-16.895 0.0000E+00 0.0000E+00 0.0000E+00
-16.724 0.0000E+00 0.0000E+00 0.0000E+00
-16.553 0.0000E+00 0.0000E+00 0.0000E+00
-16.382 0.0000E+00 0.0000E+00 0.0000E+00
-16.211 0.0000E+00 0.0000E+00 0.0000E+00
-16.041 0.0000E+00 0.0000E+00 0.0000E+00
-15.870 0.0000E+00 0.0000E+00 0.0000E+00
-15.699 0.0000E+00 0.0000E+00 0.0000E+00
-15.528 0.0000E+00 0.0000E+00 0.0000E+00
-15.357 0.0000E+00 0.0000E+00 0.0000E+00
-15.186 0.0000E+00 0.0000E+00 0.0000E+00
-15.016 0.0000E+00 0.0000E+00 0.0000E+00
-14.845 0.0000E+00 0.0000E+00 0.0000E+00
-14.674 0.0000E+00 0.0000E+00 0.0000E+00
-14.503 0.0000E+00 0.0000E+00 0.0000E+00
-14.332 0.0000E+00 0.0000E+00 0.0000E+00
-14.161 0.0000E+00 0.0000E+00 0.0000E+00
-13.991 0.0000E+00 0.0000E+00 0.0000E+00
-13.820 0.0000E+00 0.0000E+00 0.0000E+00
-13.649 0.0000E+00 0.0000E+00 0.0000E+00
-13.478 0.0000E+00 0.0000E+00 0.0000E+00
-13.307 0.0000E+00 0.0000E+00 0.0000E+00
-13.136 0.0000E+00 0.0000E+00 0.0000E+00
-12.966 0.0000E+00 0.0000E+00 0.0000E+00
-12.795 0.0000E+00 0.0000E+00 0.0000E+00
-12.624 0.0000E+00 0.0000E+00 0.0000E+00
-12.453 0.0000E+00 0.0000E+00 0.0000E+00
-12.282 0.0000E+00 0.0000E+00 0.0000E+00
-12.111 0.0000E+00 0.0000E+00 0.0000E+00
-11.941 0.0000E+00 0.0000E+00 0.0000E+00
-11.770 0.0000E+00 0.0000E+00 0.0000E+00
-11.599 0.0000E+00 0.0000E+00 0.0000E+00
-11.428 0.0000E+00 0.0000E+00 0.0000E+00
-11.257 0.0000E+00 0.0000E+00 0.0000E+00
-11.086 0.0000E+00 0.0000E+00 0.0000E+00
-10.916 0.0000E+00 0.0000E+00 0.0000E+00
-10.745 0.0000E+00 0.0000E+00 0.0000E+00
-10.574 0.0000E+00 0.0000E+00 0.0000E+00
-10.403 0.0000E+00 0.0000E+00 0.0000E+00
-10.232 0.0000E+00 0.0000E+00 0.0000E+00
-10.061 0.0000E+00 0.0000E+00 0.0000E+00
-9.891 0.0000E+00 0.0000E+00 0.0000E+00
-9.720 0.0000E+00 0.0000E+00 0.0000E+00
-9.549 0.0000E+00 0.0000E+00 0.0000E+00
-9.378 0.0000E+00 0.0000E+00 0.0000E+00
-9.207 0.0000E+00 0.0000E+00 0.0000E+00
-9.036 0.0000E+00 0.0000E+00 0.0000E+00
-8.866 0.0000E+00 0.0000E+00 0.0000E+00
-8.695 0.0000E+00 0.0000E+00 0.0000E+00
-8.524 0.0000E+00 0.0000E+00 0.0000E+00
-8.353 0.0000E+00 0.0000E+00 0.0000E+00
-8.182 0.0000E+00 0.0000E+00 0.0000E+00
-8.011 0.0000E+00 0.0000E+00 0.0000E+00
-7.841 0.0000E+00 0.0000E+00 0.0000E+00
-7.670 0.0000E+00 0.0000E+00 0.0000E+00
-7.499 0.0000E+00 0.0000E+00 0.0000E+00
-7.328 0.0000E+00 0.0000E+00 0.0000E+00
-7.157 0.0000E+00 0.0000E+00 0.0000E+00
-6.986 0.0000E+00 0.0000E+00 0.0000E+00
-6.816 0.0000E+00 0.0000E+00 0.0000E+00
-6.645 0.0000E+00 0.0000E+00 0.0000E+00
-6.474 0.0000E+00 0.0000E+00 0.0000E+00
-6.303 0.0000E+00 0.0000E+00 0.0000E+00
-6.132 0.0000E+00 0.0000E+00 0.0000E+00
-5.961 0.0000E+00 0.0000E+00 0.0000E+00
-5.791 0.0000E+00 0.0000E+00 0.0000E+00
-5.620 0.0000E+00 0.0000E+00 0.0000E+00
-5.449 0.0000E+00 0.0000E+00 0.0000E+00
-5.278 0.0000E+00 0.0000E+00 0.0000E+00
-5.107 0.0000E+00 0.0000E+00 0.0000E+00
-4.936 0.0000E+00 0.0000E+00 0.0000E+00
-4.766 0.0000E+00 0.0000E+00 0.0000E+00
-4.595 0.0000E+00 0.0000E+00 0.0000E+00
-4.424 0.0000E+00 0.0000E+00 0.0000E+00
-4.253 0.0000E+00 0.0000E+00 0.0000E+00
-4.082 0.0000E+00 0.0000E+00 0.0000E+00
-3.911 0.0000E+00 0.0000E+00 0.0000E+00
-3.741 0.0000E+00 0.0000E+00 0.0000E+00
-3.570 0.0000E+00 0.0000E+00 0.0000E+00
-3.399 0.0000E+00 0.0000E+00 0.0000E+00
-3.228 0.0000E+00 0.0000E+00 0.0000E+00
-3.057 0.0000E+00 0.0000E+00 0.0000E+00
-2.886 0.0000E+00 0.0000E+00 0.0000E+00
-2.716 0.0000E+00 0.0000E+00 0.0000E+00
-2.545 0.0000E+00 0.0000E+00 0.0000E+00
-2.374 0.0000E+00 0.0000E+00 0.0000E+00
-2.203 0.0000E+00 0.0000E+00 0.0000E+00
-2.032 0.0000E+00 0.0000E+00 0.0000E+00
-1.861 0.0000E+00 0.0000E+00 0.0000E+00
-1.691 0.8099E-32 0.1367E-62 0.1622E-42
-1.520 0.2309E-20 0.3896E-51 0.4625E-31
-1.349 0.1558E-11 0.2629E-42 0.3121E-22
-1.178 0.1995E-05 0.3366E-36 0.3996E-16
-1.007 0.1093E-02 0.1845E-33 0.2190E-13
-0.836 0.6089E-01 0.1027E-31 0.1220E-11
-0.666 0.1738E+00 0.2932E-31 0.3481E-11
-0.495 -0.2951E-02 -0.4980E-33 -0.5912E-13
-0.324 0.2789E-04 0.4705E-35 0.5586E-15
-0.153 0.1299E-09 0.2193E-40 0.2603E-20
0.018 0.0000E+00 0.0000E+00 0.0000E+00
0.189 0.0000E+00 0.0000E+00 0.0000E+00
0.359 0.0000E+00 0.0000E+00 0.0000E+00
0.530 0.0000E+00 0.0000E+00 0.0000E+00
0.701 0.0000E+00 0.0000E+00 0.0000E+00
0.872 0.0000E+00 0.0000E+00 0.0000E+00
1.043 0.0000E+00 0.0000E+00 0.0000E+00
1.213 0.0000E+00 0.0000E+00 0.0000E+00
1.384 0.3864E-26 0.8487E-27 0.4497E-26
1.555 0.9904E-16 0.2176E-16 0.1153E-15
1.726 0.5665E-08 0.1244E-08 0.6594E-08
1.897 0.4940E-03 0.1085E-03 0.5750E-03
2.068 -0.4603E-01 -0.1011E-01 -0.5358E-01
2.238 0.1317E+01 0.2892E+00 0.1533E+01
2.409 0.1176E+00 0.2582E-01 0.1368E+00
2.580 0.6212E-02 0.1365E-02 0.7230E-02
2.751 0.2753E-05 0.6047E-06 0.3204E-05
2.922 0.8456E-09 0.1593E-08 0.8831E-08
3.093 0.5951E-04 0.1122E-03 0.6221E-03
3.263 -0.5066E-02 -0.9550E-02 -0.5296E-01
3.434 0.1306E+00 0.2462E+00 0.1365E+01
3.605 0.7168E-02 0.1351E-01 0.5448E-01
3.776 0.1498E-02 0.1115E-02 0.1449E+01
3.947 0.3581E-01 0.2981E-02 0.1090E+01
4.118 0.1593E+00 0.1326E-01 0.2235E+01
4.288 -0.3799E-02 -0.3160E-03 -0.5305E-01
4.459 0.3529E-04 0.1850E-02 0.9953E-02
4.630 0.2305E-09 -0.3490E-01 -0.2077E+00
4.801 0.1012E-11 0.9395E+00 0.7761E+01
4.972 -0.4885E-13 -0.4536E-01 0.1311E+01
5.143 0.1235E-14 0.1147E-02 0.2449E-01
5.313 0.5375E-11 0.5226E-07 0.6163E-04
5.484 0.4760E-05 0.1406E-04 0.3678E-04
5.655 0.1115E-02 0.3295E-02 0.8762E-02
5.826 0.1092E+00 0.3226E+00 0.8285E+00
5.997 0.1975E+00 0.5835E+00 0.2436E+01
6.168 -0.1863E-02 -0.5502E-02 0.3082E+00
6.338 0.2204E-04 0.6510E-04 0.5891E-02
6.509 0.7017E-10 0.2073E-09 0.1064E-04
6.680 0.9358E-23 0.1488E-18 0.8389E-11
6.851 0.1030E-21 0.3246E-10 0.6418E-09
7.022 0.3923E-16 0.1237E-04 0.2446E-03
7.193 -0.2406E-14 -0.7587E-03 -0.1500E-01
7.363 0.2299E-10 0.1331E+00 0.2633E+01
7.534 0.2215E-05 0.9189E-01 0.1819E+01
7.705 -0.2154E-03 -0.4014E-03 -0.1353E+00
7.876 0.6585E-02 0.3074E-01 0.4480E+01
8.047 0.7363E-03 0.3778E-02 0.1344E+01
8.218 0.3293E-04 0.8301E-02 0.3896E+01
8.388 0.1716E-07 0.7527E-01 0.8529E+01
8.559 0.3604E-10 0.7904E-02 0.2641E+01
8.730 0.4255E-10 0.4352E-01 0.4011E+01
8.901 -0.9775E-12 -0.9930E-03 -0.9195E-01
9.072 0.9084E-14 0.9189E-05 0.8537E-03
9.243 0.5648E-19 0.5713E-10 0.5308E-08
9.413 0.0000E+00 0.0000E+00 0.0000E+00
9.584 0.0000E+00 0.0000E+00 0.0000E+00
9.755 0.0000E+00 0.0000E+00 0.0000E+00
9.926 0.0000E+00 0.0000E+00 0.0000E+00
10.097 0.9369E-38 0.9180E-38 0.1894E-37
10.268 0.4418E-25 0.4329E-25 0.8930E-25
10.438 0.5159E-15 0.5055E-15 0.1043E-14
10.609 0.1311E-07 0.1285E-07 0.2650E-07
10.780 0.4524E-03 0.4432E-03 0.9144E-03
10.951 -0.2549E-01 -0.2498E-01 -0.5153E-01
11.122 0.5333E+00 0.5226E+00 0.1078E+01
11.293 -0.8611E-02 -0.8437E-02 -0.1741E-01
11.463 0.1436E-02 0.1407E-02 0.2902E-02
11.634 0.2049E-06 0.2008E-06 0.4142E-06
11.805 0.2993E-13 0.2933E-13 0.6050E-13
11.976 0.0000E+00 0.0000E+00 0.0000E+00
12.147 0.0000E+00 0.0000E+00 0.0000E+00
12.318 0.0000E+00 0.0000E+00 0.0000E+00
12.488 0.0000E+00 0.0000E+00 0.0000E+00
12.659 0.0000E+00 0.0000E+00 0.0000E+00
12.830 0.0000E+00 0.0000E+00 0.0000E+00
13.001 0.0000E+00 0.0000E+00 0.0000E+00
13.172 0.0000E+00 0.0000E+00 0.0000E+00
13.343 0.0000E+00 0.0000E+00 0.0000E+00
13.513 0.0000E+00 0.0000E+00 0.0000E+00
13.684 0.0000E+00 0.0000E+00 0.0000E+00
13.855 0.3209E-47 0.3498E-34 0.5894E-34
14.026 0.3601E-35 0.3925E-22 0.6614E-22
14.197 0.9807E-26 0.1069E-12 0.1802E-12
14.368 0.5466E-19 0.5958E-06 0.1004E-05
14.538 0.2931E-15 0.3195E-02 0.5384E-02
14.709 0.9435E-16 0.1028E-02 0.1733E-02
14.880 0.9327E-13 0.1017E+01 0.1713E+01
15.051 -0.4263E-14 -0.4647E-01 -0.7831E-01
15.222 0.6490E-16 0.7075E-03 0.1192E-02
15.393 0.1489E-20 0.1623E-07 0.2734E-07
15.563 0.4966E-28 0.5413E-15 0.9122E-15
15.734 0.0000E+00 0.0000E+00 0.0000E+00
15.905 0.0000E+00 0.0000E+00 0.0000E+00
16.076 0.0000E+00 0.0000E+00 0.0000E+00
16.247 0.0000E+00 0.0000E+00 0.0000E+00
16.418 0.0000E+00 0.0000E+00 0.0000E+00
16.588 0.0000E+00 0.0000E+00 0.0000E+00
16.759 0.0000E+00 0.0000E+00 0.0000E+00
16.930 0.0000E+00 0.0000E+00 0.0000E+00
17.101 0.0000E+00 0.0000E+00 0.0000E+00

View File

@ -0,0 +1,50 @@
1 1 1 1
0.1333597E+02 0.2587511E-09 0.2587511E-09 0.2587511E-09 0.5000000E-15
1.000000000000000E-004
CAR
V
11 4 9
0.0000000E+00 0.0000000E+00 0.0000000E+00 0.3703704E-01
1 -31.099965
2 -31.099965
3 -31.099965
4 -0.813470
5 5.974027
6 5.974027
7 5.974027
8 7.986328
9 7.986328
0.3333333E+00 0.0000000E+00 0.0000000E+00 0.4444444E+00
1 -31.819277
2 -31.322999
3 -31.105684
4 2.193081
5 4.784864
6 5.839340
7 7.833446
8 8.202781
9 8.589551
0.3333333E+00 0.3333333E+00 0.0000000E+00 0.2962963E+00
1 -31.750021
2 -31.750021
3 -31.217560
4 3.978315
5 4.708263
6 4.708263
7 8.262522
8 8.262522
9 14.771374
-0.3333333E+00 0.3333333E+00 0.3333333E+00 0.2222222E+00
1 -31.719893
2 -31.577292
3 -31.577292
4 3.383714
5 3.756320
6 7.355029
7 7.355029
8 8.411511
9 11.054129

View File

@ -0,0 +1,52 @@
nq = 1
ispin = 1
nelect = 11
nktot = 4
nband = 9
kpts:
[[ 0. 0. 0. ]
[ 0.3333333 0. 0. ]
[ 0.3333333 0.3333333 0. ]
[-0.3333333 0.3333333 0.3333333]]
kwghts:
[ 0.03703704 0.4444444 0.2962963 0.2222222 ]
eigs:
[[[-31.099965]
[-31.099965]
[-31.099965]
[ -0.81347 ]
[ 5.974027]
[ 5.974027]
[ 5.974027]
[ 7.986328]
[ 7.986328]]
[[-31.819277]
[-31.322999]
[-31.105684]
[ 2.193081]
[ 4.784864]
[ 5.83934 ]
[ 7.833446]
[ 8.202781]
[ 8.589551]]
[[-31.750021]
[-31.750021]
[-31.21756 ]
[ 3.978315]
[ 4.708263]
[ 4.708263]
[ 8.262522]
[ 8.262522]
[ 14.771374]]
[[-31.719893]
[-31.577292]
[-31.577292]
[ 3.383714]
[ 3.75632 ]
[ 7.355029]
[ 7.355029]
[ 8.411511]
[ 11.054129]]]

View File

@ -0,0 +1,122 @@
Automatically generated mesh
10
Reciprocal lattice
0.00000000000000 0.00000000000000 0.00000000000000 1
0.20000000000000 0.00000000000000 0.00000000000000 12
0.40000000000000 0.00000000000000 0.00000000000000 12
0.20000000000000 0.20000000000000 0.00000000000000 24
0.40000000000000 0.20000000000000 -0.00000000000000 24
0.20000000000000 0.20000000000000 0.20000000000000 8
-0.20000000000000 0.20000000000000 0.20000000000000 6
-0.40000000000000 0.40000000000000 0.20000000000000 24
-0.40000000000000 -0.40000000000000 0.20000000000000 8
-0.40000000000000 0.40000000000000 0.40000000000000 6
Tetrahedra
107 0.00133333333333
4 1 2 2 4
12 2 2 4 4
4 2 4 4 6
4 2 3 4 5
4 2 4 4 5
12 4 4 5 6
16 3 4 5 5
28 4 5 5 6
8 4 5 6 6
4 3 3 4 5
12 3 4 4 5
4 4 4 4 5
4 2 2 3 4
12 2 3 4 4
8 2 4 4 4
8 2 2 2 4
12 2 2 4 7
12 2 4 4 7
8 1 2 2 2
4 2 2 2 2
4 2 2 2 7
16 5 5 6 6
12 3 4 5 6
8 3 5 5 6
8 3 4 4 6
4 3 4 6 8
4 3 5 6 8
4 3 4 4 4
4 3 4 4 8
8 4 4 7 8
4 4 4 8 8
4 2 2 3 7
16 2 3 4 7
12 3 4 7 8
4 3 4 5 7
4 3 5 7 8
4 3 5 5 5
12 3 5 5 8
16 5 5 8 9
24 3 4 5 8
8 4 5 8 8
4 5 8 8 8
16 5 8 8 9
4 3 3 4 8
12 3 5 8 8
12 3 3 5 8
4 3 4 8 8
8 4 5 5 9
12 4 5 8 9
4 4 7 8 9
4 2 3 5 8
4 2 4 5 8
8 2 4 7 8
12 2 3 4 8
4 2 2 4 8
4 2 2 7 8
4 1 2 4 7
8 1 2 2 7
4 2 3 4 6
4 3 5 6 6
8 5 6 6 6
8 5 5 5 6
4 4 4 5 5
16 4 5 5 8
4 3 4 4 7
4 3 7 8 8
8 4 4 5 8
4 5 5 6 9
4 4 5 6 8
4 5 5 6 8
8 5 8 8 10
8 5 8 9 10
4 4 7 8 8
4 4 8 8 8
8 8 8 8 10
4 7 8 8 8
4 8 8 8 9
20 8 8 9 10
4 4 5 7 8
4 5 7 8 8
4 5 5 5 8
4 5 8 9 9
8 8 9 9 10
6 9 9 10 10
12 8 9 10 10
4 8 8 10 10
8 4 8 8 9
4 3 4 5 9
4 3 4 8 9
4 7 8 9 10
4 7 8 8 10
4 4 7 8 10
4 2 4 8 8
4 2 7 8 8
4 2 4 4 8
4 3 3 5 6
4 4 5 5 5
4 3 5 8 9
4 3 8 8 9
6 5 5 8 8
2 3 3 5 5
4 4 5 6 9
4 4 8 9 10
4 8 10 10 10
6 8 8 9 9
4 9 10 10 10
2 10 10 10 10

View File

@ -0,0 +1,122 @@
nktot = 10
ntet = 107
volt = 0.00133333333333
kpts:
[[ 0. 0. 0. ]
[ 0.2 0. 0. ]
[ 0.4 0. 0. ]
[ 0.2 0.2 0. ]
[ 0.4 0.2 -0. ]
[ 0.2 0.2 0.2]
[-0.2 0.2 0.2]
[-0.4 0.4 0.2]
[-0.4 -0.4 0.2]
[-0.4 0.4 0.4]]
tets:
[[ 4 1 2 2 4]
[12 2 2 4 4]
[ 4 2 4 4 6]
[ 4 2 3 4 5]
[ 4 2 4 4 5]
[12 4 4 5 6]
[16 3 4 5 5]
[28 4 5 5 6]
[ 8 4 5 6 6]
[ 4 3 3 4 5]
[12 3 4 4 5]
[ 4 4 4 4 5]
[ 4 2 2 3 4]
[12 2 3 4 4]
[ 8 2 4 4 4]
[ 8 2 2 2 4]
[12 2 2 4 7]
[12 2 4 4 7]
[ 8 1 2 2 2]
[ 4 2 2 2 2]
[ 4 2 2 2 7]
[16 5 5 6 6]
[12 3 4 5 6]
[ 8 3 5 5 6]
[ 8 3 4 4 6]
[ 4 3 4 6 8]
[ 4 3 5 6 8]
[ 4 3 4 4 4]
[ 4 3 4 4 8]
[ 8 4 4 7 8]
[ 4 4 4 8 8]
[ 4 2 2 3 7]
[16 2 3 4 7]
[12 3 4 7 8]
[ 4 3 4 5 7]
[ 4 3 5 7 8]
[ 4 3 5 5 5]
[12 3 5 5 8]
[16 5 5 8 9]
[24 3 4 5 8]
[ 8 4 5 8 8]
[ 4 5 8 8 8]
[16 5 8 8 9]
[ 4 3 3 4 8]
[12 3 5 8 8]
[12 3 3 5 8]
[ 4 3 4 8 8]
[ 8 4 5 5 9]
[12 4 5 8 9]
[ 4 4 7 8 9]
[ 4 2 3 5 8]
[ 4 2 4 5 8]
[ 8 2 4 7 8]
[12 2 3 4 8]
[ 4 2 2 4 8]
[ 4 2 2 7 8]
[ 4 1 2 4 7]
[ 8 1 2 2 7]
[ 4 2 3 4 6]
[ 4 3 5 6 6]
[ 8 5 6 6 6]
[ 8 5 5 5 6]
[ 4 4 4 5 5]
[16 4 5 5 8]
[ 4 3 4 4 7]
[ 4 3 7 8 8]
[ 8 4 4 5 8]
[ 4 5 5 6 9]
[ 4 4 5 6 8]
[ 4 5 5 6 8]
[ 8 5 8 8 10]
[ 8 5 8 9 10]
[ 4 4 7 8 8]
[ 4 4 8 8 8]
[ 8 8 8 8 10]
[ 4 7 8 8 8]
[ 4 8 8 8 9]
[20 8 8 9 10]
[ 4 4 5 7 8]
[ 4 5 7 8 8]
[ 4 5 5 5 8]
[ 4 5 8 9 9]
[ 8 8 9 9 10]
[ 6 9 9 10 10]
[12 8 9 10 10]
[ 4 8 8 10 10]
[ 8 4 8 8 9]
[ 4 3 4 5 9]
[ 4 3 4 8 9]
[ 4 7 8 9 10]
[ 4 7 8 8 10]
[ 4 4 7 8 10]
[ 4 2 4 8 8]
[ 4 2 7 8 8]
[ 4 2 4 4 8]
[ 4 3 3 5 6]
[ 4 4 5 5 5]
[ 4 3 5 8 9]
[ 4 3 8 8 9]
[ 6 5 5 8 8]
[ 2 3 3 5 5]
[ 4 4 5 6 9]
[ 4 4 8 9 10]
[ 4 8 10 10 10]
[ 6 8 8 9 9]
[ 4 9 10 10 10]
[ 2 10 10 10 10]]

View File

@ -0,0 +1,7 @@
Automatically generated mesh
4
Reciprocal lattice
0.00000000000000 0.00000000000000 0.00000000000000 1
0.33333333333333 0.00000000000000 0.00000000000000 12
0.33333333333333 0.33333333333333 0.00000000000000 8
-0.33333333333333 0.33333333333333 0.33333333333333 6

View File

@ -0,0 +1,6 @@
nktot = 4
kpts:
[[ 0. 0. 0. ]
[ 0.33333333 0. 0. ]
[ 0.33333333 0.33333333 0. ]
[-0.33333333 0.33333333 0.33333333]]

View File

@ -0,0 +1,10 @@
V SF test
2.9878
-0.5 0.5 0.5
0.5 -0.5 0.5
0.5 0.5 -0.5
V
1
Direct
0.0 0.0 0.0

View File

@ -0,0 +1,10 @@
nq = 1
ntypes = 1
nions = [1]
el_names = ['V']
a_brav:
[[-1. 1. 1.]
[ 1. -1. 1.]
[ 1. 1. -1.]]
q_types:
[array([[ 0., 0., 0.]])]

View File

@ -0,0 +1,56 @@
r"""
Module defining a custom TestCase with extra functionality.
"""
import unittest
import numpy as np
import difflib
class MyTestCase(unittest.TestCase):
"""
Custom TestCase class supporting additional equality checks:
- numpy array equality
- file equality
"""
def __init__(self, *args, **kwargs):
"""
Initializes a custom equality function for comparing numpy arrays.
"""
super(MyTestCase, self).__init__(*args, **kwargs)
self.addTypeEqualityFunc(np.ndarray, self.is_arrays_equal)
def is_arrays_equal(self, arr1, arr2, msg=None):
"""
Raises self.failureException is arrays arr1 and arr2
are not equal.
"""
if not np.allclose(arr1, arr2):
raise self.failureException(msg)
def assertFileEqual(self, file1, file2):
"""
Compares two files using difflib.
Empty lines are ignored.
Files are assumed to be relatively small;
the data is truncated for files larger than MAX_SIZE bytes.
"""
MAX_SIZE = 100000
with open(file1, 'r') as f1:
str1 = f1.read(MAX_SIZE)
with open(file2, 'r') as f2:
str2 = f2.read(MAX_SIZE)
#
# Make a diff
#
# Remove empty lines
lstr1 = filter(lambda s: s.strip() != '', str1.splitlines(True))
lstr2 = filter(lambda s: s.strip() != '', str2.splitlines(True))
# diff
delta = difflib.unified_diff(lstr1, lstr2)
# combine delta's to a string
diff = ''.join(delta)
# if 'diff' is non-empty, files are different
if diff:
return self.fail("Files '%s' and '%s' differ"%(file1, file2))

View File

@ -0,0 +1 @@
PYTHONPATH=../../python:../../c:$PYTHONPATH python $1

View File

@ -0,0 +1,32 @@
r"""
Tests for class 'Doscar' from module 'vaspio'
"""
import mytest
import numpy as np
from vaspio import Doscar
################################################################################
#
# TestDoscar
#
################################################################################
class TestDoscar(mytest.MyTestCase):
"""
Function:
def Doscar.from_file(vasp_dir, dos_filename)
Scenarios:
- correct DOSCAR file
"""
# Scenario 1
def test_example(self):
filename = 'DOSCAR.example'
doscar = Doscar()
doscar.from_file(vasp_dir='./', dos_filename=filename)
test_efermi = doscar.efermi
expected = 5.84395237
self.assertAlmostEqual(test_efermi, expected)

View File

@ -0,0 +1,45 @@
r"""
Tests for class 'Eigneval' from module 'vaspio'
"""
import mytest
import numpy as np
from vaspio import Eigenval
################################################################################
#
# TestEigenval
#
################################################################################
class TestEigenval(mytest.MyTestCase):
"""
Function:
def Eigenval.from_file(vasp_dir, eig_filename)
Scenarios:
- correct EIGENVAL file
"""
# Scenario 1
def test_example(self):
filename = 'EIGENVAL.example'
eigenval = Eigenval()
eigenval.from_file(vasp_dir='./', eig_filename=filename)
testout = 'EIGENVAL.example.out.test'
with open(testout, 'w') as f:
writeline = lambda s: f.write(s + '\n')
writeprop = lambda pname: writeline("%s = %s"%(pname, eigenval.__dict__[pname]))
writeprop('nq')
writeprop('ispin')
writeprop('nelect')
writeprop('nktot')
writeprop('nband')
writeline("kpts:\n%s"%(eigenval.kpts))
writeline("kwghts:\n%s"%(eigenval.kwghts))
writeline("eigs:\n%s"%(eigenval.eigs))
expected = 'EIGENVAL.example.out'
self.assertFileEqual(testout, expected)

View File

@ -0,0 +1,57 @@
r"""
Tests for class 'Ibzkpt' from module 'vaspio'
"""
import mytest
import numpy as np
from vaspio import Kpoints
################################################################################
#
# TestIbzkpt
#
################################################################################
class TestIbzkpt(mytest.MyTestCase):
"""
Function:
def read_plocar(filename)
Scenarios:
- full IBZKPT file with tetrahedra
- partial IBZKPT file with k-points only
"""
# Scenario 1
def test_example(self):
ibz_file = 'IBZKPT.example'
kpoints = Kpoints()
kpoints.from_file(vasp_dir='./', ibz_filename=ibz_file)
testout = 'IBZKPT.example.out.test'
with open(testout, 'w') as f:
writeline = lambda s: f.write(s + '\n')
writeline("nktot = %s"%(kpoints.nktot))
writeline("ntet = %s"%(kpoints.ntet))
writeline("volt = %s"%(kpoints.volt))
writeline("kpts:\n%s"%(kpoints.kpts))
writeline("tets:\n%s"%(kpoints.itet))
expected = 'IBZKPT.example.out'
self.assertFileEqual(testout, expected)
# Scenario 2
def test_notet(self):
ibz_file = 'IBZKPT.notet'
kpoints = Kpoints()
kpoints.from_file(vasp_dir='./', ibz_filename=ibz_file)
testout = 'IBZKPT.notet.out.test'
with open(testout, 'w') as f:
writeline = lambda s: f.write(s + '\n')
writeline("nktot = %s"%(kpoints.nktot))
writeline("kpts:\n%s"%(kpoints.kpts))
expected = 'IBZKPT.notet.out'
self.assertFileEqual(testout, expected)

View File

@ -0,0 +1,43 @@
r"""
Tests for class 'Poscar' from module 'vaspio'
"""
import mytest
import numpy as np
from vaspio import Poscar
################################################################################
#
# TestPoscar
#
################################################################################
class TestPoscar(mytest.MyTestCase):
"""
Function:
def Poscar.from_file(vasp_dir, poscar_filename)
Scenarios:
- correct POSCAR file
"""
# Scenario 1
def test_example(self):
filename = 'POSCAR.example'
poscar = Poscar()
poscar.from_file(vasp_dir='./', poscar_filename=filename)
testout = 'POSCAR.example.out.test'
with open(testout, 'w') as f:
writeline = lambda s: f.write(s + '\n')
writeprop = lambda pname: writeline("%s = %s"%(pname, poscar.__dict__[pname]))
writeprop('nq')
writeprop('ntypes')
writeprop('nions')
writeprop('el_names')
writeline("a_brav:\n%s"%(poscar.a_brav))
writeline("q_types:\n%s"%(poscar.q_types))
expected = 'POSCAR.example.out'
self.assertFileEqual(testout, expected)

View File

@ -0,0 +1,11 @@
r"""
Test suite for module `vaspio`.
"""
import unittest
if __name__ == '__main__':
suite = unittest.TestLoader().discover('./')
unittest.TextTestRunner(verbosity=2, buffer=True).run(suite)
# unittest.TextTestRunner(verbosity=2, buffer=False).run(suite)

View File

@ -0,0 +1 @@
PYTHONPATH=$HOME/Codes/vasp/vasp5.3/plo_vasp/plovasp/python:$HOME/Codes/vasp/vasp5.3/plo_vasp/plovasp/c:$PYTHONPATH python test_all.py

View File

@ -0,0 +1,10 @@
r"""
Searches and runs all available test suites.
"""
import unittest
if __name__ == '__main__':
suite = unittest.TestLoader().discover('./')
unittest.TextTestRunner(verbosity=2, buffer=True).run(suite)
# unittest.TextTestRunner(verbosity=2, buffer=False).run(suite)