3
0
mirror of https://github.com/triqs/dft_tools synced 2024-06-28 16:12:36 +02:00
Commit Graph

29 Commits

Author SHA1 Message Date
Oleg E. Peil
207c637be2 Restructured text-output routines
'main()' now calls a function 'output_as_text()' responsible for storing
both a ctrl- and plo-files ('ctrl_output()' and 'plo_output()', respectively).
2015-10-11 13:57:46 +02:00
Oleg E. Peil
99f87cc70f Added output of k-points
The header of the ctrl-file is terminated by a line "#END OF HEADER"
followed by a dump of k-points with weights.
2015-10-11 13:57:46 +02:00
Oleg E. Peil
d794bfa0f5 Added output of a basic header into a ctrl-file
Added function 'ctrl_ouput()' which stores data common for all correlated
shells into a file '<basename>.ctrl'.
At the moment, only a very basic header is output.
The signature of 'plo_output()' is also modified to include an instance
of class 'ElectronicStructre' containing important information on
the lattice structure, Efermi, and k-points.
2015-10-11 13:57:46 +02:00
Oleg E. Peil
4c18c6e09c Added the parser of section [General]
Parsing of two optional parameters (BASENAME and EFERMI) from section [General] from the config-file
is implemented. If this section is not found the parameters are set to their
default values, which is 'vasp' for BASENAME and nothing for EFERMI.
Appropriate test is added to the 'inpconf' test suite.
2015-10-11 13:57:46 +02:00
Oleg E. Peil
4bbafa239e Added documentation on the output file formats
A description of the output file formats is added to the documentation.
In particular, the outline of JSON headers for projector-group (*.plog<Ng>)
and control (*.ctrl) files are given.
2015-10-11 13:57:46 +02:00
Oleg Peil
6ab916d2d0 Added (empty) function 'plo_output()' 2015-10-11 13:55:05 +02:00
Oleg Peil
b6250477f2 Fixed 'generate_ortho_plos()' to produce orthogonalized PLOs 2015-10-11 13:55:05 +02:00
Oleg Peil
d0a75edec3 Added a simplest workflow to 'main.py'
Simplest workflow: read config-file, vasp data, generate PLOs,
and output them to text files.
2015-10-11 13:55:05 +02:00
Oleg E. Peil
5d8423a30e Added preliminary 'main.py' 2015-10-11 13:55:05 +02:00
Oleg E. Peil
3317371762 Added calculation of density matrices for a shell
A method 'density_matrix()' for evaluating a density matrix of a given shell
has been added to class ProjectorShell. It requires an ElectronicStructure
object as an input an by default produces a site- and spin-diagonal
part of the density matrix using the Fermi-weights obtained directly from VASP.
Ideally, this density matrix should coincide with the one calculated
within VASP itself (inside the LDA+U module).

Corresponding sanity test has been added, which shows only that the
calculation does not crash. Real numerical tests are needed.
2015-10-11 13:55:05 +02:00
Oleg E. Peil
ad6b3ab708 Added class ElectronicStructure
Class ElectronicStructure is intended for the internal representation
of the band structure and raw projector data from VASP.
In addition, its purpose is to perform a simple consistency check
of the input VASP data (as they are read from different files).
2015-10-11 13:55:05 +02:00
Oleg E. Peil
0c4e3ad006 Changed order of indices of 'proj_arr' array
When a ProjectorShell is created it creates a view of the full
projector array with orbital 'ilm' and band 'ib' indices interchanged.
The reason for this is that this corresponds more naturally to the
definition of the projector P_{m\nu} and also allows for multiplications
of projector matrices without additional transposition.

The tests have been modified accordingly.
2015-10-11 13:55:04 +02:00
Oleg E. Peil
9bbd71afb9 Fixed a bug in 'inpconf.py'
The problem was that when one shell was specified without an explicit
group the created automatic group was lacking the default values for
parameters 'normalize' and 'normion'. The current design, however,
assumes that they must always be set.
2015-10-11 13:55:04 +02:00
Oleg E. Peil
5c3b3d0b8d Added several tests
Tests for 'select_bands()' and class 'ProjectorShell' have been added.
The function and class methods have been fixed accordingly to pass
the tests.
2015-10-11 13:55:04 +02:00
Oleg E. Peil
90c93c4693 Fixed a bug in 'inpconf.py', added a corresponding test 2015-10-11 13:55:04 +02:00
Oleg E. Peil
b05d176f39 Fixed 'vaspio.py' to pass the tests' 2015-10-11 13:55:04 +02:00
Oleg E. Peil
f0ae1c9927 Added untested 'ProjectorGroup' class (including orthogonalization routine) 2015-10-11 13:55:04 +02:00
Oleg E. Peil
ba015d4b62 Added untested version of 'ProjectorShell' class 2015-10-11 13:55:04 +02:00
Oleg E. Peil
74ef3ca93e Added defulats to optional group parameters 2015-10-11 13:55:04 +02:00
Oleg E. Peil
9d4fb22572 Rearranged test cases for 'inpconf.py'.
A single-file test suite for 'inpconf.py' is split into several files,
each containing a separate TestCase class. In addition, all test cases
are derived from class ArrayTestCase (in turn derived from TestCase)
which contains a numpy-array equality method.
2015-10-11 13:55:04 +02:00
Oleg E. Peil
a58ec59c9c Added Scenario 5 to 'test_parse_input()' and fixed 'inpconf.py' to pass it 2015-10-11 13:55:04 +02:00
Oleg E. Peil
bcc20a0399 * Added Scenario 3 to 'test_parse_input()' (test9.cfg)
* Fixed 'parse_input()' to pass the test
2015-10-11 13:55:04 +02:00
Oleg E. Peil
8928fa3118 * Added Scenario 2 to 'test_input()' (test8.cfg)
* Removed group parameter 'shells' from a dict of required parameters
   for a single [Shell] section
2015-10-11 13:55:04 +02:00
Oleg E. Peil
d2fe6d50e8 * Fixed tests for the modified version of 'parse_shells()'
* Removed redundant prints in 'parse_shells()'
2015-10-11 13:55:04 +02:00
Oleg Peil
76d0b4a6bb Small syntax fix in inpconf.py 2015-10-11 13:55:04 +02:00
Oleg Peil
0816d45d59 * Added (empty) function 'parse_general()' * Completed 'parse_input()' 2015-10-11 13:55:03 +02:00
Oleg Peil
9ab6116b28 * Completed group parser
* Added a consistency check for groups and shells
 * Added scenario descriptions to the test suite
2015-10-11 13:55:03 +02:00
Oleg Peil
f393168d16 * Added a test 'parse_groups()'
* Added to docs for config-file a description of all features that
    are implemented or under active development
2015-10-11 13:55:03 +02:00
Oleg Peil
bd6198d264 * Restructured the directory structure * Added some half-day long development including tests 2015-10-11 13:55:03 +02:00