aboutsummaryrefslogtreecommitdiff
path: root/src/LinearWaves.F
blob: c0dc44ec55a49d183fd9dc426030a680cfb1558f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
c/*@@
c  @file      linearWaves.F
c  @date      
c  @author    Joan Masso
c  @desc 
c             Driver for the analytical (or almost) linear wave models 
c  @enddesc 
c@@*/

c Note that including cactus.h will also include linearWaves.h
#include "cactus.h"

c/*@@
c  @routine    linearWaves
c  @date       
c  @author     Joan Masso 
c  @desc 
c  
c  @enddesc 
c  @calls     planewaves teukwaves
c  @calledby   
c  @history Converted to Cactus4.0. the code and its comments of the
   original authors are kept. There is NO BM support at this point.
   Id like to know how Cactus handles this w/o #ifdef !
c
c  @endhistory 
c@@*/

#include "cctk.h"
#include "declare_arguments.h"
#include "declare_parameters.h"

      subroutine linearWaves(CCTK_FARGUMENTS)
      implicit none
      
      DECLARE_CCTK_FARGUMENTS
      DECLARE_PARMETERS


c     Call the Teukolsky wave init routine
      if ((CCTK_Equals(initial_data,'teukwaves').eq.1) then
         call teukwaves(CCTK_FARGUMENTS)

c     at this point CACTUS 3.2.0 has the following calls
c     #ifdef BMUTIL call metricderiv
c     #ifdef BONAMASSO: vxyz=0; call vectorini;

      elseif (CCTK_Equals(initial_data,'planewaves')) then
         call planewaves(CCTK_FARGUMENTS)

c     at this point CACTUS 3.2.0 has the following calls     
c     #ifdef BMUTIL call vectorini;

      else 
         CCTK_Warn(0,"Thorn linearWaves: model initialization failed");
      endif
      
      return
      end