~albertog/siesta/4.1-xc

« back to all changes in this revision

Viewing changes to Src/Makefile

  • Committer: Alberto Garcia
  • Date: 2018-12-18 11:38:26 UTC
  • Revision ID: albertog@icmab.es-20181218113826-q1nw0qwlc5smc0xe
Simplify the choice between SiestaXC and BSC's versions of cellxc  

The BSC_CELLXC preprocessor blocks have been removed and replaced
by conditional blocks which can be selected at runtime.

The user can control which version of cellxc is used by means of the
fdf logical variable:
  
     XC.Use.BSC.CellXC  (T/F)  

which is 'false' by default, thus using SiestaXC's cellxc.

The BSC version might be slightly better for GGA operations, and the
SiestaXC version must of course be used when dealing with van der Waals
density functionals.

NOTES:
  
* BSC's version of cellxc now uses ldaxc, ggaxc, and setxc/getxc from
  SiestaXC. This enhances its functionality (more functionals) and
  saves on duplicated code. The old 'xc.f' file has been removed.
  
* In 'meshsubs', 'distriphionmesh' now accepts an extra argument to
  flag the need for stencil initilization.
  
* In 'forhar', a number of 'reord' operations towards 'sequential'
  fine-point ordering (which were compiled-in only for the new
  interface) have been removed, as all the arrays involved are already
  in 'sequential' form.
  
  Tests show that these changes do not seem to affect the results, however.
  
  The 'forhar' interface uses the 'ntm' argument in all cases, to simplify
  the code.

* Removed bogus incompatibility check in ldau.F

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
 
82
82
OBJS =  automatic_cell.o atom_options.o \
83
83
        arw.o  atomlwf.o bands.o basis_enthalpy.o bessph.o bonds.o \
84
 
        born_charge.o cellxc_mod.o cgwf.o chkdim.o chkgmx.o \
 
84
        born_charge.o cgwf.o chkdim.o chkgmx.o \
85
85
        chempot.o coceri.o coxmol.o cross.o compute_norm.o\
86
86
        denmat.o denmatlomem.o detover.o dfscf.o diagon.o digcel.o \
87
87
        fft.o dhscf.o constr.o diagk_file.o \
150
150
        moreParallelSubs.o \
151
151
        read_xc_info.o \
152
152
        siesta_master.o \
153
 
        bsc_xcmod.o bsc_cellxc.o xc.o \
 
153
        bsc_cellxc.o \
154
154
        vacuum_level.o \
155
155
        write_orb_indx.o \
156
156
        die.o m_pexsi.o m_pexsi_driver.o m_pexsi_dos.o m_pexsi_local_dos.o\
539
539
atm_transfer.o: periodic_table.o radial.o sys.o
540
540
atm_types.o: precision.o radial.o
541
541
atmfuncs.o: atm_types.o precision.o radial.o spher_harm.o sys.o
542
 
atom.o: atmparams.o atom_options.o basis_specs.o basis_types.o bsc_xcmod.o
543
 
atom.o: interpolation.o m_filter.o old_atmfuncs.o periodic_table.o precision.o
 
542
atom.o: atmparams.o atom_options.o basis_specs.o basis_types.o interpolation.o
 
543
atom.o: m_filter.o old_atmfuncs.o periodic_table.o precision.o
544
544
atom.o: pseudopotential.o sys.o
545
545
atom_graph.o: alloc.o atm_types.o atmfuncs.o class_OrbitalDistribution.o
546
546
atom_graph.o: class_SpData1D.o class_SpData2D.o class_SpData2D.o
569
569
broadcast_projections.o: m_trialorbitalclass.o parallel.o siesta2wannier90.o
570
570
broyden_optim.o: m_broyddj_nocomm.o m_memory.o parallel.o precision.o
571
571
broyden_optim.o: siesta_options.o sys.o units.o
572
 
bsc_cellxc.o: alloc.o bsc_xcmod.o cellxc_mod.o mesh.o moremeshsubs.o parallel.o
573
 
bsc_cellxc.o: parallelsubs.o precision.o sys.o
574
 
