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

Reply via email to