diff --git a/source/f90/eels-boson.f90 b/source/f90/eels-boson.f90 index 6904453d55b67c712bea295a26935947e1580f65..4eaf3d8a10ea723efc69ae67fd4a030d1d8b1881 100644 --- a/source/f90/eels-boson.f90 +++ b/source/f90/eels-boson.f90 @@ -49,7 +49,7 @@ program eels_boson character (len = :), allocatable :: eelsin_name, bosonout_name - ! the default names + ! the default file names eelsin_name = 'eelsin.yaml' bosonout_name = 'bosonout.txt' @@ -119,6 +119,12 @@ program eels_boson print *, io_err%message stop 1 endif + nper = root%get_integer("NumberOfPeriodicLayers", error = io_err) + if (allocated(io_err)) then + print *, io_err%message + stop 1 + endif + layerList => root%get_list('Layers', required = .true., error = io_err) if (allocated(io_err)) then @@ -148,7 +154,6 @@ program eels_boson layers = layerList%size() user = layers == 0 - nper = 1 if (.not. user) then neps = layers if (nper == -1) then @@ -303,8 +308,7 @@ program eels_boson write(*,'(a, i6, a, g15.7, a, g15.7)') ' read', nw, ' values of pcl from', wmin, ' to', wmax ! length calculation for xout, yout. -! not done yet. - nout = 2**14 + nout = nint((emax - emin) / dw ) + 1 allocate (xout(nout)) allocate (yout(nout)) diff --git a/source/f90/getOscillator.f90 b/source/f90/getOscillator.f90 index ed5a91f452236d5dfff1742867bec5732f5c3bb7..21091f33b4447c1dd567d400e44ce6c12b1c8318 100644 --- a/source/f90/getOscillator.f90 +++ b/source/f90/getOscillator.f90 @@ -28,23 +28,23 @@ module getOscillator_mod select case (oscType(jos)) case (Lorentz) osc(1,jos) = oscillatorTerm%get_real('wTO', error = io_err) - osc(2,jos) = oscillatorTerm%get_real('Q', error = io_err) - osc(3,jos) = oscillatorTerm%get_real('Gamma', error = io_err) + osc(2,jos) = oscillatorTerm%get_real('Qk', error = io_err) + osc(3,jos) = oscillatorTerm%get_real('yk', error = io_err) osc(4,jos) = 0.0 case (Kurosawa) osc(1,jos) = oscillatorTerm%get_real('wTO', error = io_err) - osc(2,jos) = oscillatorTerm%get_real('GammaTO', error = io_err) + osc(2,jos) = oscillatorTerm%get_real('yTO', error = io_err) osc(3,jos) = oscillatorTerm%get_real('wLO', error = io_err) - osc(4,jos) = oscillatorTerm%get_real('GammaLO', error = io_err) + osc(4,jos) = oscillatorTerm%get_real('yLO', error = io_err) case (Drude) osc(1,jos) = oscillatorTerm%get_real('wP', error = io_err) - osc(2,jos) = oscillatorTerm%get_real('Gamma', error = io_err) + osc(2,jos) = oscillatorTerm%get_real('y', error = io_err) osc(3,jos) = 0.0 osc(4,jos) = 0.0 case (extendedDrude) osc(1,jos) = oscillatorTerm%get_real('wP', error = io_err) - osc(2,jos) = oscillatorTerm%get_real('Gamma0', error = io_err) - osc(3,jos) = oscillatorTerm%get_real('GammaP', error = io_err) + osc(2,jos) = oscillatorTerm%get_real('yp', error = io_err) + osc(3,jos) = oscillatorTerm%get_real('yP', error = io_err) osc(4,jos) = 0.0 end select end select