14/2/02 csg:

	I needed another pointer in the threads, so now we pass 5 pointers,
	not 4. any code that uses threads needs to be updated.


----------------------------------------------------------------------

12/03/03 ipd:
         renamed .c to .cpp files , removed fortran wrappers for matdiag
	 removed ESSL diagonalization and Cray functionality
	 WL fortran kernels replaced with f2c converted versions

17/03/03 ipd  TODO:
     o put new command to switch to eigenstates of the hamiltonian
     o remove the old band structure and remove requirement for (pseudo)potentials
       for band structure calculations
     o convert all wl code from c to c++ (probably mostly headers)


01/31/02 ipd:
  PW_ComplexColumn has few additions which have to be reflected to
  the WL counterpart

02/18/02 ipd:
  commented out the fermi fillings from calcUVCn_d_Hsub_fillins()/minimize.c

02/22/02 ipd:
  have to think of better symmetry setup - check the ion positions

02/25/02 ipd:
  FOR DISCUSSION: 
        o how to handle different exc_l(s)da's w/ as much code
          reuse as possible (propagate flag to lowest level??)
        o header files restructuring?:
          some headers define classes, other interfaces
          should we keep the interfaces basis independent?
  
12/06/02 ipd:
   torkel reports problem w/ reporting the total charges on levels
   matt says he runs the old code to figure them out
   we MUST fix this and have dft-two report the correct charges
   --- may be prof. Arias has fixed it - in Sept. upgrade to GGA
       missing J in calculate total charge densities!!!

22/10/02 ipd: Jacobi segfaults (pw serial) - urgency=low (since we have LAPACK)
23/10/02 ipd: redesign the commands to allow dependencies like
              +DEP0 or +DEP1
              change the dependence list to list of functions, rather than
              numbers - then you can do logic with the functions, which 
              would return 0/1.
23/10/02 ipd: in Elecvars.c tie alloc Vscloc (up/dn) to spin-type
         (right now only up/dn, Vscloc is always present)

24/10/02 ipd: names of the commands: cntrl_read_density etc.
         may be better called elec_read_density

24/10/02 ipd: Vlocpot: adding read possibility in PW - decide
         wheather this should remain in dft.c, or move to say elecvars

23/11/02 ipd: Dense grids: diagouterI - how does it know about it?

30/11/02 ipd: HACK ALERT!!:
	 *** new command use_L_orthorombic in WL_BasisSpec ***
	 another level for apply_(inv)L in WL_LO.c
         to choose between orthorombic and nonorthorombic cells
         matt's L and invL are way slower than the old ones

4/12/02  ipd: poisson.c rewritten to reduce memory - important for WL
         which tend to have large basis.
         IMPORTANT: relies on binary operators eg. Obar(in, out) Linv(in, out)
                    being able to work with 'in' and 'out' the same
                    It will be good to find a way to enforce it.



---------------------------------------------------------
We'll need a new system to deal with commands, as is obvious from the number 
of commands/* related issues in this file.  We can work on this in the future,
when the time comes to add wavelet-specific commands.  -mhe

ipd: enclose unsupported commands in '#ifdef PW', also move them to
     PW_COMMAND_OBJS in makefile, so that they're never compiled
     
ipd: on 21/11/2001 decided to have different PW/WL input files
     should be common file + include basis.in, but include not working


commands/command.c :
	ipd: enclosed in '#ifdef PW' the PW specific portions


commands/ion_species.c :
	Wrapped pretty much everything in #ifdef"'s.  No real functionality
	in wavelet IonicPotential class.
	UPDATE:  Added some functionality (wrapped in "#ifdef WAVELETS") for
	compatibility with DFT++ input file.  Needed ion-species 
	definition.
	UPDATE 11/30:  Compatibility problems solved.  Created WL_ion_species,
	which allows for type, charge, and mass specification, but does not
	ask for pseudopotential files, etc.  Works with WL_IonSpecies class. 
		-mhe
	
commands/electronic_minimization.c:
	ipd: removed ELEC_CUTOFF dependence for wavelets


ipd: ACTION ITEM - we have to fix this at some point
symm.c :
	Wrapped check_symm_fftbox in "#ifdef".  May need to replace with a 
	null function in order to avoid link-time errors.
   ipd: we have the WL symmetrizers in grid.c
	split the code on basis dep/indep, and provide the wl part


mhe:  Created WL_lattice.c in commands/.  Added additional code to ensure that
      wavelets are only passed orthorhombic cells.


csg: created #ifndev DEVELOP to shield code that isn't updated, and thus
not called in the testing phase


----------- ACTION ITEMS ------------------------
ipd: Representation checks in PW

--------------- CLEAN_UP (LATER) --------------------
ipd: clean up header files for wavelets, namespaces, etc - e.g. Dvec->vector3d

ipd: a possibly better way to transform  kvecs in physical coordinates
     for L/O

ipd: Many explicit scratch space managers were transformed to local coppies
     (calc_U, calc_KE, calcelecgrad and others from gabor)

ipd: change SCALAR_SIZE to datasize (in mpi_allreduce etc) -- seem to
     cause problems (hangs up)

ipd: in diag_outerI.... we malloc temp column array, but it doesn't get
     "fat" flag - consider something that won't require its explicit setup
      (loop and new). 
     ALSO VRFY there is no memory leak associated with this malloc

ipd: Change '^' and dot (columns, arrays) to give always real - thread it
     and change the bundle dot to call the array dot.

ipd: change diagonalize_hermitian to avoid the last argument

ipd: avoid using 'CB = Hsp(CB)'

ipd: change '#define REAL(z) ((z).x)' to function on complex AND real

ipd: change print_energies(everything, out) to energies.print(out)

ipd: WL embedding to be decided w/ input file, not compiler flag

ipd: ScalarField - charge density is real (also Vsc etc. esp. for WL)

ipd: diag_matrix - should be always real

ipd: Complex/RealMatrix - to be implemented on Complex/RealArray

mhe: Make WL_IonicPotential work with IonInfo (i.e. read ion charge, etc.)









