@@ -38,7 +38,7 @@ function solve(prob::FODESystem, h, ::FLMMBDF; reltol=1e-6, abstol=1e-6)
3838
3939 problem_size = size (u0, 1 )
4040
41- # Number of points in which to evaluate the solution or the BDFWeights
41+ # Number of points in which to evaluate the solution or the BDF_weights
4242 r:: Int = 16
4343 N:: Int = ceil (Int, (tfinal- t0)/ h)
4444 Nr:: Int = ceil (Int, (N+ 1 )/ r)* r
@@ -50,8 +50,8 @@ function solve(prob::FODESystem, h, ::FLMMBDF; reltol=1e-6, abstol=1e-6)
5050 fy = zeros (problem_size, N+ 1 )
5151 zn = zeros (problem_size, NNr+ 1 )
5252
53- # Evaluation of convolution and starting BDFWeights of the FLMM
54- (omega, w, s) = BDFWeights (alpha, NNr+ 1 )
53+ # Evaluation of convolution and starting BDF_weights of the FLMM
54+ (omega, w, s) = BDF_weights (alpha, NNr+ 1 )
5555 halpha = h^ alpha
5656
5757 # Initializing solution and proces of computation
@@ -61,16 +61,16 @@ function solve(prob::FODESystem, h, ::FLMMBDF; reltol=1e-6, abstol=1e-6)
6161 f (temp, u0[:, 1 ], p, t0)
6262 # fy[:, 1] = BDFf_vectorfield(t0, y0[:, 1], fdefun)
6363 fy[:, 1 ] = temp
64- (y, fy) = BDFFirstApproximations (t, y, fy, abstol, itmax, s, halpha, omega, w, problem_size, f, Jfdefun, u0, m_alpha, t0, m_alpha_factorial, p)
65- (y, fy) = BDFTriangolo (s+ 1 , r- 1 , 0 , t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, f, Jfdefun, u0, m_alpha, t0, m_alpha_factorial, p)
64+ (y, fy) = BDF_first_approximations (t, y, fy, abstol, itmax, s, halpha, omega, w, problem_size, f, Jfdefun, u0, m_alpha, t0, m_alpha_factorial, p)
65+ (y, fy) = BDF_triangolo (s+ 1 , r- 1 , 0 , t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, f, Jfdefun, u0, m_alpha, t0, m_alpha_factorial, p)
6666
6767 # Main process of computation by means of the FFT algorithm
6868 nx0:: Int = 0 ; ny0:: Int = 0
6969 ff = zeros (1 , 2 ^ (Q+ 2 ), 1 )
7070 ff[1 : 2 ] = [0 2 ]
7171 for q = 0 : Q
7272 L:: Int = 2 ^ q
73- (y, fy) = BDFDisegnaBlocchi (L, ff, r, Nr, nx0+ L* r, ny0, t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, f, Jfdefun, u0, m_alpha, t0, m_alpha_factorial, p)
73+ (y, fy) = BDF_disegna_blocchi (L, ff, r, Nr, nx0+ L* r, ny0, t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, f, Jfdefun, u0, m_alpha, t0, m_alpha_factorial, p)
7474 ff[1 : 4 * L] = [ff[1 : 2 * L]; ff[1 : 2 * L- 1 ]; 4 * L]
7575 end
7676 # Evaluation solution in TFINAL when TFINAL is not in the mesh
@@ -84,7 +84,7 @@ function solve(prob::FODESystem, h, ::FLMMBDF; reltol=1e-6, abstol=1e-6)
8484end
8585
8686
87- function BDFDisegnaBlocchi (L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N , abstol, itmax, s, w, omega, halpha, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
87+ function BDF_disegna_blocchi (L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N , abstol, itmax, s, w, omega, halpha, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
8888 nxi:: Int = copy (nx0); nxf:: Int = copy (nx0 + L* r - 1 )
8989 nyi:: Int = copy (ny0); nyf:: Int = copy (ny0 + L* r - 1 )
9090 is:: Int = 1
@@ -96,8 +96,8 @@ function BDFDisegnaBlocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N , abstol, itm
9696 i_triangolo = 0 ; stop = false
9797 while ~ stop
9898 stop = (nxi+ r- 1 == nx0+ L* r- 1 ) || (nxi+ r- 1 >= Nr- 1 )
99- zn = BDFQuadrato (nxi, nxf, nyi, nyf, fy, zn, omega, problem_size)
100- (y, fy) = BDFTriangolo (nxi, nxi+ r- 1 , nxi, t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
99+ zn = BDF_quadrato (nxi, nxf, nyi, nyf, fy, zn, omega, problem_size)
100+ (y, fy) = BDF_triangolo (nxi, nxi+ r- 1 , nxi, t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
101101 i_triangolo = i_triangolo + 1
102102
103103 if ~ stop
@@ -118,20 +118,20 @@ function BDFDisegnaBlocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N , abstol, itm
118118 return y, fy
119119end
120120
121- function BDFQuadrato (nxi, nxf, nyi, nyf, fy, zn, omega, problem_size)
121+ function BDF_quadrato (nxi, nxf, nyi, nyf, fy, zn, omega, problem_size)
122122 coef_beg:: Int = nxi- nyf; coef_end:: Int = nxf- nyi+ 1
123123 funz_beg:: Int = nyi+ 1 ; funz_end:: Int = nyf+ 1
124124 vett_coef = omega[coef_beg+ 1 : coef_end+ 1 ]
125125 vett_funz = [fy[:, funz_beg: funz_end] zeros (problem_size, funz_end- funz_beg+ 1 )]
126- zzn = real (FastConv (vett_coef, vett_funz))
126+ zzn = real (fast_conv (vett_coef, vett_funz))
127127 zn[:, nxi+ 1 : nxf+ 1 ] = zn[:, nxi+ 1 : nxf+ 1 ] + zzn[:, nxf- nyf: end - 1 ]
128128 return zn
129129end
130130
131- function BDFTriangolo (nxi, nxf, j0, t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
131+ function BDF_triangolo (nxi, nxf, j0, t, y, fy, zn, N, abstol, itmax, s, w, omega, halpha, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
132132 for n = nxi: min (N, nxf)
133133 n1:: Int = n+ 1
134- St = ABMStartingTerm (t[n1], y0, m_alpha, t0, m_alpha_factorial)
134+ St = ABM_starting_term (t[n1], y0, m_alpha, t0, m_alpha_factorial)
135135
136136 Phi = zeros (problem_size, 1 )
137137 for j = 0 : s
@@ -175,7 +175,7 @@ function BDFTriangolo(nxi, nxf, j0, t, y, fy, zn, N, abstol, itmax, s, w, omega,
175175 return y, fy
176176end
177177
178- function BDFFirstApproximations (t, y, fy, abstol, itmax, s, halpha, omega, w, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
178+ function BDF_first_approximations (t, y, fy, abstol, itmax, s, halpha, omega, w, problem_size, fdefun, Jfdefun, y0, m_alpha, t0, m_alpha_factorial, p)
179179 m = problem_size
180180 Im = zeros (m, m)+ I; Ims = zeros (m* s, m* s)+ I
181181 Y0 = zeros (s* m, 1 ); F0 = copy (Y0); B0 = copy (Y0)
@@ -184,7 +184,7 @@ function BDFFirstApproximations(t, y, fy, abstol, itmax, s, halpha, omega, w, pr
184184 temp = zeros (length (y[:, 1 ]))
185185 fdefun (temp, y[:, 1 ], p, t[j+ 1 ])
186186 F0[(j- 1 )* m+ 1 : j* m, 1 ] = temp# BDFf_vectorfield(t[j+1], y[:, 1], fdefun)
187- St = ABMStartingTerm (t[j+ 1 ], y0, m_alpha, t0, m_alpha_factorial)
187+ St = ABM_starting_term (t[j+ 1 ], y0, m_alpha, t0, m_alpha_factorial)
188188 B0[(j- 1 )* m+ 1 : j* m, 1 ] = St + halpha* (omega[j+ 1 ]+ w[1 , j+ 1 ])* fy[:, 1 ]
189189 end
190190 W = zeros (s, s)
@@ -239,7 +239,7 @@ function BDFFirstApproximations(t, y, fy, abstol, itmax, s, halpha, omega, w, pr
239239 return y, fy
240240end
241241
242- function BDFWeights (alpha, N)
242+ function BDF_weights (alpha, N)
243243 # BDF-2 with generating function (2/3/(1-4x/3+x^2/3))^alpha
244244 omega = zeros (1 , N+ 1 )
245245 onethird = 1 / 3 ; fourthird = 4 / 3
@@ -276,7 +276,7 @@ function BDFWeights(alpha, N)
276276 end
277277 end
278278
279- temp = FastConv ([omega zeros (size (omega))], [jj_nu zeros (size (jj_nu))])
279+ temp = fast_conv ([omega zeros (size (omega))], [jj_nu zeros (size (jj_nu))])
280280 temp = real .(temp)
281281 b = nn_nu_alpha - temp[:, 1 : N+ 1 ]
282282 # Solution of the linear system with multiple right-hand side
286286
287287Jf_vectorfield (t, y, Jfdefun) = Jfdefun (t, y)
288288
289- function ABMStartingTerm (t,y0, m_alpha, t0, m_alpha_factorial)
289+ function ABM_starting_term (t,y0, m_alpha, t0, m_alpha_factorial)
290290 ys = zeros (size (y0, 1 ), 1 )
291291 for k = 1 : Int64 (m_alpha)
292292 ys = ys + (t- t0)^ (k- 1 )/ m_alpha_factorial[k]* y0[:, k]
0 commit comments