lp:~nickpapior/siesta/4.1-fdf-blocks

Created by Nick Papior and last modified
Get this branch:
bzr branch lp:~nickpapior/siesta/4.1-fdf-blocks
Only Nick Papior can upload to this branch. If you are Nick Papior please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Nick Papior
Project:
Siesta
Status:
Merged

Recent revisions

984. By Nick Papior

Implemented closing of the majority of commonly used blocks

Closing of blocks in the log when using fdf_b* calls was problematic
if the code did not read the last line of the block (i.e. this was
the only way to ensure the %endblock <label> in the fdf-*.log.

There are some problems with this and transiesta because the transiesta
codes are using fdf_bbackspace (which re-writes to the log file).
However, for Siesta the above should work.

983. By Nick Papior

fdf-updates, allow fixing block-log output, added block-line-count and is-block

The fdf-infrastructure is default to create log-output files. However, these
log-files are not directly usable as input for subsequent siesta runs.
The reason was that blocks *only* wrote out %endblock to the log if
fdf_bline was called until it failed, i.e. to the end of the block.
And currently many places in siesta was reading based on another integer
input. Secondly, the fdf_defined opened a block which isn't necessary.

The solution is divided into a few things, parenthesis is the interface:

fdf_isblock: (label)
Added this routine to check whether a label is defined as a block.
Currently there may be inconsistencies if the label is used both as
block and label, however one can then programatically decide.
This routine is now used in fdf_defined because it removes the call
to fdf_block (which opens the block).

Writes

  #:block? <label> T/F

to log.

fdf_bclose: (block_fdf)
Added routine to loop the remaining lines in the block. This is never necessary
unless one wants the log-file to be complete in terms of re-use.
I.e. if one reads all lines in the block via:
   do while ( fdf_bline(bfdf, pline) )
     ...
   end do
there is no need for fdf_bclose. However, with

   n = fdf_get('LabelSize', 0)
   if ( n > 0 .and. fdf_block('Label', bfdf) ) then
     do i = 1, n
        if ( fdf_bline(bfdf, pline) ) then
   ...
 end if
     end do
   end if
   call fdf_bclose(bfdf)

it is required to use fdf_bclose to close the block in the log.

fdf_block_linecount: (label, morph?)
Added routine to count the number of lines in a block.
If morph is not specified, any line counts as a valid line.
If morph is present a match will be done for each line, and if
accepted it counts as a line.
For instance in AtomicCoordinatesAndAtomicSpecies one would do:

  na = fdf_block_linecount('AtomicCoordinatesAndAtomicSpecies', 'vvvi')

Note that this routine will suppress writing to the log file. The only thing
that is written to the log-file is:

  #:block-line-count? <label> (morph?) N

Secondly, all log-output that does not result in a valid input line is
prefixed with '#:'
This was the case for fdf_bbackspace which simply wrote out "(Backspace to..."
Now it writes: "#:(Backspace to..."
Also fixed in fdf_defined.

982. By Nick Papior

Allowed Src/Libs/create.sh to specify the directory using LAPACK_DIR

981. By Nick Papior

Added sparse matrices to the lua interface

980. By Nick Papior

Added missing define-statements for missing variables

979. By Nick Papior

Added missing if-statement for CDF-writes

978. By Nick Papior

Added missing flag in the intel.make file

The intel compilers are way too aggressive on optimizations.
By adding -fp-model source/precise to the FFLAGS and FFLAGS_DEBUG
we can obtain correct execution for the following intel compilers:

    2013.0.028
    2013.1.039
    2013.1.046
    2015.0.090
    2015.1.133
    2015.3.187
    2016.1.0.423501
    2016.2.0
    2017.0.035
    2017.1.043
    2017.4.196
    2017.7.065
    2018.0.033
    2018.1.038
    2018.2.046
    2018.3.051

977. By Nick Papior

Automatically add MRRR for serial compilations with libsiestaLAPACK.a

976. By Nick Papior

Updated shipped BLAS+LAPACK to c5471e8be2754345ec650c8d3b08c6eb680ebd0c

Several bug-fixes in LAPACK have been found regarding 2-stage solvers etc.

975. By Nick Papior

Bugfix in ncdf-siesta module, .nc was created before dhscf_init

Now the mesh gets written correctly, i.e. after the grid size has been setup.
This is now done in dhscf_init which is the only place where ntm is changed.

Also amended two missing deallocates (which is primarily needed for older intel compilers)

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:siesta
This branch contains Public information 
Everyone can see this information.

Subscribers