Skip to content

Commit

Permalink
Merge pull request #136 from feffgroup/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
jtv3 committed Feb 3, 2016
2 parents 9a60225 + 398d287 commit f1f2fea
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 7 deletions.
4 changes: 2 additions & 2 deletions CITING
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2015 University of Washington. All rights reserved.
Copyright (c) 2016 University of Washington. All rights reserved.

Citing:
In all papers, talks, etc. that make use of results from the OCEAN code we ask
Expand All @@ -8,7 +8,7 @@ that the following citations be included.
for each code for details as to the authors' wishes.

2) K. Gilmore, J. Vinson, E.L. Shirley, D. Prendergast, C.D. Pemmaraju,
J.J. Kas, F.D. Vila, and J.J. Rehr, Comp. Phys. Comm. (in press)
J.J. Kas, F.D. Vila, and J.J. Rehr, Comp. Phys. Comm. 197, 109 (2015)
http://dx.doi.org/10.1016/j.cpc.2015.08.014

3) J. Vinson, J.J. Rehr, J.J. Kas, and E.L. Shirley, Phys. Rev. B 83, 115106 (2011)
Expand Down
18 changes: 18 additions & 0 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
## v. 1.1.4

#### Bug Fix
The array ordering of calls to FFTW was switched (C/Fort). Only compilations using
FFTW (-D__FFTW3 in Makefile.arch) would have been affected.

## v. 1.1.3

#### Minor feature updates:
1. Option to disable spin-orbit splitting from the input file
2. Code can generate its own cnbse.spect_range
3. Code detects when number of xpoints is too small compared to bands


#### Under the hood:
1. Some checks for NaN cropping up in BSE
2. Some support for FFTW instead of legacy FFT in OBF pathway
3. Some support for RIXS workflows
2 changes: 1 addition & 1 deletion Version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.1.3
1.1.4
18 changes: 14 additions & 4 deletions zbridge/zf90/FFT_wrapper.f90
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@ module FFT_wrapper

contains

subroutine FFT_wrapper_init( zn )
subroutine FFT_wrapper_init( zn, io )
implicit none

integer, intent(in ) :: zn(3)
complex(kind=kind(1.0d0)), intent(inout), optional :: io(zn(1),zn(2),zn(3))
integer :: fftw_flags
!
dims(1:3) = zn(:)
Expand All @@ -47,8 +48,13 @@ subroutine FFT_wrapper_init( zn )
allocate( cwrk(dims(4)))
norm = 1.0d0 / dble( dims(4) )

fplan = fftw_plan_dft_3d( dims(1), dims(2), dims(3), cwrk, cwrk, FFTW_FORWARD, FFTW_PATIENT )
bplan = fftw_plan_dft_3d( dims(1), dims(2), dims(3), cwrk, cwrk, FFTW_BACKWARD, FFTW_PATIENT )
if( present( io ) ) then
fplan = fftw_plan_dft_3d( dims(3), dims(2), dims(1), io, io, FFTW_FORWARD, FFTW_PATIENT )
bplan = fftw_plan_dft_3d( dims(3), dims(2), dims(1), io, io, FFTW_BACKWARD, FFTW_PATIENT )
else
fplan = fftw_plan_dft_3d( dims(3), dims(2), dims(1), cwrk, cwrk, FFTW_FORWARD, FFTW_PATIENT )
bplan = fftw_plan_dft_3d( dims(3), dims(2), dims(1), cwrk, cwrk, FFTW_BACKWARD, FFTW_PATIENT )
endif

#else
norm = 1.0d0
Expand Down Expand Up @@ -95,7 +101,11 @@ end subroutine FFT_wrapper_split

subroutine FFT_wrapper_single( io, dir )
implicit none
#ifdef __FFTW3
complex(kind=kind(1.0d0)), intent( inout ) :: io( dims(1), dims(2), dims(3) )
#else
complex(kind=kind(1.0d0)), intent( inout ) :: io(dims(4))
#endif
integer, intent( in ) :: dir
!
#ifndef __FFTW3
Expand All @@ -108,7 +118,7 @@ subroutine FFT_wrapper_single( io, dir )
else
call fftw_execute_dft( bplan, io, io )
endif
io(:) = io(:) * norm
io(:,:,:) = io(:,:,:) * norm
#else
r(:) = real(io(:))
i(:) = aimag(io(:))
Expand Down

0 comments on commit f1f2fea

Please sign in to comment.