Skip to content
Snippets Groups Projects
Commit 62094784 authored by Philipp Rüssmann's avatar Philipp Rüssmann
Browse files

Some cleanup in voronoi source code directory and update of changelog

parent 83239f34
No related branches found
No related tags found
No related merge requests found
......@@ -215,6 +215,39 @@ Some bugfixes and full Jij-tensor calculation (using new solver).
----
### voronoi: 2016-08-18
Corrected a bug in the convolution of the starting potentials (concerning the
convolution of the 2Z/r term).
Added the possibility of CPA preparation (NATYP>NAEZ).
Then, the <SITE> keyword & column must be added next to the <ZATOM>.
Added input parameter <NFACELIM>= (integer) in order to be able to limit the
number of neighbours of the polyhedron that are examined for faster processing.
Moved all inputcard reads to readinput12 and readimpatoms12.
Other small points improved in the standard output.
----
### voronoi: 2016-06-20
The starting potentials are now convoluted fully with shapes (also the l>0
components).
Gives improved results in some cases.
Does not apply to the case of interpolated potentials from previous KKR runs.
----
### voronoi: 2016-06-16
The starting potentials (l=0 component) are now convoluted with shapes.
Changes on this were done mainly in Subr. JELLSTART.
Does not apply to the case of interpolated potentials from previous KKR runs.
----
## kkrhost-v2.0 (2016-03-24)
Major improvement to MPI parallelization.
......@@ -296,6 +329,23 @@ First version of KKRimp that is tracked with git. Started from *kkrimp_source_20
----
### voronoi: 2015-05-16
Added a print-out of the nearest-neighbor distance, dist(NN), per site and the ratio
Rout/dist(NN). Written out in file radii.dat.
Attention, in case of shifted atoms, dist(NN) refers to the unshifted
positions. In order to find it for the shifted positions, re-run with the
parameter NBSHIFT=0 and also declaring "0" in the proper position under the
IMPINFO inplying there are no shifted positions. This will make the program
treat the shifted positions as if they were unshifted.
The problem arises because the dist(NN) is calculated in the clsgen_voronoi
and clsgenimp routines that use the unshifted positions to calculate the
voronoi cells, and the shift is introduced only later for the shape calculation.
The Rout on the other hand is defined from the shifted center.
----
## kkrhost-v1.3 (2015-04-29)
First version with MPI parallelization and Long's implementation of Lloyd's formula
......@@ -306,6 +356,21 @@ First version with MPI parallelization and Long's implementation of Lloyd's form
----
### voronoi: 2015-04-29
Change in subr. suggestpts.f fixing a problem that occured
if all panels had NMIN points. Then (NPAN-1)*NMIN points
were suggested, which was creating a problem in subr. mesh0.
Now at least (NPAN-1)*NMIN+1 points are suggested fixing the
problem.
Added a write-out in subr. mesh0.
Added in subr. ritesone.f the option to write out in the potential
file a number of radial points larger than 999 (was formatted to
i3, now format i4 is used for NR>999).
----
## kkrhost-v1.2 (2015-04-21)
Got rid of unformatted files for data transfer between 1a, 1b, 1c parts of the code.
......@@ -359,6 +424,33 @@ properly.
----
### voronoi: 2014-12-12
Fixed a bug with KAOEZ by setting NATYP --> NAEZ in readinput
(for old-type input of surf. calculations).
----
### voronoi: 2014-12-11
Introduced running option (RUNOPT) called "findsize" or "FINDSIZE". When this
is used, the weights of the atoms are automatically calculated from their
touching muffin-tin radii rmt (weight=rmt**2), where rmt is defined as the
half-distance of the atom to the nearest neighbour. Tested fot graphene on Co.
Works also for impurity (not tested yet).
Option "findsize" overrides all other weight definitions, e.g. <MTWAL>.
Introduced keywords <LFMTWAL>, <RTMTWAL> and <LFMTWAU>, <RTMTWAU> for the
weights of the embedded atoms (outside the physical region) in slab
calculations.
Introduced keywords for reading in tolerance from inputcard:
<TOLHS> for subroutine halfplane;
<TOLVD> for minimum acceptable vertex distance;
<TOLAREA> for minimum acceptable face area.
----
## pkkprime-v1.0 (2015-01-07)
Initial version of git tracking.
......@@ -396,6 +488,13 @@ Cluster info found automatically.
----
### voronoi: 2014-10-29
readinput changed to comply with new inputcard keywords of JM code
(concerning the left/right basis in 2D mode).
----
## pkkprime-*untracked* (2014-10-24)
- Implemented writeout of Pkk' for option SCATTFIX and LLIFETIME.
......@@ -418,6 +517,12 @@ ICC and IGREENFUN are automatically set to 1 if `OPT('KKRFLEX ')` is used.
----
### voronoi: 2014-10-10
Fixed a bug that was giving FPRADIUS not scaled with latt.parameter.
----
### kkrimp: 2014-10-01
Further corrections for running with lower lmax than given in
......@@ -453,6 +558,17 @@ gdyson.f90, utrafo.f90, wavefunctodisc.f90, energyloop.F90, preconditioning.F90
----
### voronoi: 2014-07-31
Corrected a bug arising from DSORT when sorting the polyhedron faces
at the end of VORONOI12 that resulted in giving slightly different shape
function mesh for symmetry-equivalent cells.
Introduced new routine DSORT_COMP (in file
dsort.f) that sorts arrays according to increasing value of 1st component ,
then 2nd, then 3rd etc.
----
### kkrhost: 2014-07-25
Philipp's OMP parallelization is included.
......@@ -460,6 +576,69 @@ Lloyd's formula is included for non-relativistic non-cpa calculations.
----
### voronoi: 2014-07-25
Info on clusters and RMT of embedded region is now calculated and written
out. File atominfo.txt augmented with this information. With this, the
reference-system atom type in the embedded region is automatically found.
Proposed full-potential radius is written out in atominfo.txt
(under keyword "<FPRADIUS>"), correspinding to IRNS of each atom.
Corrected some bugs.
----
### voronoi: 2014-06-11
If the potential filename given in inputcard (under the FILES keyword, position
I13) is not found, then the program switches automatically to database starting
potentials (should be like this since 2 Oct 2013 but was not working). Fixed
by Benedikt Schweflinghaus in routine maindriver12.
Keyword FILES not needed any more. Then database starting potential is assumed.
Change was done in routine rinput12.
----
### voronoi: 2014-06-05
Added a header at the beginning of each shape-function in the shape file.
E.g.
4 135 NPAN,MESHN; Shape number 1
instead of just
4 135
----
### voronoi: 2014-03-18
Added parameter <ZATOM> for nuclear number. (Default=29)
Added parameter <RMTCORE> for (wished non-rouching) RMT. (Default=1.E10, reduced
automatically to touching-2% later)
These override ATOMINFO.
Using these, ATOMINFO is made obsolete.
Also, a file "atominfo.dat" is created containing the ATOMINFO
information for the KKR code.
----
### voronoi: 2014-03-05
Most parameters are now default.
Only the following are needed:
ALATBASIS,BRAVAIS,NAEZ,RBASIS,RCLUSTZ
----
### voronoi: 2013-10-02
If potential filename is given in inputcard but not found in run-directory
then program does not stop but switches to jellium potentials automatically.
----
### kkrhost: 2013-09-27
rinput99 is changed to rinput13.
......@@ -474,3 +653,207 @@ Keyword LAMBDA_XC (default=1.) is introduced to mix the magnetic part of the
xc potential. LAMBDA_XC=0 corresponds to non-magn. calculation, LAMBDA_XC=1
to magn. calculation, and 0<LAMBDA_XC<1 to suppression of moments.
Result of xc-energy difference writter out as EXCDIFF.
----
### voronoi: 2013-09-04
Added option to choose the muffin-tin radii of the atoms.
Place a keyword "<MTWAL>" (do not forget < and >) meaning
"Muffin tin weight in alat units "
or "<MTWAU>" meaning
"Muffin tin weight in atomic units "
that represents the wished muffin-tin radius.
Under it should be all muffin tin radii (one under the other).
Most convenient place the whole column next to RBASIS.
Then these rmt's are squared and set as weights, w(i)=rmt(i)**2,
and the weight(i) in atominfo is overridden. This results in a
voronoi construction with these rmt radii.
For impurity atom weights: Here, in the place reserved for the weight
place the desired MT-radius in the same units as in the normal atoms.
----
### voronoi: 2013-03-31
Routine clsgen2000 was polished, now in file clsgen_voronoi.f
Calling of clsgen list changed (also in maindriver12).
In maindriver12: Dimension of RMTCL fixed to NSHAPED
New routines clsgen_tb, clustcomp_tb introduced.
These distinguish the clusters also based on the MT-radius
of the reference potential. For Voronoi this is irrelevant,
but it gives useful info for setting up the TB calculation.
For this new (optional) variables are introduced in inputcard:
RMTREF, LEFTMTREF, RIGHMTREF (the last two for 2D-systems).
Result on clusters with clsgen_tb written in standard output.
----
### voronoi: 2012-10-22
Bug fixed in maindriver12.f where in case of 2D
the TLEFT and TRIGHT basis were not rationalized
creating a problem with clusters.
Added keyword "CARTESIMP= " (T or F) in scalevecimp
(see inputcard_example)
Added keyword "TOLIMP= ..." in clsgenimp12
(see inputcard_example)
----
### voronoi: 2012-09-12
Two bugs fixed in writing out file "radii.dat".
No new version issued since the bugs did not affect
shape-function or potential calculation.
----
### voronoi: 2012-03-25
A subroutine "dividepanels" was added that divides large panels into
smaller ones keeping the exact same radial points. The purpose
is to reduce the panel size for tests with the new integral solver.
The size of the new panels is determined by "NSMALL" which one can place
as a keyword in the inputcard: e.g., NSMALL=10 makes panels of 10-points each.
If the original panels have left-over points after division, these are
placed in the last of the new panels.
Also:
Parameters NMIN and NRAD (minimum number of points per panel and
muffintinization points) can now be read in from the inputcard.
If they are not, then default values are used.
----
### voronoi: 2012-03-02
Furhter simplifications:
Now the code recognises the necessary number of radial points in the
shape-region before calculating the shapes and pre-sets the value NMESH
accordingly. This is done by finding the critical points once before
entering the subroutine "shape". A parameter is used for this, "DENPT"
(set as a DATA statement in maindriver12) which declares the wished density
of radial points in the shape-function region. The panels are then assumed
to have this density of points, unless they are too small, when they have
NMIN points.
Also the code suggests a full-potential radius per atom, controlled by the
DATA-statement parameter STARTFP (again in maindriver12). This is the ratio
of the starting radius for full-potential to the muffin-tin radius. From this,
the parameter IRNS is calculated.
The number of radial points in the muffin-tin region is also set as a
DATA-statement (NMT).
Other changes: INS=1 and KSHAPE=0 means calculation of geometrical
information, shifting the centers, finding the panels etc, but avoiding
the actual calculation of shape functions ("spherical" shape functions are
calculated instead, same as option "SIMULASA").
A few bugs were removed.
The inc.geometry file was rationalized, unnecessary parameters removed.
----
### voronoi: 2012-02-01
Additional option "SIMULASA" was added.
Fake shape functions are generated in order to
simulate an ASA calculation if full-potential
mode. Only the (0,0) component of the shape
function is written out in a panel that extends
from Rmt until Rws (ASA radius).
----
### voronoi: 2012-01-30
The new version has a couple of new features:
1. It can give the shape function for impurity clusters.
2. It can expand the shape functions around "shifted" positions,
different from the cell center, both for impurities and for host.
When in impurity mode, the code does not write out the host shape
functions, only the impurity ones.
In the directory there is a file "inputcard_example" where
the new features are explained (look for comments preceded by
the symbols #####). From the inputcard_example I have
omitted all input that would be redundant in a voronoi
calculation. In an actual calculation you can use directly
the inputcard that you prepared for the KKR code, just as before.
The impurity atoms are read in from the inputcard, just as the
host atoms. Older inputcards should be compatible with this.
A short description of further changes in the code follows:
*** Changes concerning the end-user ***
- The read-in of the inputcard was rationalised, omitting all redundant
parameters. In some cases default values are used if a keyword is not
found (e.g., cartesian=.f. or kshape=2 are default).
- If you want to perform only a cell construction but not a calculation of
the shape functions, set KSHAPE=2. (kshape=1 is equivalent to =2 for
the voronoi prog. but not for the host kkr code). For full calculations put
INS=1 and KSHAPE=1 or 2.
- You can now write out the shapes for all atoms, as required by David's
code, or the shapes of only the representative atoms, as required by
the KKR host-code. Just use running option "WRITEALL" (with obvious meaning).
-The shape header is now included automatically by the program in the shape-file.
- Two new test-options were introduced, "verb0" and "verb1" (to be placed
in the TESTOPT part of the inputcard).
If you use none, then only little information is written out in the standard output,
compared to what was happening so-far. "verb0" gives more, and "verb0" together
with "verb1" even more.
- New files are written out to help some checks, plots, or post-processing:
verices.dat for plotting the cells e.g. with gnuplot,
radii.dat for comparing the ratio of inner to outer radius, shows if the cell is too asymmetric,
cellinfo.dat is the full set of face-equations and vertices, to be read in e.g. by a future
version of the KKR program so that the shapes are constructed on-the-fly.
*** Changes concerning the developer ***
- A routine creating the impurity clusters was added (clsgenimp12).
It accounts for host positions, impurity positions, and "killed" sites,
i.e. host sites that are to be completely removed in the impurity
calculation (e.g. when substituting more than one host atoms by only one
impurity).
- The basis vectors are rationalised by a new routine. If a basis atom
is too far away from the (0,0,0) lattice position, and close to another lattice
position, it is translated by a lattice vector back close to (0,0,0).
This was important for considering the impurity clusters.
- The write-out of the shape functions was moved from subr. "mtmesh"
into routine "writeshape" which is called from the main program.
- All shapes are kept into the main memory, so that the code is easier
to handle internally. As a result there is a ceiling of approx. 2000 different
shape functions, then the required memory exceeds 2GB. This can be
improved and perhaps doubled by a reduction of array-size parameters,
in particular IBDMAXD (beginning of maindriver12) and NFACED,NVERTD.
- The subroutine shape.f (now called shape12.f) has only minor modifications:
the NFACED and NVERTD parameters have been moved to the inc.geometry
file so that they are uniquely defined in the code, and some write-out statements
are only given with "verb0" or "verb1" into the standard output (but I saw to it
that error messages are not restrained by "verb0" or "verb1").
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment