Changeset 2910 for trunk/src/em_resp.F90

Show
Ignore:
Timestamp:
05/14/07 15:48:34 (3 years ago)
Author:
xavier
Message:

Added the posibility of using non-local operators with the Sternheimer
equation, this is done by passing a set of ground state wavefunctions
with the operator applied to them instead of the local potential.
There is still the posibility of passing a local potential, to avoid
the memory cost of storing another set of wavefunctions.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/em_resp.F90

    r2908 r2910  
    246246              call zsternheimer_solve(sh, sys, h, em_vars%lr(dir, :, ifactor), 2 , & 
    247247                   em_vars%freq_factor(ifactor)*em_vars%omega(iomega) + M_zI * em_vars%eta, & 
    248                    sys%gr%m%x(:, dir), RESTART_DIR,& 
     248                   RESTART_DIR,& 
    249249                   em_rho_tag(em_vars%freq_factor(ifactor)*em_vars%omega(iomega), dir),& 
    250                    em_wfs_tag(dir, ifactor), have_restart_rho=(ierr==0)) 
     250                   em_wfs_tag(dir, ifactor), have_restart_rho=(ierr==0),& 
     251                   vext = sys%gr%m%x(:, dir)) 
    251252            else 
    252253              call dsternheimer_solve(sh, sys, h, em_vars%lr(dir, :, ifactor), 2 , & 
    253254                   em_vars%freq_factor(ifactor)*em_vars%omega(iomega), & 
    254                    sys%gr%m%x(:, dir), RESTART_DIR,& 
     255                   RESTART_DIR,& 
    255256                   em_rho_tag(em_vars%freq_factor(ifactor)*em_vars%omega(iomega), dir),& 
    256                    em_wfs_tag(dir, ifactor), have_restart_rho=(ierr==0)) 
     257                   em_wfs_tag(dir, ifactor), have_restart_rho=(ierr==0), & 
     258                   vext = sys%gr%m%x(:, dir)) 
    257259            end if 
    258260