aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Albers Raviola <thomas@thomaslabs.org>2024-04-21 21:51:54 +0200
committerThomas Albers Raviola <thomas@thomaslabs.org>2024-04-21 21:51:54 +0200
commit8e30cb8d4c1caffc2d877bec6975f1539fc193d3 (patch)
tree8905bee94de16b725fc0dd9f80e836eac87dc682 /src
* Initial commit
Diffstat (limited to 'src')
-rw-r--r--src/common.f905
-rw-r--r--src/integral.f9022
-rw-r--r--src/main.f907
-rw-r--r--src/simulation.f904
4 files changed, 38 insertions, 0 deletions
diff --git a/src/common.f90 b/src/common.f90
new file mode 100644
index 0000000..9bffb5f
--- /dev/null
+++ b/src/common.f90
@@ -0,0 +1,5 @@
+module common
+ use, intrinsic :: iso_fortran_env, only : real64, stdout => output_unit
+ public
+ integer, parameter :: dp = 8
+end module common
diff --git a/src/integral.f90 b/src/integral.f90
new file mode 100644
index 0000000..859d880
--- /dev/null
+++ b/src/integral.f90
@@ -0,0 +1,22 @@
+module integral
+ use common, only : dp
+ implicit none
+
+ public
+
+ interface
+ real(dp) pure function ivp_func(t, y)
+ import :: dp
+ real(dp), intent(in) :: t, y
+ end function ivp_func
+ ! module procedure :: rk4
+ end interface
+contains
+ real(dp) function rk4 (x) result(y)
+ real(dp), intent(in) :: x
+ y = x
+ end function rk4
+
+ ! pure function rk4()
+ ! end function rk4
+end module integral
diff --git a/src/main.f90 b/src/main.f90
new file mode 100644
index 0000000..4610008
--- /dev/null
+++ b/src/main.f90
@@ -0,0 +1,7 @@
+program nbody
+ use common
+ use simulation
+ implicit none
+
+ write (stdout, '(a)') 'Hello World!'
+end program nbody
diff --git a/src/simulation.f90 b/src/simulation.f90
new file mode 100644
index 0000000..bb5c408
--- /dev/null
+++ b/src/simulation.f90
@@ -0,0 +1,4 @@
+module simulation
+ implicit none
+
+end module simulation