PROGRAM Ableitungen IMPLICIT NONE !_______________________________________________________________________________ #include'fftw3.f' !_______________________________________________________________________________ INTEGER k PARAMETER N=2048 DOUBLE PRECISION:: pi,kvec DOUBLE COMPLEX:: imi DIMENSION kvec(N/2+1) INTEGER*8 plan_hin,plan_her DOUBLE PRECISION:: in DIMENSION in(N) DOUBLE COMPLEX:: out DIMENSION out(N/2 + 1) !_______________________________________________________________________________ imi=(0.0d0,1.0d0) pi=DACOS(-1.0d0) !_______________________________________________________________________________ !Initialisierung des Feldes open(10,File='Funktion.dat') DO k=1,N in(k)=dsin(2.0*pi*(k-1)/real(N)) write(10,*) k-1,real(in(k)) END DO close(10) !_______________________________________________________________________________ ! Wellenzahlen initialisieren DO k=1,N/2+1 kvec(k)=k-1 END DO !_______________________________________________________________________________ ! Plaene initialisieren CALL dfftw_plan_dft_r2c_1d(plan_hin,N,in,out,FFTW_ESTIMATE) CALL dfftw_plan_dft_c2r_1d(plan_her,N,out,in,FFTW_ESTIMATE) !_______________________________________________________________________________ ! in den Fourierraum CALL dfftw_execute_dft_r2c(plan_hin, in, out) out=out/DBLE(N)**0.5d0 !_______________________________________________________________________________ ! Ableitung berechnen DO k=1,N/2+1 out(k)=imi*kvec(k)*out(k) END DO open(13,File='AbleitungFourierraum.dat') DO k=1,N/2+1 write(13,*) k-1,real(out(k)) END DO close(13) !_______________________________________________________________________________ ! in den Ortsraum CALL dfftw_execute_dft_c2r(plan_her,out,in) in=in/DBLE(N)**0.5d0 open(14,File='Ableitung.dat') DO k=1,N write(14,*) k-1,real(in(k)) END DO close(14) !_______________________________________________________________________________ !Zerstörung der Plaene CALL dfftw_destroy_plan(plan_hin) CALL dfftw_destroy_plan(plan_her) !_______________________________________________________________________________ END PROGRAM