bsc_xcmod.o: parallel.o precision.o sys.o
 
572
bsc_cellxc.o: alloc.o mesh.o moremeshsubs.o parallel.o parallelsubs.o
 
573
bsc_cellxc.o: precision.o sys.o
575
574
cart2frac.o: precision.o sys.o
576
575
cell_broyden_optim.o: m_broyddj_nocomm.o parallel.o precision.o sys.o units.o
577
576
cell_broyden_optim.o: zmatrix.o
578
577
cell_fire_optim.o: alloc.o m_fire.o m_memory.o parallel.o precision.o
579
578
cell_fire_optim.o: siesta_options.o sys.o zmatrix.o
580
579
cellsubs.o: precision.o
581
 
cellxc_mod.o: bsc_xcmod.o sys.o
582
580
cgvc.o: alloc.o conjgr_old.o m_mpi_utils.o parallel.o precision.o sys.o units.o
583
581
cgvc_zmatrix.o: alloc.o conjgr.o m_mpi_utils.o parallel.o precision.o sys.o
584
582
cgvc_zmatrix.o: units.o zmatrix.o
668
666
detover.o: alloc.o linpack.o parallel.o parallelsubs.o precision.o
669
667
dfscf.o: alloc.o atm_types.o atmfuncs.o atomlist.o listsc.o mesh.o meshdscf.o
670
668
dfscf.o: meshphi.o parallel.o parallelsubs.o precision.o sys.o
671
 
dhscf.o: alloc.o atmfuncs.o bsc_xcmod.o cellxc_mod.o delk.o dfscf.o
672
 
dhscf.o: doping_uniform.o files.o forhar.o iogrid_netcdf.o m_charge_add.o
673
 
dhscf.o: m_efield.o m_hartree_add.o m_iorho.o m_mesh_node.o m_ncdf_io.o
674
 
dhscf.o: m_ncdf_siesta.o m_partial_charges.o m_rhog.o m_spin.o
675
 
dhscf.o: m_ts_global_vars.o m_ts_hartree.o m_ts_options.o m_ts_voltage.o mesh.o
676
 
dhscf.o: meshdscf.o meshsubs.o moremeshsubs.o parallel.o parsing.o precision.o
677
 
dhscf.o: rhofft.o rhoofd.o siesta_options.o sys.o units.o vmat.o
 
669
dhscf.o: alloc.o atmfuncs.o delk.o dfscf.o doping_uniform.o files.o forhar.o
 
670
dhscf.o: iogrid_netcdf.o m_charge_add.o m_efield.o m_hartree_add.o m_iorho.o
 
671
dhscf.o: m_mesh_node.o m_ncdf_io.o m_ncdf_siesta.o m_partial_charges.o m_rhog.o
 
672
dhscf.o: m_spin.o m_ts_global_vars.o m_ts_hartree.o m_ts_options.o
 
673
dhscf.o: m_ts_voltage.o mesh.o meshdscf.o meshsubs.o moremeshsubs.o parallel.o
 
674
dhscf.o: parsing.o precision.o rhofft.o rhoofd.o siesta_options.o sys.o units.o
 
675
dhscf.o: vmat.o
678
676
diag.o: alloc.o diag_option.o parallel.o precision.o sys.o
679
677
diag2g.o: fermid.o intrinsic_missing.o parallel.o parallelsubs.o precision.o
680
678
diag2g.o: sys.o
1100
1098
meshdscf.o: alloc.o atomlist.o m_dscfcomm.o meshphi.o parallel.o parallelsubs.o
1101
1099
meshdscf.o: precision.o
1102
1100
meshphi.o: alloc.o precision.o
1103
 
meshsubs.o: alloc.o atm_types.o atmfuncs.o cellsubs.o cellxc_mod.o chkgmx.o
1104
 
meshsubs.o: fft1d.o mesh.o meshphi.o moremeshsubs.o parallel.o parallelsubs.o
1105
 
meshsubs.o: precision.o radial.o siesta_cml.o sys.o
 
1101
meshsubs.o: alloc.o atm_types.o atmfuncs.o cellsubs.o chkgmx.o fft1d.o mesh.o
 
