For the moment, I am developing an Non-Overlapping Domain Decomposition Hybrid Solver for scalar PDE in 2D/3D domains.
It decomposes the underlying mesh into regions, solves the Schur Complement System onto frontier nodes between regions and then solves the problem into each inner region nodes.
This type of solver is said to be HYBRID because the Schur complement system is solved by a preconditioned iterative method whereas the inner problems are solved by a direct method. So it mixes the approach. However it requires less memory (and possibly time) than any direct solvers and in the same time suffer less of bad conditioning than iterative ones (the Schur complement system is well conditioned in that case).
This technique allows to split computation easily since each regions are more or less independent during all the process. It has been used with success on computer clusters, and I wish to use it with shared memory paradigm in mind to solve huge systems on (relatively modest) desktop computers.
In some time I will report my advance here, and the capabilities of the code I am developing, with performance profiles.
It decomposes the underlying mesh into regions, solves the Schur Complement System onto frontier nodes between regions and then solves the problem into each inner region nodes.
This type of solver is said to be HYBRID because the Schur complement system is solved by a preconditioned iterative method whereas the inner problems are solved by a direct method. So it mixes the approach. However it requires less memory (and possibly time) than any direct solvers and in the same time suffer less of bad conditioning than iterative ones (the Schur complement system is well conditioned in that case).
This technique allows to split computation easily since each regions are more or less independent during all the process. It has been used with success on computer clusters, and I wish to use it with shared memory paradigm in mind to solve huge systems on (relatively modest) desktop computers.
In some time I will report my advance here, and the capabilities of the code I am developing, with performance profiles.
Comments