Skip to content

Commit 95227b3

Browse files
committed
Improve naming consistency
Signed-off-by: ErikQQY <[email protected]>
1 parent db918f6 commit 95227b3

11 files changed

Lines changed: 83 additions & 121 deletions

src/auxiliary.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
function FastConv(x, y)
1+
function fast_conv(x, y)
22
Lx = length(x)
33
#Ly = size(y, 2)
44
problem_size = size(y, 1)

src/fodesystem/PIPECE.jl

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ function solve(prob::FODESystem, h, ::PECE)
135135
t = t0 .+ collect(0:N)*h
136136
y[:, 1] = u0[:, 1]
137137
fy[:, 1] = f_temp
138-
(y, fy) = ABMTriangolo(1, r-1, t, y, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, p, f) ;
138+
(y, fy) = ABM_triangolo(1, r-1, t, y, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, p, f) ;
139139

140140
# Main process of computation by means of the FFT algorithm
141141
ff = zeros(1, 2^(Qr+2)); ff[1:2] = [0; 2] ; card_ff = 2
@@ -177,9 +177,9 @@ function DisegnaBlocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn_pred, zn_corr, N, M
177177

178178
stop = (nxi+r-1 == nx0+L*r-1) || (nxi+r-1>=Nr-1)
179179

180-
(zn_pred, zn_corr) = ABMQuadrato(nxi, nxf, nyi, nyf, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length)
180+
(zn_pred, zn_corr) = ABM_quadrato(nxi, nxf, nyi, nyf, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length)
181181

182-
(y, fy) = ABMTriangolo(nxi, nxi+r-1, t, y, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, p, f)
182+
(y, fy) = ABM_triangolo(nxi, nxi+r-1, t, y, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, p, f)
183183
i_triangolo = i_triangolo + 1
184184

185185
if stop == false
@@ -200,10 +200,11 @@ function DisegnaBlocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn_pred, zn_corr, N, M
200200
return y, fy
201201
end
202202

203-
function ABMQuadrato(nxi, nxf, nyi, nyf, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length)
203+
function ABM_quadrato(nxi, nxf, nyi, nyf, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length)
204204
coef_end::Int = nxf-nyi+1
205205
i_fft::Int = log2(coef_end/METH.r)
206-
funz_beg::Int = nyi+1; funz_end::Int = nyf+1
206+
funz_beg::Int = nyi+1
207+
funz_end::Int = nyf+1
207208
Nnxf::Int = min(N, nxf)
208209

209210
# Evaluation convolution segment for the predictor
@@ -240,7 +241,7 @@ end
240241

241242

242243

243-
function ABMTriangolo(nxi, nxf, t, y, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, p, f)
244+
function ABM_triangolo(nxi, nxf, t, y, fy, zn_pred, zn_corr, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, p, f)
244245

245246
for n = nxi:min(N, nxf)
246247

@@ -254,7 +255,7 @@ function ABMTriangolo(nxi, nxf, t, y, fy, zn_pred, zn_corr, N, METH, problem_siz
254255
for j = j_beg:n-1
255256
Phi = Phi + METH.bn[1:alpha_length,n-j].*fy[:, j+1]
256257
end
257-
St = StartingTerm(t[n+1], u0, m_alpha, t0, m_alpha_factorial)
258+
St = starting_term(t[n+1], u0, m_alpha, t0, m_alpha_factorial)
258259
y_pred = St + METH.halpha1.*(zn_pred[:, n+1] + Phi)
259260
f_pred = zeros(length(y_pred))
260261
#f_pred = sysf_vectorfield(t[n+1], y_pred, f)
@@ -271,8 +272,10 @@ function ABMTriangolo(nxi, nxf, t, y, fy, zn_pred, zn_corr, N, METH, problem_siz
271272
Phi = Phi + METH.an[1:alpha_length, n-j+1].*fy[:, j+1]
272273
end
273274
Phi_n = St + METH.halpha2.*(METH.a0[1:alpha_length, n+1].*fy[:, 1] + zn_corr[:, n+1] + Phi)
274-
yn0 = y_pred; fn0 = f_pred
275-
stop = false; mu_it = 0
275+
yn0 = y_pred
276+
fn0 = f_pred
277+
stop = false
278+
mu_it = 0
276279
while stop == false
277280
global yn1 = Phi_n + METH.halpha2.*fn0
278281
mu_it = mu_it + 1
@@ -299,7 +302,7 @@ end
299302

300303
sysf_vectorfield(t, y, f_fun) = f_fun(t, y)
301304

302-
function StartingTerm(t, u0, m_alpha, t0, m_alpha_factorial)
305+
function starting_term(t, u0, m_alpha, t0, m_alpha_factorial)
303306
ys = zeros(size(u0, 1), 1)
304307
for k = 1 : maximum(m_alpha)
305308
if length(m_alpha) == 1

src/fodesystem/bdf.jl

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
8484
end
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
119119
end
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
129129
end
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
176176
end
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
240240
end
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
@@ -286,7 +286,7 @@ end
286286

287287
Jf_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]

src/fodesystem/explicit_pi.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ function solve(prob::FODESystem, h, ::PIEX)
6060

6161
# Evaluation of coefficients of the PECE method
6262
nvett = 0:NNr+1 |> collect
63-
bn = zeros(alpha_length, NNr+1); an = copy(bn); a0 = copy(bn)
63+
bn = zeros(alpha_length, NNr+1)#; an = copy(bn); a0 = copy(bn)
6464
for i_alpha = 1:alpha_length
6565
find_alpha = Float64[]
6666
if α[i_alpha] == α[1:i_alpha-1]
@@ -113,14 +113,14 @@ function solve(prob::FODESystem, h, ::PIEX)
113113
t = t0 .+ collect(0:N)*h
114114
y[:, 1] = u0[:, 1]
115115
fy[:, 1] = f_temp
116-
(y, fy) = PIEXTriangolo(1, r-1, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, α, p)
116+
(y, fy) = PIEX_system_triangolo(1, r-1, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, α, p)
117117

118118
# Main process of computation by means of the FFT algorithm
119119
ff = zeros(1, 2^(Qr+2)); ff[1:2] = [0; 2] ; card_ff = 2
120120
nx0::Int = 0; ny0::Int = 0
121121
for qr = 0 : Qr
122122
L = 2^qr
123-
(y, fy) = PIDisegnaBlocchi(L, ff, r, Nr, nx0+L*r, ny0, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, α, p)
123+
(y, fy) = PIEX_system_disegna_blocchi(L, ff, r, Nr, nx0+L*r, ny0, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, α, p)
124124
ff[1:2*card_ff] = [ff[1:card_ff]; ff[1:card_ff]]
125125
card_ff = 2*card_ff
126126
ff[card_ff] = 4*L
@@ -138,7 +138,7 @@ function solve(prob::FODESystem, h, ::PIEX)
138138
end
139139

140140

141-
function PIDisegnaBlocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, alpha, p)
141+
function PIEX_system_disegna_blocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, alpha, p)
142142

