<!-- BaNnErBlUrFlE-BoDy-start -->
<!-- Preheader Text : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">
 Dear Matthew, I came up with a workaround for the problem. I duplicate the vector and use the duplicated copy to read the information from the hdf5 file. Then I swap both vectors and delete the copy. If I invoke VecView outside of the function,
</div>
<!-- Preheader Text : END -->

<!-- Email Banner : BEGIN -->
<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerStart</div>

<!--[if ((ie)|(mso))]>
  <table border="0" cellspacing="0" cellpadding="0" width="100%" style="padding: 16px 0px 16px 0px; direction: ltr" ><tr><td>
    <table border="0" cellspacing="0" cellpadding="0" style="padding: 0px 10px 5px 6px; width: 100%; border-radius:4px; border-top:4px solid #90a4ae;background-color:#D0D8DC;"><tr><td valign="top">
      <table align="left" border="0" cellspacing="0" cellpadding="0" style="padding: 4px 8px 4px 8px">
        <tr><td style="color:#000000; font-family: 'Arial', sans-serif; font-weight:bold; font-size:14px; direction: ltr">
          This Message Is From an External Sender
        </td></tr>
        <tr><td style="color:#000000; font-weight:normal; font-family: 'Arial', sans-serif; font-size:12px; direction: ltr">
          This message came from outside your organization.
        </td></tr>

      </table>

    </td></tr></table>
  </td></tr></table>
<![endif]-->

<![if !((ie)|(mso))]>
  <div dir="ltr"  id="pfptBannerg4fziid" style="all: revert !important; display:block !important; text-align: left !important; margin:16px 0px 16px 0px !important; padding:8px 16px 8px 16px !important; border-radius: 4px !important; min-width: 200px !important; background-color: #D0D8DC !important; background-color: #D0D8DC; border-top: 4px solid #90a4ae !important; border-top: 4px solid #90a4ae;">
    <div id="pfptBannerg4fziid" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
      <div id="pfptBannerg4fziid" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-weight:bold !important; font-weight:bold; font-size:14px !important; line-height:18px !important; line-height:18px">
        This Message Is From an External Sender
      </div>
      <div id="pfptBannerg4fziid" style="all: unset !important; display:block !important; visibility: visible !important; background-color: #D0D8DC !important; color:#000000 !important; color:#000000; font-weight:normal; font-family: 'Arial', sans-serif !important; font-family: 'Arial', sans-serif; font-size:12px !important; line-height:18px !important; line-height:18px; margin-top:2px !important;">
This message came from outside your organization.
      </div>

    </div>

    <div style="clear: both !important; display: block !important; visibility: hidden !important; line-height: 0 !important; font-size: 0.01px !important; height: 0px"> </div>
  </div>
<![endif]>

<div style="display:none !important;display:none;visibility:hidden;mso-hide:all;font-size:1px;color:#ffffff;line-height:1px;height:0px;max-height:0px;opacity:0;overflow:hidden;">ZjQcmQRYFpfptBannerEnd</div>
<!-- Email Banner : END -->

