<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!--P{margin-top:0;margin-bottom:0;} p
{margin-top:0;
margin-bottom:0}--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hello Dune-Community,</p>
<p>I have some questions regarding parallel solvers in DUNE. I want to solve a linear systems of equations in parallel</p>
<p>and faced some difficulties trying to get a nonoverlapping version to work ...</p>
<p>My approach is to split my mesh up with the loadbalance command and afterwards assemble the stiffness matrix</p>
<p>on each local partition using the "interiorBorder (hope that is correct)" partition type. Afterwards the boundary</p>
<p>conditions are set.<br>
</p>
<p><br>
</p>
<p>Considering the preconditioner and solver, I define the following things:</p>
<p><br>
</p>
<p> using Communication = OwnerOverlapCopyCommunication<int, int>;<br>
using SSOR = SeqSSOR<operatorType, blockVector, blockVector>;<br>
using Preconditioner = NonoverlappingBlockPreconditioner<Communication, SSOR>;<br>
using ScalarProduct = NonoverlappingSchwarzScalarProduct<blockVector, Communication>;<br>
using LinearOperator = NonoverlappingSchwarzOperator<operatorType, blockVector, blockVector, Communication>;</p>
<p><br>
Communication comm; comm.remoteIndices().rebuild<true>();<br>
SSOR ssor(stiffnessMatrix, 3, 0.7);<br>
Preconditioner preconditioner(ssor, comm);<br>
ScalarProduct scalarProduct(comm);<br>
LinearOperator linearOperator(stiffnessMatrix, comm);<br>
<br>
CGSolver<blockVector> solver(linearOperator, scalarProduct, preconditioner, 1e-8, 1000, (mpiRank==0) ? 2 : 0);<br>
<br>
InverseOperatorResult statistics;<br>
solver.apply(displacementVector, loadVector, statistics);<br>
</p>
<p><br>
</p>
<p>For a single process I get the right solution, but for more processes I get a mapping segmentation fault. When the partition</p>
<p>type is changed to "all" the solver runs through, but doesn't converge ... So am I using the right approach with the code snippet</p>
<p>from above or are there other ways in Dune to solve my system in parallel ?<br>
</p>
<p><br>
</p>
<p>Thanks for the help and best regards,</p>
<p>Max</p>
<p><br>
</p>
</body>
</html>