-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBlockSolvers.jl
40 lines (28 loc) · 1.26 KB
/
BlockSolvers.jl
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
module BlockSolvers
using LinearAlgebra
using SparseArrays
using SparseMatricesCSR
using BlockArrays
using IterativeSolvers
using Gridap
using Gridap.Helpers, Gridap.Algebra, Gridap.CellData, Gridap.Arrays, Gridap.FESpaces, Gridap.MultiField
using PartitionedArrays
using GridapDistributed
using GridapSolvers.MultilevelTools
using GridapSolvers.SolverInterfaces
using Gridap.MultiField: BlockSparseMatrixAssembler
using GridapDistributed: to_parray_of_arrays
using GridapDistributed: DistributedMultiFieldFESpace, DistributedMultiFieldFEFunction
const MultiFieldFESpaceTypes = Union{<:MultiFieldFESpace,<:GridapDistributed.DistributedMultiFieldFESpace}
const BlockFESpaceTypes{NB,SB,P} = Union{<:MultiFieldFESpace{<:BlockMultiFieldStyle{NB,SB,P}},<:GridapDistributed.DistributedMultiFieldFESpace{<:BlockMultiFieldStyle{NB,SB,P}}}
include("BlockSolverInterfaces.jl")
include("BlockDiagonalSolvers.jl")
include("BlockTriangularSolvers.jl")
include("BlockFEOperators.jl")
include("StaggeredFEOperators.jl")
export MatrixBlock, LinearSystemBlock, NonlinearSystemBlock, BiformBlock, TriformBlock
export BlockDiagonalSolver
export BlockTriangularSolver
export BlockFEOperator
export StaggeredFEOperator, StaggeredAffineFEOperator, StaggeredNonlinearFEOperator, StaggeredFESolver
end