Skip to content

Commit 308178d

Browse files
committed
[PSs] setup! -> update!
1 parent c220b54 commit 308178d

File tree

6 files changed

+35
-38
lines changed

6 files changed

+35
-38
lines changed

PartitionedSolvers/src/PartitionedSolvers.jl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,11 @@ using LinearAlgebra
66

77
export setup
88
export solve!
9-
export setup!
9+
export update!
1010
export finalize!
1111
export AbstractLinearSolver
1212
export linear_solver
13-
export attach_nullspace
1413
export default_nullspace
15-
export preconditioner
16-
export matrix
1714
export nullspace
1815
include("interfaces.jl")
1916

PartitionedSolvers/src/amg.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -337,10 +337,10 @@ function amg(;
337337
coarse_params=amg_coarse_params(),)
338338
amg_params = (;fine_params,coarse_params)
339339
setup(x,O,b,options) = amg_setup(x,O,b,nullspace(options),amg_params)
340-
setup! = amg_setup!
340+
update! = amg_update!
341341
solve! = amg_solve!
342342
finalize! = amg_finalize!
343-
linear_solver(;setup,setup!,solve!,finalize!)
343+
linear_solver(;setup,update!,solve!,finalize!)
344344
end
345345

346346
function amg_setup(x,A,b,::Nothing,amg_params)
@@ -459,7 +459,7 @@ end
459459
amg_cycle!(args...)
460460
end
461461

462-
function amg_setup!(setup,A,options)
462+
function amg_update!(setup,A,options)
463463
amg_params = setup.amg_params
464464
nlevels = setup.nlevels
465465
for level in 1:(nlevels-1)
@@ -468,13 +468,13 @@ function amg_setup!(setup,A,options)
468468
(;coarsening) = level_params
469469
_, coarsen! = coarsening
470470
(;R,P,A,Ac,Ac_setup,pre_setup,pos_setup) = level_setup
471-
setup!(pre_setup,A)
472-
setup!(pos_setup,A)
471+
update!(pre_setup,A)
472+
update!(pos_setup,A)
473473
coarsen!(A,Ac,R,P,Ac_setup)
474474
A = Ac
475475
end
476476
coarse_solver_setup = setup.coarse_level.coarse_solver_setup
477-
setup!(coarse_solver_setup,A)
477+
update!(coarse_solver_setup,A)
478478
setup
479479
end
480480

PartitionedSolvers/src/interfaces.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@ abstract type AbstractLinearSolver end
1515
function linear_solver(;
1616
setup,
1717
solve!,
18-
setup!,
18+
update!,
1919
finalize! = ls_setup->nothing,
2020
)
21-
LinearSolver(setup,solve!,setup!,finalize!)
21+
LinearSolver(setup,solve!,update!,finalize!)
2222
end
2323

2424
struct LinearSolver{A,B,C,D} <: AbstractLinearSolver
2525
setup::A
2626
solve!::B
27-
setup!::C
27+
update!::C
2828
finalize!::D
2929
end
3030

@@ -47,9 +47,9 @@ function setup(solver::LinearSolver,x,A,b;kwargs...)
4747
Preconditioner(solver,solver_setup)
4848
end
4949

50-
function setup!(P::Preconditioner,A;kwargs...)
50+
function update!(P::Preconditioner,A;kwargs...)
5151
options = setup_options(;kwargs...)
52-
P.solver.setup!(P.solver_setup,A,options)
52+
P.solver.update!(P.solver_setup,A,options)
5353
P
5454
end
5555

PartitionedSolvers/src/smoothers.jl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11

22
function lu_solver()
33
setup(x,op,b,options) = lu(op)
4-
setup!(state,op,options) = lu!(state,op)
4+
update!(state,op,options) = lu!(state,op)
55
solve!(x,P,b,options) = ldiv!(x,P,b)
6-
linear_solver(;setup,solve!,setup!)
6+
linear_solver(;setup,solve!,update!)
77
end
88

99
function jacobi_correction()
1010
setup(x,op,b,options) = dense_diag!(similar(b),op)
11-
setup!(state,op,options) = dense_diag!(state,op)
11+
update!(state,op,options) = dense_diag!(state,op)
1212
function solve!(x,state,b,options)
1313
x .= state .\ b
1414
end
15-
linear_solver(;setup,setup!,solve!)
15+
linear_solver(;setup,update!,solve!)
1616
end
1717

1818
function richardson(solver;iters,omega=1)
@@ -23,10 +23,10 @@ function richardson(solver;iters,omega=1)
2323
P = PartitionedSolvers.setup(solver,dx,A,r)
2424
state = (r,dx,P,A_ref)
2525
end
26-
function setup!(state,A,options)
26+
function update!(state,A,options)
2727
(r,dx,P,A_ref) = state
2828
A_ref[] = A
29-
PartitionedSolvers.setup!(P,A)
29+
PartitionedSolvers.update!(P,A)
3030
state
3131
end
3232
function solve!(x,state,b,options)
@@ -45,7 +45,7 @@ function richardson(solver;iters,omega=1)
4545
(r,dx,P,A_ref) = state
4646
PartitionedSolvers.finalize!(P)
4747
end
48-
linear_solver(;setup,setup!,solve!,finalize!)
48+
linear_solver(;setup,update!,solve!,finalize!)
4949
end
5050

