subroutine nonline(e_density1, e_p1, e_r1, phi_ba1) use itg_data, only: kd, nl_edensity, nl_ep, nl_er use nl, only: nlpsc implicit none complex, dimension(:,:,:) :: phi_ba1, e_density1, e_p1, e_r1 ! ! We must calculate {a,b} for a,b=: ! uv,w uv,tpar uv,v uv,T ! uv,q uv,qpar uflr,w uflr,T ! uflr,v uflr2,T uflr2,q ! ! In each case we want to pass the two variables' real and ! imaginary parts to a subroutine which will return the real ! and imaginary parts of {a,b} in (x,ky,kz) space. ! ! call nlpsc(0,phi_ba1,e_density1,nl_edensity,kd) call nlpsc(1,phi_ba1,e_p1,nl_ep,kd) call nlpsc(1,phi_ba1,e_r1,nl_er,kd) end subroutine nonline