1102
meshsubs.o: meshphi.o moremeshsubs.o parallel.o parallelsubs.o precision.o
 
1103
meshsubs.o: radial.o siesta_cml.o sys.o
1106
1104
metaforce.o: alloc.o parallel.o precision.o sys.o
1107
1105
minvec.o: cellsubs.o precision.o sorting.o sys.o
1108
1106
mixer.o: atomlist.o m_mixing.o m_mixing_scf.o m_spin.o parallel.o precision.o
1261
1259
siesta_forces.o: state_analysis.o state_init.o sys.o timer.o units.o
1262
1260
siesta_forces.o: write_subs.o
1263
1261
siesta_geom.o: precision.o
1264
 
siesta_init.o: alloc.o atomlist.o bands.o bsc_xcmod.o
1265
 
siesta_init.o: class_Fstack_Pair_Geometry_SpData2D.o diag_option.o files.o
1266
 
siesta_init.o: flook_siesta.o ioxv.o kpoint_grid.o kpoint_pdos.o ksvinit.o
1267
 
siesta_init.o: m_check_walltime.o m_cite.o m_energies.o m_eo.o m_fixed.o
1268
 
siesta_init.o: m_forces.o m_iostruct.o m_mpi_utils.o m_new_dm.o m_rmaxh.o
1269
 
siesta_init.o: m_spin.o m_steps.o m_supercell.o m_timer.o m_wallclock.o
1270
 
siesta_init.o: metaforce.o molecularmechanics.o object_debug.o parallel.o
1271
 
siesta_init.o: parallelsubs.o projected_DOS.o siesta_cmlsubs.o siesta_dicts.o
1272
 
siesta_init.o: siesta_geom.o siesta_options.o sparse_matrices.o struct_init.o
1273
 
siesta_init.o: sys.o timer.o timestamp.o ts_init.o units.o writewave.o
1274
 
siesta_init.o: zmatrix.o
 
1262
siesta_init.o: alloc.o atomlist.o bands.o class_Fstack_Pair_Geometry_SpData2D.o
 
1263
siesta_init.o: diag_option.o files.o flook_siesta.o ioxv.o kpoint_grid.o
 
1264
siesta_init.o: kpoint_pdos.o ksvinit.o m_check_walltime.o m_cite.o m_energies.o
 
1265
siesta_init.o: m_eo.o m_fixed.o m_forces.o m_iostruct.o m_mpi_utils.o
 
1266
siesta_init.o: m_new_dm.o m_rmaxh.o m_spin.o m_steps.o m_supercell.o m_timer.o
 
1267
siesta_init.o: m_wallclock.o metaforce.o molecularmechanics.o object_debug.o
 
1268
siesta_init.o: parallel.o parallelsubs.o projected_DOS.o siesta_cmlsubs.o
 
1269
siesta_init.o: siesta_dicts.o siesta_geom.o siesta_options.o sparse_matrices.o
 
1270
siesta_init.o: struct_init.o sys.o timer.o timestamp.o ts_init.o units.o
 
1271
siesta_init.o: writewave.o zmatrix.o
1275
1272
siesta_master.o: iopipes.o iosockets.o precision.o sys.o
1276
1273
siesta_move.o: atomlist.o broyden_optim.o cell_broyden_optim.o
1277
1274
siesta_move.o: cell_fire_optim.o dynamics.o fire_optim.o flook_siesta.o ioxv.o
1342
1339
writewave.o: alloc.o atmfuncs.o atomlist.o densematrix.o diag.o diag_option.o
1343
1340
writewave.o: get_kpoints_scale.o kpoint_grid.o m_spin.o parallel.o
1344
1341
writewave.o: parallelsubs.o precision.o siesta_geom.o sys.o units.o
1345
 
xc.o: alloc.o bsc_xcmod.o precision.o sys.o
1346
1342
xml.o: precision.o
1347
1343
zm_broyden_optim.o: m_broyddj_nocomm.o parallel.o precision.o sys.o units.o
1348
1344
zm_broyden_optim.o: zmatrix.o