5151
function jacobi(;kwargs...)
@@ -60,7 +60,7 @@ function gauss_seidel(;iters=1,sweep=:symmetric)
6060
A_ref = Ref(A)
6161
(diagA,A_ref)
6262
end
63-
function setup!(state,A,options)
63+
function update!(state,A,options)
6464
(diagA,A_ref) = state
6565
dense_diag!(diagA,A)
6666
A_ref[] = A
@@ -96,7 +96,7 @@ function gauss_seidel(;iters=1,sweep=:symmetric)
9696
end
9797
x
9898
end
99-
linear_solver(;setup,setup!,solve!)
99+
linear_solver(;setup,update!,solve!)
100100
end
101101

102102
function additive_schwarz(local_solver;iters=1)
@@ -137,9 +137,9 @@ function additive_schwarz_correction(local_solver)
137137
local_setup_options(A,options),
138138
) |> AdditiveSchwarzSetup
139139
end
140-
function setup!(state::AdditiveSchwarzSetup,A,options)
140+
function update!(state::AdditiveSchwarzSetup,A,options)
141141
map(
142-
local_solver.setup!,
142+
local_solver.update!,
143143
state.local_setups,
144144
own_own_values(A),
145145
local_setup_options(A,options),
@@ -165,8 +165,8 @@ function additive_schwarz_correction(local_solver)
165165
function setup(x,A,b,options)
166166
local_solver.setup(x,A,b,options)
167167
end
168-
function setup!(state,A,options)
169-
local_solver.setup!(state,A,options)
168+
function update!(state,A,options)
169+
local_solver.update!(state,A,options)
170170
end
171171
function solve!(x,state,b,options)
172172
local_solver.solve!(x,state,b,options)
@@ -176,6 +176,6 @@ function additive_schwarz_correction(local_solver)
176176
local_solver.finalize!(state)
177177
nothing
178178
end
179-
linear_solver(;setup,setup!,solve!,finalize!)
179+
linear_solver(;setup,update!,solve!,finalize!)
180180
end
181181

PartitionedSolvers/test/amg_tests.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ y .= 0
2020
solver = amg()
2121
S = setup(solver,y,A,b)
2222
solve!(y,S,b)
23-
setup!(S,2*A)
23+
update!(S,2*A)
2424
solve!(y,S,b)
2525
finalize!(S)
2626

@@ -49,7 +49,7 @@ solver = amg(;fine_params,coarse_params)
4949
B = default_nullspace(A)
5050
S = setup(solver,y,A,b;nullspace=B)
5151
solve!(y,S,b)
52-
setup!(S,2*A)
52+
update!(S,2*A)
5353
solve!(y,S,b)
5454
finalize!(S)
5555

@@ -83,7 +83,7 @@ solver = amg()
8383
S = setup(solver,y,A,b)
8484
amg_statistics(S) |> display
8585
solve!(y,S,b)
86-
setup!(S,2*A)
86+
update!(S,2*A)
8787
solve!(y,S,b)
8888
finalize!(S)
8989

@@ -93,7 +93,7 @@ B = default_nullspace(A)
9393
solver = amg()
9494
S = setup(solver,y,A,b;nullspace=B)
9595
solve!(y,S,b)
96-
setup!(S,2*A)
96+
update!(S,2*A)
9797
solve!(y,S,b)
9898
finalize!(S)
9999

PartitionedSolvers/test/smoothers_tests.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ S = setup(solver,y,A,b)
2121
solve!(y,S,b)
2222
tol = 1.e-8
2323
@test norm(y-x)/norm(x) < tol
24-
setup!(S,2*A)
24+
update!(S,2*A)
2525
solve!(y,S,b)
2626
@test norm(y-x/2)/norm(x/2) < tol
2727
finalize!(S)
@@ -33,7 +33,7 @@ S = setup(solver,y,A,b)
3333
solve!(y,S,b)
3434
tol = 1.e-8
3535
@test norm(y-x)/norm(x) < tol
36-
setup!(S,2*A)
36+
update!(S,2*A)
3737
solve!(y,S,b)
3838
@test norm(y-x/2)/norm(x/2) < tol
3939
finalize!(S)
@@ -45,7 +45,7 @@ S = setup(solver,y,A,b)
4545
solve!(y,S,b)
4646
tol = 1.e-8
4747
@test norm(y-x)/norm(x) < tol
48-
setup!(S,2*A)
48+
update!(S,2*A)
4949
solve!(y,S,b)
5050
@test norm(y-x/2)/norm(x/2) < tol
5151
finalize!(S)
@@ -55,7 +55,7 @@ y = similar(x)
5555
y .= 0
5656
S = setup(solver,y,A,b)
5757
solve!(y,S,b)
58-
setup!(S,2*A)
58+
update!(S,2*A)
5959
solve!(y,S,b)
6060
finalize!(S)
6161

@@ -64,7 +64,7 @@ y = similar(x)
6464
y .= 0
6565
S = setup(solver,y,A,b)
6666
solve!(y,S,b)
67-
setup!(S,2*A)
67+
update!(S,2*A)
6868
solve!(y,S,b)
6969
finalize!(S)
7070

0 commit comments

Comments
 (0)