Skip to main content

Hybrid Solvers

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.

Comments

Popular posts from this blog

Shear waves, medecine and brain

Yesterday evening, too bored by what TV was proposing to me, I decided to watch a conference of Mathias Fink , a french researcher working on multidisciplinary application of waves. Specially shear waves.  Here is a brief summary of his talk. In solids, waves have two principal components:  compression waves (P-waves for primary) moving in the direction of propagation, and shear waves (S-waves, for secondary) that make ripples in the plane orthogonal to that direction. Since compression waves propagate in the direction of propagation, they move faster than shear waves. Usually ultrasound equipment in medicine only use compressional waves. But since human tissues have a high bulk modulus, the P-wave speed is relatively constant (around 1580 m/s). Human tissues are very stiff if you apply isotropic constraints on them (like pressure of water). However M. Fink and his colleagues proposed a new way to investigate human tissues by first sending a strong compressional wave in ...

We're not playing dices !

Software programming and design is an amazingly complex task. Specially when it concerns numerical applications, that generally require optimization to get results in a reasonable time. For that purpose the basic pattern is usually to write the code as simple as possible, debug it and when it works to begin the optimization process. This asks for some nerves, and patience, two things I usually don't have in real life , but for programming yes. This design pattern makes sense because we are doing things really sequentially. You first wrote some c++ class and then add some feature progressively, and when you come up with essentially different concept (I mean a concept that should be well separated from the first one), you write an other class and so on... Usually the class-writing process follows the solving process you have in mind. For instance you have to make some initialization on your model first, then you declare some variables for the computation, the computation then f...

Why not blogging?

Observation I am terrible at keeping things going.  And this blog is no exception. I realized my latest entry was  8 years old. Shame!  Now, I am wondering why I even wanted to start this blog in the first place. But what's more important now for me is: why would I continue and commit entries in this blog right now? For what purpose ?  Why ? The answer came up straight for me.  I want to make this blog a way to  share  my own experience to a broader audience than my own little circle.  With the motivation that it might just help someone. For who? Someone who is like my younger self and who just might benefits from the knowledge of a more experienced one. But this may be misinterpreted as 'when you grow older you get wiser' which we all know is not exactly true [sarcastic laugh].  Sharing my own experiences, good or bad, my struggles or successes with technology, science, management, colleagues, creativity etc... might just help somebody! T...