Hi Edscott, as Timo already mentioned, if you run a simulation in parallel, the grid is distributed across multiple cores. Each core will assemble and solve the linear system in parallel (plus the communication between neighboring grid parts).
You might speed up things further by computing the stiffness matrix with multiple threads per core. Last year I investigated this a bit. The assembler has a for loop, iterating over all grid elements and collecting the bits and pieces for the stiffness matrix. To execute this for loop with multiple threads should make the computation faster, as the contributions to the stiffness matrix from the elements can be computed completely independent. As this loop is not a simple for(int=0; i<maxElement; ++i) one, the built-in mechanisms provided by openMP and similar threading libraries cannot be applied. Rewriting parts of the grid traversal for parallel traversal was out of my scope. You might want to give it a try. Ask on the Dune mailing list for advice. Bye Christoph -- [..] Mathematicians are like theologians: we regard existence as the prime attribute of what we study. But unlike theologians, we need not always rely upon faith alone. [Lawrence Evans] _______________________________________________ Dumux mailing list [email protected] https://listserv.uni-stuttgart.de/mailman/listinfo/dumux