<!-- BaNnErBlUrFlE-BoDy-end -->
<html>
<head><!-- BaNnErBlUrFlE-HeAdEr-start -->
<style>
  #pfptBannerg4fziid { all: revert !important; display: block !important; 
    visibility: visible !important; opacity: 1 !important; 
    background-color: #D0D8DC !important; 
    max-width: none !important; max-height: none !important }
  .pfptPrimaryButtong4fziid:hover, .pfptPrimaryButtong4fziid:focus {
    background-color: #b4c1c7 !important; }
  .pfptPrimaryButtong4fziid:active {
    background-color: #90a4ae !important; }
</style>

<!-- BaNnErBlUrFlE-HeAdEr-end -->

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<div>Dear Matthew, </div>
<div><br>
</div>
<div>I came up with a workaround for the problem. I duplicate the vector and use the duplicated copy to read the information from the hdf5 file. Then I swap both vectors and delete the copy. If I invoke VecView outside of the function, the value has been modified
 properly. However, this solution seems a little bit “ugly”. I share it just in case someone is facing a similar problem or it can help to understand what is going wrong with my previous implementation.</div>
<div><br>
</div>
<div>Best,</div>
<div>Miguel</div>
<div><br>
</div>
<div>
<div style="color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Menlo, Monaco, "Courier New", monospace; line-height: 18px; white-space: pre;">
<div><span style="color: rgb(78, 201, 176);">Vec</span> <span style="color: rgb(156, 220, 254);">
stdv_q</span>;</div>
<div style="line-height: 18px;">
<div><span style="color: rgb(86, 156, 214);">PetscCall</span>(<span style="color: rgb(220, 220, 170);">DMSwarmCreateGlobalVectorFromField</span>(<span style="color: rgb(156, 220, 254);">Simulation</span>-><span style="color: rgb(156, 220, 254);">atomistic_data</span>,</div>
<div><span style="color: rgb(206, 145, 120);">"stdv-q"</span>, &<span style="color: rgb(156, 220, 254);">stdv_q</span>));</div>
<br>
<div><span style="color: rgb(78, 201, 176);">Vec</span> <span style="color: rgb(156, 220, 254);">
stdv_q_hdf5</span>;</div>
<div><span style="color: rgb(86, 156, 214);">PetscCall</span>(<span style="color: rgb(220, 220, 170);">VecDuplicate</span>(<span style="color: rgb(156, 220, 254);">stdv_q</span>, &<span style="color: rgb(156, 220, 254);">stdv_q_hdf5</span>));</div>
<div><span style="color: rgb(86, 156, 214);">PetscCall</span>(<span style="color: rgb(220, 220, 170);">PetscObjectSetName</span>((<span style="color: rgb(78, 201, 176);">PetscObject</span>)<span style="color: rgb(156, 220, 254);">stdv_q_hdf5</span>,</div>
<div><span style="color: rgb(206, 145, 120);">"DMSwarmSharedField_stdv-q"</span>));</div>
<br>
<div><span style="color: rgb(86, 156, 214);">PetscCall</span>(<span style="color: rgb(220, 220, 170);">VecLoad</span>(<span style="color: rgb(156, 220, 254);">stdv_q_hdf5</span>,
<span style="color: rgb(156, 220, 254);">viewer_hdf5</span>));</div>
<br>
<div><span style="color: rgb(86, 156, 214);">PetscCall</span>(<span style="color: rgb(220, 220, 170);">VecSwap</span>(<span style="color: rgb(156, 220, 254);">stdv_q</span>,
<span style="color: rgb(156, 220, 254);">stdv_q_hdf5</span>));</div>
<div><span style="color: rgb(86, 156, 214);">PetscCall</span>(<span style="color: rgb(220, 220, 170);">VecDestroy</span>(&<span style="color: rgb(156, 220, 254);">stdv_q_hdf5</span>));</div>
<br>
<div><span style="color: rgb(86, 156, 214);">PetscCall</span>(<span style="color: rgb(220, 220, 170);">DMSwarmDestroyGlobalVectorFromField</span>(<span style="color: rgb(156, 220, 254);">Simulation</span>-><span style="color: rgb(156, 220, 254);">atomistic_data</span>,</div>
<div><span style="color: rgb(206, 145, 120);">"stdv-q"</span>, &<span style="color: rgb(156, 220, 254);">stdv_q</span>));</div>
</div>
</div>
</div>
<div><br>
<blockquote type="cite">
<div>On 1 Apr 2024, at 17:13, Miguel Molinos <mmolinos@us.es> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Dear Matthew,
<div><br>
</div>
<div>Thank you for your suggestion. I tried to update the vector with the information coming from the hdf5 file inside the main function. Then I print the vector two times (see the lines below), the first time it has the correct data. However, the second time,
 it has the same values like I never updated it with VecLoad. </div>
<div><br>
</div>
<div>It is an alternative way of initialise a vector coming from DMSWarm with previously stored information (keeping the parallel structure)? </div>
<div><br>
</div>
<div>Miguel</div>
<div><br>
</div>
<div>
<div style="color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Menlo, Monaco, "Courier New", monospace; line-height: 18px; white-space: pre;">
<div><span style="color: rgb(106, 153, 85);">//! Load Hdf5 viewer</span></div>
<div><span style="color: rgb(78, 201, 176);">PetscViewer</span> <span style="color: rgb(156, 220, 254);">
viewer_hdf5</span>;</div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">PetscViewerHDF5Open</span>(MPI_COMM_WORLD, Output_hdf5_file,</div>
<div>FILE_MODE_READ, &viewer_hdf5));</div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">PetscViewerHDF5PushTimestepping</span>(<span style="color: rgb(156, 220, 254);">viewer_hdf5</span>));</div>
<br>
<div><span style="color: rgb(106, 153, 85);">//! Load the vector and fill it with the information from the .hdf5 file</span></div>
<div><span style="color: rgb(78, 201, 176);">Vec</span> <span style="color: rgb(156, 220, 254);">
stdv_q</span>;</div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">DMSwarmCreateGlobalVectorFromField</span>(</div>
<div><span style="color: rgb(156, 220, 254);">Simulation</span>.<span style="color: rgb(156, 220, 254);">atomistic_data</span>,
<span style="color: rgb(206, 145, 120);">"stdv-q"</span>, &<span style="color: rgb(156, 220, 254);">stdv_q</span>));</div>
<br>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">PetscViewerHDF5PushGroup</span>(<span style="color: rgb(156, 220, 254);">viewer_hdf5</span>,
<span style="color: rgb(206, 145, 120);">"/particle_fields"</span>));</div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">VecLoad</span>(<span style="color: rgb(156, 220, 254);">stdv_q</span>,
<span style="color: rgb(156, 220, 254);">viewer_hdf5</span>));</div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">VecView</span>(stdv_q,
<span style="color: rgb(86, 156, 214);">PETSC_VIEWER_STDOUT_WORLD</span>));</div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">PetscViewerHDF5PopGroup</span>(<span style="color: rgb(156, 220, 254);">viewer_hdf5</span>));</div>
<br>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">DMSwarmDestroyGlobalVectorFromField</span>(</div>
<div><span style="color: rgb(156, 220, 254);">Simulation</span>.<span style="color: rgb(156, 220, 254);">atomistic_data</span>,
<span style="color: rgb(206, 145, 120);">"stdv-q"</span>, &<span style="color: rgb(156, 220, 254);">stdv_q</span>));</div>
<br>
<div><span style="color: rgb(106, 153, 85);">//! Destoy HDF5 context</span></div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">PetscViewerDestroy</span>(&<span style="color: rgb(156, 220, 254);">viewer_hdf5</span>));</div>
<br>
<div><span style="color: rgb(106, 153, 85);">//! Load the vector again and print</span></div>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">DMSwarmCreateGlobalVectorFromField</span>(</div>
<div><span style="color: rgb(156, 220, 254);">Simulation</span>.<span style="color: rgb(156, 220, 254);">atomistic_data</span>,
<span style="color: rgb(206, 145, 120);">"stdv-q"</span>, &<span style="color: rgb(156, 220, 254);">stdv_q</span>));</div>
<br>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">VecView</span>(stdv_q,
<span style="color: rgb(86, 156, 214);">PETSC_VIEWER_STDOUT_WORLD</span>));</div>
<br>
<div><span style="color: rgb(86, 156, 214);">REQUIRE_NOTHROW</span>(<span style="color: rgb(220, 220, 170);">DMSwarmDestroyGlobalVectorFromField</span>(</div>
<div><span style="color: rgb(156, 220, 254);">Simulation</span>.<span style="color: rgb(156, 220, 254);">atomistic_data</span>,
<span style="color: rgb(206, 145, 120);">"stdv-q"</span>, &<span style="color: rgb(156, 220, 254);">stdv_q</span>));</div>
</div>
</div>
<div><br>
</div>
<div>Best,</div>
<div>Miguel</div>
<div><br id="lineBreakAtBeginningOfMessage">
<div>
<div dir="auto" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
Miguel Molinos<br>
Investigador postdoctoral <br>
Juan de la Cierva<br>
Dpto. Mecánica de Medios Continuos y Teoría de Estructuras - ETSI<br>
Universidad de Sevilla<br>
Camino de los descubrimientos, s/n<br>
41092 Sevilla</div>
<div dir="auto" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<br>
</div>
<br class="Apple-interchange-newline" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0);">
<span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0);"></span><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"></span><span><span id="cid:D4BC7807-185D-42D7-B10B-113829C968E9@openvpn"><us_logo.jpg></span></span>
<div dir="auto" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<br class="Apple-interchange-newline">
<br class="Apple-interchange-newline">
<br>
<br>
<a href="https://urldefense.us/v3/__http://www.us.es__;!!G_uCfscf7eWS!dcgV4Ks7of5UCrBcwXoQzq1ZP06FAF8IaHAwnyo5mL5uiBMiKj2mxO7W6odOpn8LRgla6ehj-QCjHK2MbBf_1Q$">www.us.es</a><br>
Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, contiene información de carácter confidencial exclusivamente dirigida a su destinatario o destinatarios. Si no es UD. el destinatario del mensaje, le ruego lo destruya sin hacer copia
 digital o física, comunicando al emisor por esta misma vía la recepción del presente mensaje. Gracias</div>
<div dir="auto" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0); overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">
<br>
</div>
<br class="Apple-interchange-newline" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; caret-color: rgb(0, 0, 0);">
<br class="Apple-interchange-newline" style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">
</div>
<div><br>
<blockquote type="cite">
<div>On 1 Apr 2024, at 16:28, Matthew Knepley <knepley@gmail.com> wrote:</div>
<br class="Apple-interchange-newline">
<div>
<div style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">
>From the description, my guess is that this is pointer confusion. The vector inside the function is different from the vector outside the function.</div>
<br class="Apple-interchange-newline">
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</body>
</html>