program problematiro implicit none external tiro_parabolico !! Parametros de configuracion de lsode integer, parameter :: neq=4 integer, parameter :: iopt=0 integer, parameter :: itol=1 integer, parameter :: itask=1 integer, dimension(20) :: iwork integer :: liw=20 integer, dimension(20+16*neq) :: rwork integer :: lrw=20+16*neq integer :: istate=1 integer :: mf=10 ! Adams nonstiff method !! Configuracion del problema integer,parameter :: nitmax=1000 !! Errores real :: rtol=1.e-6 real :: atol=1.e-6 real, dimension(4) :: y real :: t,tout,dt=.1 integer :: i y(1)=0. y(2)=0. y(3)=10. y(4)=10. write(*,*) 'coord. x - ','coord. y - ','veloc. u - ','veloc. v - ','tiempo' do i=1,nitmax tout=t+dt call slsode(tiro_parabolico,neq,y,t,tout,itol,rtol,atol,itask,& & istate,iopt,rwork,lrw,iwork,liw,'STRING',mf) write(*,*) y(1),y(2),y(3),y(4),t !! Condicion de parada es la llegada al suelo if (y(2)<0) exit end do end program problematiro