Le calcul numérique de haute performance - Université de Laval
Le calcul numérique de haute performance - Université de Laval
Le calcul numérique de haute performance - Université de Laval
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
subroutine assmass(r,b)<br />
parameter (n=256,np=2097152)<br />
dimension r(np,3), b(0:n-1,0:n-1,0:n-1)<br />
do i=-1,1<br />
do j=-1,1<br />
do k=-1,1<br />
do m=1,np<br />
x=r(m,1)<br />
y=r(m,2)<br />
z=r(m,3)<br />
ir=int(n*x)<br />
jr=int(n*y)<br />
kr=int(n*z)<br />
dx=x-ir/float(n)<br />
dy=y-jr/float(n)<br />
dz=z-kr/float(n)<br />
ii=ir+i<br />
jj=jr+j<br />
kk=kr+k<br />
t1=0.75-0.625*i*i+dx*(0.5*i+dx*(1.5*i*i-1.))<br />
t2=0.75-0.625*j*j+dy*(0.5*j+dy*(1.5*j*j-1.))<br />
t3=0.75-0.625*k*k+dz*(0.5*k+dz*(1.5*k*k-1.))<br />
b(ii,jj,kk)=b(ii,jj,kk)+t1*t2*t3<br />
enddo<br />
enddo<br />
enddo<br />
enddo<br />
return<br />
end