aboutsummaryrefslogtreecommitdiff
path: root/src/matexp.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/matexp.F90')
-rw-r--r--src/matexp.F9038
1 files changed, 38 insertions, 0 deletions
diff --git a/src/matexp.F90 b/src/matexp.F90
new file mode 100644
index 0000000..d2ecc77
--- /dev/null
+++ b/src/matexp.F90
@@ -0,0 +1,38 @@
+! $Header$
+
+#include "cctk.h"
+#include "cctk_Parameters.h"
+
+module matexp
+ use constants
+ implicit none
+ DECLARE_CCTK_PARAMETERS
+ private
+
+ public calc_exp3
+
+contains
+
+ subroutine calc_exp3 (h3, g3)
+ CCTK_REAL, intent(in) :: h3(3,3)
+ CCTK_REAL, intent(out) :: g3(3,3)
+ CCTK_REAL :: nfact
+ CCTK_REAL :: tmp(3,3)
+ integer :: n
+ integer :: i, j
+
+ g3 = delta3
+
+ nfact = 1
+ tmp = delta3
+ do n = 1, 18
+ nfact = nfact * n
+ tmp = matmul (h3, tmp)
+
+ ! exp(x) = sum_n x^n / n!
+ g3 = g3 + tmp / nfact
+ end do
+
+ end subroutine calc_exp3
+
+end module matexp