for(i = 0; i < nb_it-1; i++){ for( x = 0; x < st_x ; x++){ for( y = 0; y < st_y ; y++){ arma::cx_mat tmpdx=arma::shift(res.slice(i),1,0); arma::cx_mat tmpdx2=arma::shift(res.slice(i),-1,0); arma::cx_mat tmpdy=arma::shift(res.slice(i),1,1); arma::cx_mat tmpdy2=arma::shift(res.slice(i),-1,1); res_i = (potential/HB)%res.slice(i)+(HB*dt/(2*M*dx*dx))*(tmpdx-2*res.slice(i)+tmpdx2) +(HB*dt/(2*M*dy*dy))*(tmpdy-2*res.slice(i)+tmpdy2); } } }
module1= Extension('_solmod', include_dirs=[numpy.get_include(),'./include/armanpy'], libraries=['m','z','armadillo'], sources=['solmod.i','solver.cpp'], swig_opts=["-c++","-Wall","-I.","-I./include/armanpy"], extra_compile_args=['--std=c++11'])
import solmod pot=np.asfortranarray(pot,dtype=float) sol=solmod.Solver(st_x,st_y,time,nb_it,pot)