FLASH-X
Doxygen Generated Documentation From Interface Source Code
RungeKutta_interface.F90
Go to the documentation of this file.
1!! NOTICE
2!! Copyright 2022 UChicago Argonne, LLC and contributors
3!!
4!! Licensed under the Apache License, Version 2.0 (the "License");
5!! you may not use this file except in compliance with the License.
6!!
7!! Unless required by applicable law or agreed to in writing, software
8!! distributed under the License is distributed on an "AS IS" BASIS,
9!! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10!! See the License for the specific language governing permissions and
11!! limitations under the License.
12!!
18
20
21 interface
22 subroutine RungeKutta_finalize ()
23 end subroutine RungeKutta_finalize
24 end interface
25
26 interface
27 subroutine RungeKutta_init ()
28 end subroutine RungeKutta_init
29 end interface
30
31 interface
32 subroutine RungeKutta_step (method, &
33 f, x, y, &
34 eFrac, eBase, &
35 htry, &
36 hused, hnext, &
37 yout, eout )
38 interface
39 function f (x,y)
40 real, intent (in) :: x
41 real, intent (in) :: y (:)
42 real :: f (1:size (y))
43 end function f
44 end interface
45
46 character (len=*), intent (in) :: method
47 real, intent (in) :: x
48 real, intent (in) :: y (:)
49 real, intent (in) :: eFrac
50 real, intent (in) :: eBase (:)
51 real, intent (in) :: htry
52 real, intent (out) :: hused
53 real, intent (out) :: hnext
54 real, intent (out) :: yout (:)
55 real, intent (out) :: eout (:)
56 end subroutine RungeKutta_step
57 end interface
58
59 interface
60 subroutine RungeKutta_stepConfined (method, &
61 f, nc, &
62 x, y, ymin, ymax, &
63 eFrac, eBase, &
64 htry, &
65 hused, hnext, &
66 yout, eout )
67 interface
68 function f (x,y)
69 real, intent (in) :: x
70 real, intent (in) :: y (:)
71 real :: f (1:size (y))
72 end function f
73 end interface
74
75 interface
76 function ymin (nc,y)
77 integer, intent (in) :: nc
78 real, intent (in) :: y (:)
79 real :: ymin (1:nc)
80 end function ymin
81 end interface
82
83 interface
84 function ymax (nc,y)
85 integer, intent (in) :: nc
86 real, intent (in) :: y (:)
87 real :: ymax (1:nc)
88 end function ymax
89 end interface
90
91 character (len=*), intent (in) :: method
92 integer, intent (in) :: nc
93 real, intent (in) :: x
94 real, intent (in) :: y (:)
95 real, intent (in) :: eFrac
96 real, intent (in) :: eBase (:)
97 real, intent (in) :: htry
98 real, intent (out) :: hused
99 real, intent (out) :: hnext
100 real, intent (out) :: yout (:)
101 real, intent (out) :: eout (:)
102 end subroutine RungeKutta_stepConfined
103 end interface
104
105 interface
106 real function RungeKutta_stepSizeEstimate (method,f,x,y,eFrac,eBase,hmax)
107
108 interface
109 function f (x,y)
110 real, intent (in) :: x
111 real, intent (in) :: y (:)
112 real :: f (1:size (y))
113 end function f
114 end interface
115
116 character (len=*), intent (in) :: method
117 real, intent (in) :: x
118 real, intent (in) :: y (:)
119 real, intent (in) :: eFrac
120 real, intent (in) :: eBase (:)
121 real, optional, intent (in) :: hmax
122 end function RungeKutta_stepSizeEstimate
123 end interface
124
125end Module RungeKutta_interface
subroutine RungeKutta_stepConfined(method, f, nc, x, y, ymin, ymax, eFrac, eBase, htry, hused, hnext, yout, eout)
real function RungeKutta_stepSizeEstimate(method, f, x, y, eFrac, eBase, hmax)