diff --git a/GravityField/.gitignore b/GravityField/.gitignore new file mode 100644 index 0000000..69d81d1 --- /dev/null +++ b/GravityField/.gitignore @@ -0,0 +1,2 @@ + +essai diff --git a/GravityField/Makefile b/GravityField/Makefile new file mode 100644 index 0000000..8ae5ec0 --- /dev/null +++ b/GravityField/Makefile @@ -0,0 +1,8 @@ +# +# Fortraneries by tTh - Gravity Field +# + +GFOPT = -Wall -Wextra -g -time + +essai: essai.f90 Makefile + gfortran $(GFOPT) $< -o $@ diff --git a/GravityField/README.md b/GravityField/README.md new file mode 100644 index 0000000..5dd6455 --- /dev/null +++ b/GravityField/README.md @@ -0,0 +1,5 @@ +# Gravity Field + +Some crude experiments to make fancy picture of a useless gravaity field. + +Expect bug party. diff --git a/GravityField/essai.f90 b/GravityField/essai.f90 new file mode 100644 index 0000000..86ca747 --- /dev/null +++ b/GravityField/essai.f90 @@ -0,0 +1,62 @@ +program essai + implicit none + + integer :: ix, iy + real :: fx, fy + real :: foo, bar, maxi, mini + + maxi = 0.0 + mini = 9e9 + + do ix=1, 2000 + fx = real(ix) + do iy=1, 2000 + fy = real(iy) + + foo = rdist(fx, fy, 222.22, 765.432) + bar = gravity(foo, 1337.0) + + maxi = max(maxi, bar) + mini = min(mini, bar) + + enddo + enddo + + print *, "dist : ", mini, maxi + +contains !------------------------------------------ + +function gravity(distance, masse) + real, intent(in) :: distance, masse + real :: gravity + real :: computed + + if (distance .LT. 0.010) then + computed = 0.0 + else + computed = masse / (distance ** 2) + endif + + gravity = computed + +end function + + !------------------------------------------ + +function rdist(ax, ay, bx, by) + real, intent(in) :: ax, ay, bx, by + real :: rdist + real :: rx, ry + + rx = real(ax-bx) + ry = real(ay-by) + + rdist = sqrt( (rx*rx) + (ry*ry) ) + +end function + + + !------------------------------------------ + !------------------------------------------ + +end program