lp:~nickpapior/siesta/4.1-fdf-blocks
- Get this branch:
- bzr branch lp:~nickpapior/siesta/4.1-fdf-blocks
Branch merges
- Alberto Garcia: Approve
-
Diff: 770 lines (+112/-109)31 files modifiedSrc/Makefile (+4/-4)
Src/broyden_optim.F (+2/-0)
Src/cell_broyden_optim.F (+2/-0)
Src/cgvc.F (+2/-0)
Src/cgvc_zmatrix.F (+2/-0)
Src/chemical.f (+5/-13)
Src/coor.F (+5/-9)
Src/fdf_extra.F90 (+19/-19)
Src/get_target_stress.f (+2/-0)
Src/kgrid.F (+1/-1)
Src/kgridinit.F (+2/-1)
Src/kpoint_grid.F90 (+1/-0)
Src/kpoint_pdos.F90 (+2/-1)
Src/ksvinit.F (+1/-1)
Src/ldau_specs.f (+1/-1)
Src/local_DOS.F (+1/-0)
Src/m_efield.F (+3/-6)
Src/m_new_dm.F90 (+1/-1)
Src/m_spin.F90 (+4/-1)
Src/m_target_stress.F (+2/-0)
Src/m_ts_io_ctype.f90 (+11/-26)
Src/m_ts_kpoints.F90 (+1/-0)
Src/meshsubs.F (+1/-0)
Src/metaforce.F (+24/-17)
Src/projected_DOS.F (+3/-4)
Src/read_xc_info.F (+1/-0)
Src/readsp.F (+1/-0)
Src/redcel.F (+4/-2)
Src/reoptical.F (+1/-0)
Src/zm_broyden_optim.F (+2/-1)
version.info (+1/-1)
Branch information
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, withn = 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 AtomicCoordinatesAndAtomicSpec ies one would do: na = fdf_block_
linecount( 'AtomicCoordina tesAndAtomicSpe cies', '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. - 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 - 976. By Nick Papior
-
Updated shipped BLAS+LAPACK to c5471e8be275434
5ec650c8d3b08c6 eb680ebd0c 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