<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.apple-converted-space
{mso-style-name:apple-converted-space;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Hello Pierre,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">My example is indeed not very relevant for scattering, but in practice I have vectors of same global size but distributed differently
over the processes, and I need to transfer the whole data from one vector to the other.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">In this case, I think that the solution below may be reasonably efficient.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US">Alexandre.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">De :</span></b><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Pierre Jolivet <pierre@joliv.et>
<br>
<b>Envoyé :</b> vendredi 13 juin 2025 11:59<br>
<b>À :</b> SCOTTO Alexandre <alexandre.scotto@irt-saintexupery.com><br>
<b>Cc :</b> petsc-users@mcs.anl.gov<br>
<b>Objet :</b> Re: [petsc-users] Insertion mode for Scatter<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal">Please always keep the list in copy.<o:p></o:p></p>
<div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">On 13 Jun 2025, at 11:55 AM, SCOTTO Alexandre <<a href="mailto:alexandre.scotto@irt-saintexupery.com">alexandre.scotto@irt-saintexupery.com</a>> wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Hello Pierre,</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thank you for you answer.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I think I see the subtlety here, and it makes realized that I have not properly understood yet how index sets should be manipulated, in particular whether the
provided indices are local or global.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">It seems that this code solves my issue:</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">index_set_1</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#4EC9B0">PETSc</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.IS().createStride(</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> <span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.local_size,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">first</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.owner_range[</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">0</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">],<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">step</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">1</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">index_set_2</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#4EC9B0">PETSc</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.IS().createStride(</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> <span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.local_size,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">first</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.owner_range[</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">0</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">],<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">step</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">1</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">scatter</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#4EC9B0">PETSc</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.Scatter().create(</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">index_set_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">index_set_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">scatter</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.scatter(</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">addv</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#569CD6">True</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Do you think that this is a decent manner of transfering the whole content of a vector to another of same dimension?</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I have a lot of this scattering to perform so if you have a better recommendation I would be pleased.</span><o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The “scattering” you are defining and using is basically a VecAXPY(), so using a scatter for such an operation is definitely _not_ the way to go.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR">Pierre<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span lang="FR"><br>
<br>
<o:p></o:p></span></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Best regards,</span><span lang="FR"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Alexandre.</span><span lang="FR"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><span lang="FR"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><span lang="FR"><o:p></o:p></span></p>
</div>
<div>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm;border-color:currentcolor currentcolor;border-image: none">
<div>
<p class="MsoNormal"><b><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">De :</span></b><span class="apple-converted-space"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span></span><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">Pierre
Jolivet <</span><a href="mailto:pierre@joliv.et"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">pierre@joliv.et</span></a><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">><br>
<b>Envoyé :</b><span class="apple-converted-space"> </span>vendredi 13 juin 2025 11:43<br>
<b>À :</b><span class="apple-converted-space"> </span>SCOTTO Alexandre <</span><a href="mailto:alexandre.scotto@irt-saintexupery.com"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">alexandre.scotto@irt-saintexupery.com</span></a><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">><br>
<b>Cc :</b><span class="apple-converted-space"> </span></span><a href="mailto:petsc-users@mcs.anl.gov"><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif">petsc-users@mcs.anl.gov</span></a><span lang="FR" style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<b>Objet :</b><span class="apple-converted-space"> </span>Re: [petsc-users] Insertion mode for Scatter</span><span lang="FR"><o:p></o:p></span></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><span lang="FR"> <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="FR"> <o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span lang="FR"><br>
<br>
<br>
<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">On 13 Jun 2025, at 11:32 AM, SCOTTO Alexandre via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov"><span style="color:#954F72">petsc-users@mcs.anl.gov</span></a>> wrote:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Dear PETSc community,</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">I am currently struggling with the ADD_VALUE mode of the Scatter object. Here is a simple piece of (Python) code to illustrate the issue:</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#4EC9B0">PETSc</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.Vec().createMPI(</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">size</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">10</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.shift(</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">2.0</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#4EC9B0">PETSc</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.Vec().createMPI(</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">size</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">10</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.shift(</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">1.0</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">index_set</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#4EC9B0">PETSc</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.IS().createStride(</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">10</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">step</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#B5CEA8">1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">scatter</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span class="apple-converted-space"><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#4EC9B0">PETSc</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.Scatter().create(</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">index_set</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">index_set</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="line-height:12.0pt;background:#1F1F1F"><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">scatter</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">.scatter(</span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_1</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">vec_2</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">,<span class="apple-converted-space"> </span></span><span style="font-size:9.0pt;font-family:Consolas;color:#9CDCFE">addv</span><span style="font-size:9.0pt;font-family:Consolas;color:#D4D4D4">=</span><span style="font-size:9.0pt;font-family:Consolas;color:#569CD6">True</span><span style="font-size:9.0pt;font-family:Consolas;color:#CCCCCC">)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Vectors vec_1 and vec_2 are respectively filled-in with 2.0 and 1.0. After the scattering, I would expect to have in vec_2 the sum of the values initially in vec_2 (that is
1.0) plus the values coming from vec_1 (that is 2.0).</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">But instead of having vec_2 filled in with 3.0 it is filled-in with 9.0. My understanding is that the number of processes (here 4 processes) plays a role since 9.0 = 1.0 (initial
value) + 2.0 (values coming from vec_1) x 4 (number of processes).</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> </span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Is there a way to have simply 3.0 as a result?</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">With the index_set you are supplying, you are basically saying that each process should scatter the complete vector (not just its local portion).<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">If you use an index_set which does not induce communication (e.g., of size the local size of the Vec and with the same start as the first local row of the Vec), then you’ll get 3.0 as a result.<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">Pierre<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><br>
<br>
<br>
<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Hoping to have been clear enough, best regards,</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Alexandre.</span><o:p></o:p></p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>