143143
nxi::Int = nx0; nxf::Int = nx0 + L*r - 1
144144
nyi::Int = ny0; nyf::Int = ny0 + L*r - 1
@@ -154,9 +154,9 @@ function PIDisegnaBlocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N, METH, problem
154154

155155
stop = (nxi+r-1 == nx0+L*r-1) || (nxi+r-1>=Nr-1)
156156

157-
zn = PIEXQuadrato(nxi, nxf, nyi, nyf, fy, zn, N, METH, problem_size, alpha_length, alpha)
157+
zn = PIEX_system_quadrato(nxi, nxf, nyi, nyf, fy, zn, N, METH, problem_size, alpha_length, alpha)
158158

159-
(y, fy) = PIEXTriangolo(nxi, nxi+r-1, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, alpha, p)
159+
(y, fy) = PIEX_system_triangolo(nxi, nxi+r-1, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, alpha, p)
160160
i_triangolo = i_triangolo + 1
161161

162162
if stop == false
@@ -177,7 +177,7 @@ function PIDisegnaBlocchi(L, ff, r, Nr, nx0, ny0, t, y, fy, zn, N, METH, problem
177177
return y, fy
178178
end
179179

180-
function PIEXQuadrato(nxi, nxf, nyi, nyf, fy, zn, N, METH, problem_size, alpha_length, alpha)
180+
function PIEX_system_quadrato(nxi, nxf, nyi, nyf, fy, zn, N, METH, problem_size, alpha_length, alpha)
181181
coef_end::Int = nxf-nyi+1
182182
i_fft::Int = log2(coef_end/METH.r)
183183
funz_beg::Int = nyi+1; funz_end::Int = nyf+1
@@ -201,10 +201,10 @@ end
201201

202202

203203

204-
function PIEXTriangolo(nxi, nxf, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, alpha, p)
204+
function PIEX_system_triangolo(nxi, nxf, t, y, fy, zn, N, METH, problem_size, alpha_length, m_alpha, m_alpha_factorial, u0, t0, f, alpha, p)
205205

206206
for n = nxi:min(N, nxf)
207-
St = StartingTerm(t[n+1], u0, m_alpha, t0, m_alpha_factorial)
207+
St = PIEX_system_starting_term(t[n+1], u0, m_alpha, t0, m_alpha_factorial)
208208
# Evaluation of the predictor
209209
Phi = zeros(problem_size, 1)
210210
if nxi == 1 # Case of the first triangle
@@ -232,7 +232,7 @@ end
232232

233233
sysf_vectorfield(t, y, f_fun) = f_fun(t, y)
234234

235-
function StartingTerm(t, u0, m_alpha, t0, m_alpha_factorial)
235+
function PIEX_system_starting_term(t, u0, m_alpha, t0, m_alpha_factorial)
236236
ys = zeros(size(u0, 1), 1)
237237
for k = 1 : maximum(m_alpha)
238238
if length(m_alpha) == 1

0 commit comments

Comments
 (0)