Предлагаю работу Перевести программу с Fortran на Си

VIP Разбойник
Премиум
Активный участник
Регистрация
17 Янв 2020
Сообщения
140.186
Реакции
7.142
Монетки
3585
Перевод небольшой программы на си integer lijp1 real mu/1E-3/ dimension pij(0:100,0:100),vxij(0:100,0:100),vyij(0:100,0:100),vx0ij(0:100,0:100),vy0ij(0:100,0:100), & aPij(0:100,0:100),aEij(0:100,0:100),aWij(0:100,0:100),aNij(0:100,0:100),aSij(0:100,0:100), & bPij(0:100,0:100),bEij(0:100,0:100),bWij(0:100,0:100),bNij(0:100,0:100),bSij(0:100,0:100) data Nx/50/,Ny/50/,dx/0.1/,dy/0.1/,ro/1./,eps/1E-5/ hx=dx;hy=dy;omega=0.5 lijp1=hx/ro;dip1j=hy/ro;delt=1E20 open(1,file='dan2.txt') vx0ij=0.;vy0ij=0. vxij=5.;vyij=5. do while (delt>eps) delt=0. do i=0,Nx do j=0,Ny pij(i,j)=300.+1.*float(i)+2.*float(j) end do end do !write(1,*) ' pij' !write(1,1001) ((i,j,pij(i,j),j=1,Ny),i=1,Nx) 1001 format(2i5,g15.7) do i=0,Nx-1 do j=1,Ny aPij(i,j)=-2.*mu/hx**2*vxij(i+1,j);aEij(i,j)=mu/hx**2*vxij(i+2,j);aWij(i,j)=(mu/hx**2+mu/hy**2)*vxij (i,j);aNij(i,j)=-2.*mu/hy**2*vxij(i,j+1);aSij(i,j)=mu/hy**2*vxij(i,j+2) aPij(i,j)=aPij(i,j)*hx*hy;aEij(i,j)=aEij(i,j)*hx*hy;aWij(i,j)=aWij(i,j)*hx*hy;aNij(i,j)=aNij(i,j)*hx *hy;aSij(i,j)=aSij(i,j)*hx*hy vxij(i,j)=(omega*(-aPij(i,j)-aEij(i,j)-aNij(i,j)-aSij(i,j)-dip1j*(pij(i,j)-pij(i+1,j)))+(1.-omega)*a Wij(i,j))/(mu/hx**2+mu/hy**2) delt=delt+(vxij(i,j)-vx0ij(i,j))**2 end do end do do i=1,Nx do j=0,Ny-1 bPij(i,j)=-2.*mu/hy**2*vyij(i,j+1);bEij(i,j)=mu/hy**2*vyij(i,j+2);bWij(i,j)=(mu/hx**2+mu/hy**2)*vyij (i,j);bNij(i,j)=-2.*mu/hx**2*vyij(i+1,j);bSij(i,j)=mu/hx**2*vyij(i+2,j) bPij(i,j)=bPij(i,j)*hy*hx;bEij(i,j)=bEij(i,j)*hy*hx;bWij(i,j)=bWij(i,j)*hy*hx;bNij(i,j)=bNij(i,j)*hy *hx;bSij(i,j)=bSij(i,j)*hy*hx vyij(i,j)=(omega*(-bPij(i,j)-bEij(i,j)-bNij(i,j)-bSij(i,j)-lijp1*(pij(i,j)-pij(i+1,j)))+(1.-omega)*b Wij(i,j))/(mu/hx**2+mu/hy**2) delt=delt+(vyij(i,j)-vy0ij(i,j))**2 end do end do vx0ij=vxij;vy0ij=vyij end do !while write(1,*) 'vx' write(1,1001) ((i,j,vxij(i,j),j=1,Ny),i=1,Nx) write(1,*) 'vy' write(1,1001) ((i,j,vyij(i,j),j=1,Ny),i=1,Nx) do i=0,Nx-1 do j=1,Ny aPij(i,j)=-2.*mu/hx**2*vxij(i+1,j);aEij(i,j)=mu/hx**2*vxij(i+2,j);aWij(i,j)=(mu/hx**2+...

Откликнуться на задание:
Для просмотра содержимого вам необходимо авторизоваться.
 
Цена
600 ₽
11
Сверху Снизу