<!-- 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;">
 Great. On May 28, 2024, at 9: 33 PM, Adrian Croucher <a. croucher@ auckland. ac. nz> wrote: Thanks again Barry, it's working fine for me now too. - Adrian On 29/05/24 1: 27 pm, Barry Smith wrote: There was a bug in my fix for parallel which
</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="pfptBannery7yqacu" 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="pfptBannery7yqacu" style="all: unset !important; float:left !important; display:block !important; margin: 0px 0px 1px 0px !important; max-width: 600px !important;">
      <div id="pfptBannery7yqacu" 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="pfptBannery7yqacu" 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>
  #pfptBannery7yqacu { all: revert !important; display: block !important; 
    visibility: visible !important; opacity: 1 !important; 
    background-color: #D0D8DC !important; 
    max-width: none !important; max-height: none !important }
  .pfptPrimaryButtony7yqacu:hover, .pfptPrimaryButtony7yqacu:focus {
    background-color: #b4c1c7 !important; }
  .pfptPrimaryButtony7yqacu: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><br></div>  Great.<br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On May 28, 2024, at 9:33 PM, Adrian Croucher <a.croucher@auckland.ac.nz> wrote:</div><br class="Apple-interchange-newline"><div>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  
  <div><p>Thanks again Barry, it's working fine for me now too.</p><p>- Adrian<br>
    </p>
    <div class="moz-cite-prefix">On 29/05/24 1:27 pm, Barry Smith wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:F6B54BD7-1A96-4E4A-97F1-875F548733D4@petsc.dev">
      
      <div><br>
      </div>
         There was a bug in my fix for parallel which I have fixed. You
      will need to 
      <div><br>
      </div>
      <div>   git fetch</div>
      <div>   git checkout main</div>
      <div>   git branch
        -D barry/2024-05-27/fix-bug-baij-setvaluesblocked/release</div>
      <div>   git
        checkout barry/2024-05-27/fix-bug-baij-setvaluesblocked/release
        <div><br>
        </div>
        <div>    I get the same results with your example with 1,2, and
          3 ranks</div>
        <div><br>
        </div>
        <div><br>
          <blockquote type="cite">
            <div>On May 28, 2024, at 7:45 PM, Adrian Croucher
              <a class="moz-txt-link-rfc2396E" href="mailto:a.croucher@auckland.ac.nz"><a.croucher@auckland.ac.nz></a> wrote:</div>
            <br class="Apple-interchange-newline">
            <div>
              <div><p>hi Barry,</p><p>Thanks, that change has fixed the error on 2 ranks
                  for me.</p><p>When I run on 3 ranks, there is no error, but it
                  doesn't actually add the extra values in to the
                  matrix. Do you see that behaviour too?</p><p>- Adrian<br>
                </p>
                <div class="moz-cite-prefix">On 29/05/24 4:33 am, Barry
                  Smith wrote:<br>
                </div>
                <blockquote type="cite" cite="mid:D11806DB-6C7E-4C9E-81B2-DBD125CB4A33@petsc.dev">
                  <div><br>
                  </div>
                  <div>   Adrian,</div>
                  <div><br>
                  </div>
                     I could reproduce with 3 MPI ranks.
                  <div><br>
                  </div>
                  <div>   Another error I had to fix. I also added a
                    test example </div>
                  <div><br>
                  </div>
                  <div>   SInce I rebased the branch you will need to do
                    something like</div>
                  <div><br>
                  </div>
                  <div>   git fetch</div>
                  <div>   git checkout main</div>
                  <div>   git branch
                    -D barry/2024-05-27/fix-bug-baij-setvaluesblocked/release</div>
                  <div>  git
                    checkout barry/2024-05-27/fix-bug-baij-setvaluesblocked/release</div>
                  <div><br>
                  </div>
                  <div>  Thanks for your patience </div>
                  <div><br>
                  </div>
                  <div>   Barry</div>
                  <div><br>
                    <div><br>
                      <blockquote type="cite">
                        <div>On May 27, 2024, at 10:42 PM, Adrian
                          Croucher <a class="moz-txt-link-rfc2396E" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true"><a.croucher@auckland.ac.nz></a>
                          wrote:</div>
                        <br class="Apple-interchange-newline">
                        <div>
                          <div><p>Hmm, that's a bit weird. I haven't
                              modified the test code - I checked the
                              file date to make sure. I also tried
                              deleting my PETSc build dir and rebuilding
                              it, then rebuilding the test code. I still
                              get the error if I run on 2 ranks with
                              -dm_mat_type (or -mat_type) baij or
                              mpibaij, but it's fine on aij or mpiaij.</p><p>My actual (non-test) code is however
                              working ok now, in serial or parallel. So
                              I don't think this should hold up merging
                              your bugfix.<br>
                            </p><p>- Adrian<br>
                            </p>
                            <div class="moz-cite-prefix">On 28/05/24
                              2:13 pm, Barry Smith wrote:<br>
                            </div>
                            <blockquote type="cite" cite="mid:E0FD4003-FD1F-4153-B255-E31CD7E09204@petsc.dev">  
                              <div>  When I run the exact code you sent
                                with two ranks and—mat_type mpibaij, it
                                runs as expected. If you modified the
                                code in any way to demonstrate the bug,
                                please send the modified code.</div>
                              <div><br>
                              </div>
                              <div><br id="lineBreakAtBeginningOfMessage">
                                <div><br>
                                  <blockquote type="cite">
                                    <div>On May 27, 2024, at 9:37 PM,
                                      Adrian Croucher <a class="moz-txt-link-rfc2396E" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true"><a.croucher@auckland.ac.nz></a>
                                      wrote:</div>
                                    <br class="Apple-interchange-newline">
                                    <div>
                                      <div><p>hi Barry,<br>
                                        </p>
                                        <div class="moz-cite-prefix">On
                                          28/05/24 7:46 am, Barry Smith
                                          wrote:<br>
                                        </div>
                                        <blockquote type="cite" cite="mid:7C12E83C-CE60-4DEF-8999-ADD22D09A69D@petsc.dev">
                                          <div><br>
                                          </div>
                                             Thanks for reporting this.
                                          It is a bug. I have a fixed
                                          branch <b style="color: rgb(200, 20, 201); font-family: Menlo; font-size: 14px;">barry/2024-05-27/fix-bug-baij-setvaluesblocked/release </b> and
                                          associated merge request <a href="https://urldefense.us/v3/__https://gitlab.com/petsc/petsc/-/merge_requests/7578__;!!G_uCfscf7eWS!fIiz5r9h5T8TN2nNlSaM1BCjjyPOZBnzUxuj-00QOJrLaVhRGf5XYwqp5VpSOIMbnc4p5SeyUR-czmNEWSP3vBA$" moz-do-not-send="true" class="moz-txt-link-freetext">https://gitlab.com/petsc/petsc/-/merge_requests/7578</a>
                                          <div><br>
                                          </div>
                                        </blockquote><p>Thanks very much, that does
                                          appear to fix the bug when I
                                          run my test program in serial.</p><p>If I run it on 2 processes,
                                          it is OK with AIJ matrix type,
                                          but with BAIJ I get an error
                                          (see below). Is there another
                                          problem, or I am doing
                                          something else wrong?</p><p>- Adrian<br>
                                        </p><p>[0]PETSC ERROR:
                                          --------------------- Error
                                          Message
                                          --------------------------------------------------------------<br>
                                          [0]PETSC ERROR: Petsc has
                                          generated inconsistent data<br>
                                          [0]PETSC ERROR: Incorrect
                                          colmap<br>
                                          [0]PETSC ERROR: See <a class="moz-txt-link-freetext" href="https://urldefense.us/v3/__https://petsc.org/release/faq/__;!!G_uCfscf7eWS!fIiz5r9h5T8TN2nNlSaM1BCjjyPOZBnzUxuj-00QOJrLaVhRGf5XYwqp5VpSOIMbnc4p5SeyUR-czmNEwgg8Qv0$" moz-do-not-send="true">https://petsc.org/release/faq/</a>
                                          for trouble shooting.<br>
                                          [0]PETSC ERROR: Petsc Release
                                          Version 3.21.1, unknown <br>
                                          [0]PETSC ERROR: ./matmodify on
                                          a main-debug named EN438880 by
                                          acro018 Tue May 28 13:33:46
                                          2024<br>
                                          [0]PETSC ERROR: Configure
                                          options --with-x
                                          --download-hdf5
                                          --download-zlib
                                          --download-netcdf
                                          --download-pnetcdf
                                          --download-exodusii
                                          --download-triangle
                                          --download-ptscotch
                                          --download-chaco
                                          --download-hypre<br>
                                          [0]PETSC ERROR: #1
                                          MatSetValuesBlocked_MPIBAIJ()
                                          at
                                          /home/acro018/software/PETSc/code/src/mat/impls/baij/mpi/mpibaij.c:448<br>
                                          [0]PETSC ERROR: #2
                                          MatSetValuesBlocked() at
                                          /home/acro018/software/PETSc/code/src/mat/interface/matrix.c:2030<br>
                                          [0]PETSC ERROR:
                                          --------------------- Error
                                          Message
                                          --------------------------------------------------------------<br>
                                          [0]PETSC ERROR:   It appears a
                                          new error in the code was
                                          triggered after a previous
                                          error, possibly because:<br>
                                          [0]PETSC ERROR:   -  The first
                                          error was not properly handled
                                          via (for example) the use of<br>
                                          [0]PETSC ERROR:     
                                          PetscCall(TheFunctionThatErrors());
                                          or<br>
                                          [0]PETSC ERROR:   -  The
                                          second error was triggered
                                          while handling the first
                                          error.<br>
                                          [0]PETSC ERROR:   Above is the
                                          traceback for the previous
                                          unhandled error, below the
                                          traceback for the next error<br>
                                          [0]PETSC ERROR:   ALL ERRORS
                                          in the PETSc libraries are
                                          fatal, you should add the
                                          appropriate error checking to
                                          the code<br>
                                          [0]PETSC ERROR: Petsc has
                                          generated inconsistent data<br>
                                          [0]PETSC ERROR: Incorrect
                                          colmap<br>
                                          [0]PETSC ERROR: See <a class="moz-txt-link-freetext" href="https://urldefense.us/v3/__https://petsc.org/release/faq/__;!!G_uCfscf7eWS!fIiz5r9h5T8TN2nNlSaM1BCjjyPOZBnzUxuj-00QOJrLaVhRGf5XYwqp5VpSOIMbnc4p5SeyUR-czmNEwgg8Qv0$" moz-do-not-send="true">https://petsc.org/release/faq/</a>
                                          for trouble shooting.<br>
                                          [0]PETSC ERROR: Petsc Release
                                          Version 3.21.1, unknown <br>
                                          [0]PETSC ERROR: ./matmodify on
                                          a main-debug named EN438880 by
                                          acro018 Tue May 28 13:33:46
                                          2024<br>
                                          [0]PETSC ERROR: Configure
                                          options --with-x
                                          --download-hdf5
                                          --download-zlib
                                          --download-netcdf
                                          --download-pnetcdf
                                          --download-exodusii
                                          --download-triangle
                                          --download-ptscotch
                                          --download-chaco
                                          --download-hypre<br>
                                          [0]PETSC ERROR: #1
                                          MatSetValuesBlocked_MPIBAIJ()
                                          at
                                          /home/acro018/software/PETSc/code/src/mat/impls/baij/mpi/mpibaij.c:448<br>
                                          [0]PETSC ERROR: #2
                                          MatAssemblyEnd_MPIBAIJ() at
                                          /home/acro018/software/PETSc/code/src/mat/impls/baij/mpi/mpibaij.c:943<br>
                                          [0]PETSC ERROR: #3
                                          MatAssemblyEnd() at
                                          /home/acro018/software/PETSc/code/src/mat/interface/matrix.c:5820<br>
                                          [0]PETSC ERROR: #4
                                          matmodify.F90:40<br>
                                        </p><p><br>
                                        </p>
                                        <blockquote type="cite" cite="mid:7C12E83C-CE60-4DEF-8999-ADD22D09A69D@petsc.dev">
                                          <div>  Barry</div>
                                          <div><br>
                                            <div><br>
                                              <blockquote type="cite">
                                                <div>On May 26, 2024, at
                                                  10:45 PM, Adrian
                                                  Croucher <a class="moz-txt-link-rfc2396E" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true"><a.croucher@auckland.ac.nz></a> wrote:</div>
                                                <br class="Apple-interchange-newline">
                                                <div>
                                                  <div><p>hi,</p><p>I've been trying
                                                      creating a matrix
                                                      with
                                                      DMCreateMatrix()
                                                      and then adding
                                                      extra blocks of
                                                      nonzeros into it
                                                      using
                                                      MatSetValuesBlocked(),
                                                      but getting some
                                                      unexpected results
                                                      if I set the
                                                      matrix type to
                                                      BAIJ. It seems to
                                                      behave as expected
                                                      if I use matrix
                                                      type AIJ.</p><p>I've attached a
                                                      minimal example
                                                      program. It reads
                                                      in the DMPlex from
                                                      file, sets up a
                                                      section on it,
                                                      creates a matrix
                                                      (blocksize 2) and
                                                      then inserts a
                                                      single 2x2 block
                                                      at global block
                                                      indices (0,7). It
                                                      views the matrix
                                                      before and after
                                                      the insertion.<br>
                                                    </p><p>If I run with
                                                      "-dm_mat_type aij"
                                                      it gives the
                                                      expected results,
                                                      but with
                                                      "-dm_mat_type
                                                      baij" it doesn't -
                                                      e.g. if run in
                                                      serial, it adds
                                                      the new nonzeros
                                                      in the right place
                                                      but also adds a
                                                      whole lot of other
                                                      duplicated entries
                                                      in block row 0.<br>
                                                    </p><p>Is there
                                                      something I'm not
                                                      understanding
                                                      about BAIJ, or
                                                      about
                                                      MatSetValuesBlocked()?
                                                      or possibly some
                                                      other mistake?<br>
                                                    </p><p>- Adrian<br>
                                                    </p>
                                                    <div class="moz-cite-prefix">On 20/05/24 12:24 pm, Barry Smith wrote:<br>
                                                    </div>
                                                    <blockquote type="cite" cite="mid:4368DA96-759E-4831-8BCF-710F265A4728@petsc.dev">
                                                      <div><br>
                                                      </div>
                                                         You can call
                                                      MatSetOption(mat,MAT_NEW_NONZERO_LOCATION_ERR)
                                                      then insert the
                                                      new values. If it
                                                      is just a handful
                                                      of new insertions
                                                      the extra time
                                                      should be small.
                                                      <div><br>
                                                      </div>
                                                      <div>    Making a
                                                        copy of the
                                                        matrix won't
                                                        give you a new
                                                        matrix that is
                                                        any faster to
                                                        insert into so
                                                        best to just use
                                                        the same matrix.</div>
                                                      <div><br>
                                                      </div>
                                                      <div>  Barry</div>
                                                      <div><br id="lineBreakAtBeginningOfMessage">
                                                        <div><br>
                                                          <blockquote type="cite">
                                                          <div>On May
                                                          19, 2024, at
                                                          7:44 PM,
                                                          Adrian
                                                          Croucher <a class="moz-txt-link-rfc2396E" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true"><a.croucher@auckland.ac.nz></a> wrote:</div>
                                                          <br class="Apple-interchange-newline">
                                                          <div>
                                                          <div dir="ltr" id="pfptBannerk8ad5io" style="color-scheme: revert !important; writing-mode: revert !important; -webkit-ruby-position: revert !important; color: revert !important; font-family: revert !important; font-feature-settings: revert !important; font-kerning: revert !important; font-optical-sizing: revert !important; font-palette: revert !important; font-size: revert !important; font-size-adjust: revert !important; font-stretch: revert !important; font-style: revert !important; font-synthesis-small-caps: revert !important; font-synthesis-style: revert !important; font-synthesis-weight: revert !important; font-variant-alternates: revert !important; font-variant-caps: revert !important; font-variant-east-asian: revert !important; font-variant-emoji: revert !important; font-variant-ligatures: revert !important; font-variant-numeric: revert !important; font-variant-position: revert !important; font-variation-settings: revert !important; font-weight: revert !important; text-orientation: revert !important; text-rendering: revert !important; zoom: revert !important; -webkit-font-smoothing: revert !important; -webkit-locale: revert !important; -webkit-text-size-adjust: revert !important; -webkit-text-zoom: revert !important; letter-spacing: revert !important; text-autospace: revert !important; text-spacing-trim: revert !important; accent-color: revert !important; align-content: revert !important; align-items: revert !important; align-self: revert !important; alignment-baseline: revert !important; alt: revert !important; animation-composition: revert !important; animation: revert !important; animation-timeline: revert !important; appearance: revert !important; aspect-ratio: revert !important; backface-visibility: revert !important; background-attachment: revert !important; background-blend-mode: revert !important; background-image: revert !important; background-position: revert !important; background-repeat: revert !important; background-size: revert !important; baseline-shift: revert !important; block-step-insert: revert !important; block-step-size: revert !important; border-collapse: revert !important; border-image: revert !important; box-sizing: revert !important; break-after: revert !important; break-before: revert !important; break-inside: revert !important; buffered-rendering: revert !important; caption-side: revert !important; caret-color: revert !important; clear: revert !important; clip: revert !important; clip-path: revert !important; clip-rule: revert !important; color-interpolation: revert !important; color-interpolation-filters: revert !important; column-count: revert !important; column-fill: revert !important; column-gap: revert !important; column-rule-color: revert !important; column-rule-style: revert !important; column-rule-width: revert !important; column-span: revert !important; column-width: revert !important; contain: revert !important; container-name: revert !important; container-type: revert !important; content: revert !important; content-visibility: revert !important; counter-increment: revert !important; counter-reset: revert !important; counter-set: revert !important; cursor: revert !important; cx: revert !important; cy: revert !important; dominant-baseline: revert !important; empty-cells: revert !important; fill: revert !important; fill-opacity: revert !important; fill-rule: revert !important; filter: revert !important; flex: revert !important; flex-flow: revert !important; float: revert !important; flood-color: revert !important; flood-opacity: revert !important; glyph-orientation-horizontal: revert !important; glyph-orientation-vertical: revert !important; grid: revert !important; grid-column-end: revert !important; grid-column-start: revert !important; grid-row-end: revert !important; grid-row-start: revert !important; hanging-punctuation: revert !important; hyphenate-character: revert !important; hyphens: revert !important; image-orientation: revert !important; image-rendering: revert !important; input-security: revert !important; isolation: revert !important; justify-content: revert !important; justify-items: revert !important; justify-self: revert !important; kerning: revert !important; lighting-color: revert !important; line-break: revert !important; line-height: revert !important; list-style: revert !important; margin-trim: revert !important; marker: revert !important; mask: revert !important; mask-size: revert !important; mask-type: revert !important; masonry-auto-flow: revert !important; math-style: revert !important; mix-blend-mode: revert !important; object-fit: revert !important; object-position: revert !important; offset-anchor: revert !important; offset-distance: revert !important; offset-path: revert !important; offset-position: revert !important; offset-rotate: revert !important; order: revert !important; orphans: revert !important; outline: revert !important; outline-offset: revert !important; overflow-anchor: revert !important; overflow-wrap: revert !important; overflow: revert !important; page: revert !important; paint-order: revert !important; perspective: revert !important; perspective-origin: revert !important; pointer-events: revert !important; position: revert !important; print-color-adjust: revert !important; quotes: revert !important; r: revert !important; resize: revert !important; rotate: revert !important; row-gap: revert !important; rx: revert !important; ry: revert !important; scale: revert !important; scroll-behavior: revert !important; scroll-snap-align: revert !important; scroll-snap-stop: revert !important; scroll-snap-type: revert !important; scroll-timeline: revert !important; scrollbar-color: revert !important; scrollbar-gutter: revert !important; scrollbar-width: revert !important; shape-image-threshold: revert !important; shape-margin: revert !important; shape-outside: revert !important; shape-rendering: revert !important; size: revert !important; speak-as: revert !important; stop-color: revert !important; stop-opacity: revert !important; stroke: revert !important; stroke-color: revert !important; stroke-dasharray: revert !important; stroke-dashoffset: revert !important; stroke-linecap: revert !important; stroke-linejoin: revert !important; stroke-miterlimit: revert !important; stroke-opacity: revert !important; stroke-width: revert !important; tab-size: revert !important; table-layout: revert !important; text-align: left !important; text-align-last: revert !important; text-anchor: revert !important; text-box-edge: revert !important; text-box-trim: revert !important; text-decoration-color: revert !important; text-decoration: revert !important; text-decoration-skip-ink: revert !important; text-decoration-style: revert !important; text-decoration-thickness: revert !important; text-emphasis-color: revert !important; text-emphasis-position: revert !important; text-emphasis-style: revert !important; text-group-align: revert !important; text-indent: revert !important; text-justify: revert !important; text-overflow: revert !important; text-shadow: revert !important; text-transform: revert !important; text-underline-offset: revert !important; text-underline-position: revert !important; text-wrap: revert !important; touch-action: revert !important; transform: revert !important; transform-box: revert !important; transform-origin: revert !important; transform-style: revert !important; transition: revert !important; translate: revert !important; vector-effect: revert !important; vertical-align: revert !important; view-timeline: revert !important; view-transition-name: revert !important; white-space: revert !important; widows: revert !important; will-change: revert !important; word-break: revert !important; x: revert !important; y: revert !important; z-index: revert !important; -apple-color-filter: revert !important; -apple-pay-button-style: revert !important; -apple-pay-button-type: revert !important; -internal-text-autosizing-status: revert !important; border-spacing: revert !important; -webkit-box-align: revert !important; -webkit-box-decoration-break: revert !important; -webkit-box-direction: revert !important; -webkit-box-flex: revert !important; -webkit-box-flex-group: revert !important; -webkit-box-lines: revert !important; -webkit-box-ordinal-group: revert !important; -webkit-box-orient: revert !important; -webkit-box-pack: revert !important; -webkit-box-reflect: revert !important; -webkit-column-axis: revert !important; -webkit-column-progression: revert !important; -webkit-cursor-visibility: revert !important; -webkit-font-size-delta: revert !important; -webkit-hyphenate-limit-after: revert !important; -webkit-hyphenate-limit-before: revert !important; -webkit-hyphenate-limit-lines: revert !important; -webkit-initial-letter: revert !important; -webkit-line-align: revert !important; -webkit-line-box-contain: revert !important; -webkit-line-clamp: revert !important; -webkit-line-grid: revert !important; -webkit-line-snap: revert !important; -webkit-marquee-direction: revert !important; -webkit-marquee-increment: revert !important; -webkit-marquee-repetition: revert !important; -webkit-marquee-speed: revert !important; -webkit-marquee-style: revert !important; -webkit-nbsp-mode: revert !important; -webkit-rtl-ordering: revert !important; -webkit-text-decorations-in-effect: revert !important; -webkit-text-fill-color: revert !important; -webkit-text-security: revert !important; -webkit-text-stroke-color: revert !important; -webkit-text-stroke-width: revert !important; -webkit-user-drag: revert !important; -webkit-user-modify: revert !important; -webkit-user-select: revert !important; word-spacing: revert !important; backdrop-filter: revert !important; background-clip: revert !important; background-origin: revert !important; box-shadow: revert !important; mask-composite: revert !important; mask-mode: revert !important; text-combine-upright: revert !important; -webkit-backdrop-filter: revert !important; -webkit-background-clip: revert !important; -webkit-background-origin: revert !important; -webkit-box-shadow: revert !important; -webkit-mask: revert !important; -webkit-mask-composite: revert !important; -webkit-mask-source-type: revert !important; -webkit-text-combine: revert !important; display: block !important; visibility: revert !important; opacity: revert !important; background-color: rgb(208, 216, 220) !important; block-size: revert !important; border-block: revert !important; border-bottom-color: revert !important; border-bottom-style: revert !important; border-bottom-width: revert !important; border-end-end-radius: revert !important; border-end-start-radius: revert !important; border-inline: revert !important; border-left-color: revert !important; border-left-style: revert !important; border-left-width: revert !important; border-right-color: revert !important; border-right-style: revert !important; border-right-width: revert !important; border-start-end-radius: revert !important; border-start-start-radius: revert !important; inset: revert !important; contain-intrinsic-block-size: revert !important; contain-intrinsic-size: revert !important; contain-intrinsic-inline-size: revert !important; height: revert !important; inline-size: revert !important; inset-block: revert !important; inset-inline: revert !important; margin-block: revert !important; margin-inline: revert !important; max-block-size: revert !important; max-height: revert !important; max-inline-size: revert !important; max-width: revert !important; min-block-size: revert !important; min-height: revert !important; min-inline-size: revert !important; overscroll-behavior-block: revert !important; overscroll-behavior-inline: revert !important; overscroll-behavior: revert !important; padding-block: revert !important; padding-inline: revert !important; scroll-margin-block: revert !important; scroll-margin: revert !important; scroll-margin-inline: revert !important; scroll-padding-block: revert !important; scroll-padding: revert !important; scroll-padding-inline: revert !important; width: revert !important; margin: 16px 0px !important; padding: 8px 16px !important; border-radius: 4px !important; min-width: 200px !important; border-top-width: 4px !important; border-top-style: solid !important; border-top-color: rgb(144, 164, 174) !important;">
                                                          <div id="pfptBannerk8ad5io" style="color-scheme: unset !important; writing-mode: unset !important; -webkit-ruby-position: unset !important; color: unset !important; font-family: unset !important; font-feature-settings: unset !important; font-kerning: unset !important; font-optical-sizing: unset !important; font-palette: unset !important; font-size: unset !important; font-size-adjust: unset !important; font-stretch: unset !important; font-style: unset !important; font-synthesis-small-caps: unset !important; font-synthesis-style: unset !important; font-synthesis-weight: unset !important; font-variant-alternates: unset !important; font-variant-caps: unset !important; font-variant-east-asian: unset !important; font-variant-emoji: unset !important; font-variant-ligatures: unset !important; font-variant-numeric: unset !important; font-variant-position: unset !important; font-variation-settings: unset !important; font-weight: unset !important; text-orientation: unset !important; text-rendering: unset !important; zoom: unset !important; -webkit-font-smoothing: unset !important; -webkit-locale: unset !important; -webkit-text-size-adjust: unset !important; -webkit-text-zoom: unset !important; letter-spacing: unset !important; text-autospace: unset !important; text-spacing-trim: unset !important; accent-color: unset !important; align-content: unset !important; align-items: unset !important; align-self: unset !important; alignment-baseline: unset !important; alt: unset !important; animation-composition: unset !important; animation: unset !important; animation-timeline: unset !important; appearance: unset !important; aspect-ratio: unset !important; backface-visibility: unset !important; background: unset !important; background-blend-mode: unset !important; baseline-shift: unset !important; block-step-insert: unset !important; block-step-size: unset !important; border-collapse: unset !important; border: unset !important; box-sizing: unset !important; break-after: unset !important; break-before: unset !important; break-inside: unset !important; buffered-rendering: unset !important; caption-side: unset !important; caret-color: unset !important; clear: unset !important; clip: unset !important; clip-path: unset !important; clip-rule: unset !important; color-interpolation: unset !important; color-interpolation-filters: unset !important; column-count: unset !important; column-fill: unset !important; column-gap: unset !important; column-rule-color: unset !important; column-rule-style: unset !important; column-rule-width: unset !important; column-span: unset !important; column-width: unset !important; contain: unset !important; container-name: unset !important; container-type: unset !important; content: unset !important; content-visibility: unset !important; counter-increment: unset !important; counter-reset: unset !important; counter-set: unset !important; cursor: unset !important; cx: unset !important; cy: unset !important; dominant-baseline: unset !important; empty-cells: unset !important; fill: unset !important; fill-opacity: unset !important; fill-rule: unset !important; filter: unset !important; flex: unset !important; flex-flow: unset !important; float: left !important; flood-color: unset !important; flood-opacity: unset !important; glyph-orientation-horizontal: unset !important; glyph-orientation-vertical: unset !important; grid: unset !important; grid-column-end: unset !important; grid-column-start: unset !important; grid-row-end: unset !important; grid-row-start: unset !important; hanging-punctuation: unset !important; hyphenate-character: unset !important; hyphens: unset !important; image-orientation: unset !important; image-rendering: unset !important; input-security: unset !important; isolation: unset !important; justify-content: unset !important; justify-items: unset !important; justify-self: unset !important; kerning: unset !important; lighting-color: unset !important; line-break: unset !important; line-height: unset !important; list-style: unset !important; margin-trim: unset !important; marker: unset !important; mask: unset !important; mask-size: unset !important; mask-type: unset !important; masonry-auto-flow: unset !important; math-style: unset !important; mix-blend-mode: unset !important; object-fit: unset !important; object-position: unset !important; offset-anchor: unset !important; offset-distance: unset !important; offset-path: unset !important; offset-position: unset !important; offset-rotate: unset !important; order: unset !important; orphans: unset !important; outline: unset !important; outline-offset: unset !important; overflow-anchor: unset !important; overflow-wrap: unset !important; overflow: unset !important; page: unset !important; paint-order: unset !important; perspective: unset !important; perspective-origin: unset !important; pointer-events: unset !important; position: unset !important; print-color-adjust: unset !important; quotes: unset !important; r: unset !important; resize: unset !important; rotate: unset !important; row-gap: unset !important; rx: unset !important; ry: unset !important; scale: unset !important; scroll-behavior: unset !important; scroll-snap-align: unset !important; scroll-snap-stop: unset !important; scroll-snap-type: unset !important; scroll-timeline: unset !important; scrollbar-color: unset !important; scrollbar-gutter: unset !important; scrollbar-width: unset !important; shape-image-threshold: unset !important; shape-margin: unset !important; shape-outside: unset !important; shape-rendering: unset !important; size: unset !important; speak-as: unset !important; stop-color: unset !important; stop-opacity: unset !important; stroke: unset !important; stroke-color: unset !important; stroke-dasharray: unset !important; stroke-dashoffset: unset !important; stroke-linecap: unset !important; stroke-linejoin: unset !important; stroke-miterlimit: unset !important; stroke-opacity: unset !important; stroke-width: unset !important; tab-size: unset !important; table-layout: unset !important; text-align: unset !important; text-align-last: unset !important; text-anchor: unset !important; text-box-edge: unset !important; text-box-trim: unset !important; text-decoration-color: unset !important; text-decoration: unset !important; text-decoration-skip-ink: unset !important; text-decoration-style: unset !important; text-decoration-thickness: unset !important; text-emphasis-color: unset !important; text-emphasis-position: unset !important; text-emphasis-style: unset !important; text-group-align: unset !important; text-indent: unset !important; text-justify: unset !important; text-overflow: unset !important; text-shadow: unset !important; text-transform: unset !important; text-underline-offset: unset !important; text-underline-position: unset !important; text-wrap: unset !important; touch-action: unset !important; transform: unset !important; transform-box: unset !important; transform-origin: unset !important; transform-style: unset !important; transition: unset !important; translate: unset !important; vector-effect: unset !important; vertical-align: unset !important; view-timeline: unset !important; view-transition-name: unset !important; white-space: unset !important; widows: unset !important; will-change: unset !important; word-break: unset !important; x: unset !important; y: unset !important; z-index: unset !important; -apple-color-filter: unset !important; -apple-pay-button-style: unset !important; -apple-pay-button-type: unset !important; -internal-text-autosizing-status: unset !important; border-spacing: unset !important; -webkit-box-align: unset !important; -webkit-box-decoration-break: unset !important; -webkit-box-direction: unset !important; -webkit-box-flex: unset !important; -webkit-box-flex-group: unset !important; -webkit-box-lines: unset !important; -webkit-box-ordinal-group: unset !important; -webkit-box-orient: unset !important; -webkit-box-pack: unset !important; -webkit-box-reflect: unset !important; -webkit-column-axis: unset !important; -webkit-column-progression: unset !important; -webkit-cursor-visibility: unset !important; -webkit-font-size-delta: unset !important; -webkit-hyphenate-limit-after: unset !important; -webkit-hyphenate-limit-before: unset !important; -webkit-hyphenate-limit-lines: unset !important; -webkit-initial-letter: unset !important; -webkit-line-align: unset !important; -webkit-line-box-contain: unset !important; -webkit-line-clamp: unset !important; -webkit-line-grid: unset !important; -webkit-line-snap: unset !important; -webkit-marquee-direction: unset !important; -webkit-marquee-increment: unset !important; -webkit-marquee-repetition: unset !important; -webkit-marquee-speed: unset !important; -webkit-marquee-style: unset !important; -webkit-nbsp-mode: unset !important; -webkit-rtl-ordering: unset !important; -webkit-text-decorations-in-effect: unset !important; -webkit-text-fill-color: unset !important; -webkit-text-security: unset !important; -webkit-text-stroke-color: unset !important; -webkit-text-stroke-width: unset !important; -webkit-user-drag: unset !important; -webkit-user-modify: unset !important; -webkit-user-select: unset !important; word-spacing: unset !important; backdrop-filter: unset !important; box-shadow: unset !important; mask-composite: unset !important; mask-mode: unset !important; text-combine-upright: unset !important; -webkit-backdrop-filter: unset !important; -webkit-background-clip: unset !important; -webkit-background-origin: unset !important; -webkit-box-shadow: unset !important; -webkit-mask: unset !important; -webkit-mask-composite: unset !important; -webkit-mask-source-type: unset !important; -webkit-text-combine: unset !important; display: block !important; visibility: unset !important; opacity: unset !important; block-size: unset !important; border-block: unset !important; border-radius: unset !important; border-end-end-radius: unset !important; border-end-start-radius: unset !important; border-inline: unset !important; border-start-end-radius: unset !important; border-start-start-radius: unset !important; inset: unset !important; contain-intrinsic-block-size: unset !important; contain-intrinsic-size: unset !important; contain-intrinsic-inline-size: unset !important; height: unset !important; inline-size: unset !important; inset-block: unset !important; inset-inline: unset !important; margin-block: unset !important; margin-inline: unset !important; max-block-size: unset !important; max-height: unset !important; max-inline-size: unset !important; min-block-size: unset !important; min-height: unset !important; min-inline-size: unset !important; min-width: unset !important; overscroll-behavior-block: unset !important; overscroll-behavior-inline: unset !important; overscroll-behavior: unset !important; padding-block: unset !important; padding: unset !important; padding-inline: unset !important; scroll-margin-block: unset !important; scroll-margin: unset !important; scroll-margin-inline: unset !important; scroll-padding-block: unset !important; scroll-padding: unset !important; scroll-padding-inline: unset !important; width: unset !important; margin: 0px 0px 1px !important; max-width: 600px !important;">
                                                          <div id="pfptBannerk8ad5io" style="color-scheme: unset !important; writing-mode: unset !important; -webkit-ruby-position: unset !important; font-family: Arial, sans-serif !important; font-feature-settings: unset !important; font-kerning: unset !important; font-optical-sizing: unset !important; font-palette: unset !important; font-size: 14px !important; font-size-adjust: unset !important; font-stretch: unset !important; font-style: unset !important; font-synthesis-small-caps: unset !important; font-synthesis-style: unset !important; font-synthesis-weight: unset !important; font-variant-alternates: unset !important; font-variant-caps: unset !important; font-variant-east-asian: unset !important; font-variant-ligatures: unset !important; font-variant-numeric: unset !important; font-variant-position: unset !important; font-variation-settings: unset !important; font-weight: bold !important; text-orientation: unset !important; text-rendering: unset !important; zoom: unset !important; -webkit-font-smoothing: unset !important; -webkit-locale: unset !important; -webkit-text-zoom: unset !important; letter-spacing: unset !important; accent-color: unset !important; align-content: unset !important; align-items: unset !important; align-self: unset !important; alignment-baseline: unset !important; alt: unset !important; animation-composition: unset !important; animation: unset !important; appearance: unset !important; aspect-ratio: unset !important; backface-visibility: unset !important; background-attachment: unset !important; background-blend-mode: unset !important; background-image: unset !important; background-position: unset !important; background-repeat: unset !important; background-size: unset !important; baseline-shift: unset !important; border-collapse: unset !important; border: unset !important; box-sizing: unset !important; break-after: unset !important; break-before: unset !important; break-inside: unset !important; buffered-rendering: unset !important; caption-side: unset !important; caret-color: unset !important; clear: unset !important; clip: unset !important; clip-path: unset !important; clip-rule: unset !important; color-interpolation: unset !important; color-interpolation-filters: unset !important; column-count: unset !important; column-fill: unset !important; column-gap: unset !important; column-rule-color: unset !important; column-rule-style: unset !important; column-rule-width: unset !important; column-span: unset !important; column-width: unset !important; contain: unset !important; container-name: unset !important; container-type: unset !important; content: unset !important; counter-increment: unset !important; counter-reset: unset !important; counter-set: unset !important; cursor: unset !important; cx: unset !important; cy: unset !important; dominant-baseline: unset !important; empty-cells: unset !important; fill: unset !important; fill-opacity: unset !important; fill-rule: unset !important; filter: unset !important; flex: unset !important; flex-flow: unset !important; float: unset !important; flood-color: unset !important; flood-opacity: unset !important; glyph-orientation-horizontal: unset !important; glyph-orientation-vertical: unset !important; grid: unset !important; grid-column-end: unset !important; grid-column-start: unset !important; grid-row-end: unset !important; grid-row-start: unset !important; hanging-punctuation: unset !important; hyphenate-character: unset !important; hyphens: unset !important; image-orientation: unset !important; image-rendering: unset !important; isolation: unset !important; justify-content: unset !important; justify-items: unset !important; justify-self: unset !important; kerning: unset !important; lighting-color: unset !important; line-break: unset !important; line-height: 18px !important; list-style: unset !important; margin-trim: unset !important; marker: unset !important; mask: unset !important; mask-type: unset !important; math-style: unset !important; mix-blend-mode: unset !important; object-fit: unset !important; object-position: unset !important; offset-anchor: unset !important; offset-distance: unset !important; offset-path: unset !important; offset-position: unset !important; offset-rotate: unset !important; order: unset !important; orphans: unset !important; outline: unset !important; outline-offset: unset !important; overflow-wrap: unset !important; overflow: unset !important; page: unset !important; paint-order: unset !important; perspective: unset !important; perspective-origin: unset !important; pointer-events: unset !important; position: unset !important; print-color-adjust: unset !important; quotes: unset !important; r: unset !important; resize: unset !important; rotate: unset !important; row-gap: unset !important; rx: unset !important; ry: unset !important; scale: unset !important; scroll-behavior: unset !important; scroll-snap-align: unset !important; scroll-snap-stop: unset !important; scroll-snap-type: unset !important; shape-image-threshold: unset !important; shape-margin: unset !important; shape-outside: unset !important; shape-rendering: unset !important; size: unset !important; speak-as: unset !important; stop-color: unset !important; stop-opacity: unset !important; stroke: unset !important; stroke-color: unset !important; stroke-dasharray: unset !important; stroke-dashoffset: unset !important; stroke-linecap: unset !important; stroke-linejoin: unset !important; stroke-miterlimit: unset !important; stroke-opacity: unset !important; stroke-width: unset !important; tab-size: unset !important; table-layout: unset !important; text-align: unset !important; text-align-last: unset !important; text-anchor: unset !important; text-decoration-color: unset !important; text-decoration: unset !important; text-decoration-skip-ink: unset !important; text-decoration-style: unset !important; text-decoration-thickness: unset !important; text-emphasis-color: unset !important; text-emphasis-position: unset !important; text-emphasis-style: unset !important; text-indent: unset !important; text-overflow: unset !important; text-shadow: unset !important; text-transform: unset !important; text-underline-offset: unset !important; text-underline-position: unset !important; text-wrap: unset !important; touch-action: unset !important; transform: unset !important; transform-box: unset !important; transform-origin: unset !important; transform-style: unset !important; transition: unset !important; translate: unset !important; vector-effect: unset !important; vertical-align: unset !important; white-space: unset !important; widows: unset !important; will-change: unset !important; word-break: unset !important; x: unset !important; y: unset !important; z-index: unset !important; -apple-color-filter: unset !important; -apple-pay-button-style: unset !important; -apple-pay-button-type: unset !important; border-spacing: unset !important; -webkit-box-align: unset !important; -webkit-box-decoration-break: unset !important; -webkit-box-direction: unset !important; -webkit-box-flex: unset !important; -webkit-box-flex-group: unset !important; -webkit-box-lines: unset !important; -webkit-box-ordinal-group: unset !important; -webkit-box-orient: unset !important; -webkit-box-pack: unset !important; -webkit-box-reflect: unset !important; -webkit-column-axis: unset !important; -webkit-column-progression: unset !important; -webkit-cursor-visibility: unset !important; -webkit-hyphenate-limit-after: unset !important; -webkit-hyphenate-limit-before: unset !important; -webkit-hyphenate-limit-lines: unset !important; -webkit-initial-letter: unset !important; -webkit-line-align: unset !important; -webkit-line-box-contain: unset !important; -webkit-line-clamp: unset !important; -webkit-line-grid: unset !important; -webkit-line-snap: unset !important; -webkit-nbsp-mode: unset !important; -webkit-rtl-ordering: unset !important; -webkit-text-decorations-in-effect: unset !important; -webkit-text-fill-color: unset !important; -webkit-text-security: unset !important; -webkit-text-stroke-color: unset !important; -webkit-text-stroke-width: unset !important; -webkit-user-drag: unset !important; -webkit-user-modify: unset !important; -webkit-user-select: unset !important; word-spacing: unset !important; background-clip: unset !important; background-origin: unset !important; box-shadow: unset !important; mask-composite: unset !important; mask-mode: unset !important; text-combine-upright: unset !important; -webkit-backdrop-filter: unset !important; -webkit-background-clip: unset !important; -webkit-background-origin: unset !important; -webkit-box-shadow: unset !important; mask-size: unset !important; -webkit-mask: unset !important; -webkit-mask-composite: unset !important; -webkit-mask-source-type: unset !important; -webkit-text-combine: unset !important; display: block !important; visibility: visible !important; opacity: unset !important; background-color: rgb(208, 216, 220) !important; block-size: unset !important; border-block: unset !important; border-radius: unset !important; border-end-end-radius: unset !important; border-end-start-radius: unset !important; border-inline: unset !important; border-start-end-radius: unset !important; border-start-start-radius: unset !important; inset: unset !important; contain-intrinsic-block-size: unset !important; contain-intrinsic-size: unset !important; contain-intrinsic-inline-size: unset !important; height: unset !important; inline-size: unset !important; inset-block: unset !important; inset-inline: unset !important; margin-block: unset !important; margin: unset !important; margin-inline: unset !important; max-block-size: unset !important; max-height: unset !important; max-inline-size: unset !important; max-width: unset !important; min-block-size: unset !important; min-height: unset !important; min-inline-size: unset !important; min-width: unset !important; overscroll-behavior-block: unset !important; overscroll-behavior-inline: unset !important; overscroll-behavior: unset !important; padding-block: unset !important; padding: unset !important; padding-inline: unset !important; scroll-margin-block: unset !important; scroll-margin: unset !important; scroll-margin-inline: unset !important; scroll-padding-block: unset !important; scroll-padding: unset !important; scroll-padding-inline: unset !important; width: unset !important;">This
                                                          Message Is
                                                          From an
                                                          External
                                                          Sender</div>
                                                          <div id="pfptBannerk8ad5io" style="color-scheme: unset !important; writing-mode: unset !important; -webkit-ruby-position: unset !important; font-family: Arial, sans-serif !important; font-feature-settings: unset !important; font-kerning: unset !important; font-optical-sizing: unset !important; font-palette: unset !important; font-size: 12px !important; font-size-adjust: unset !important; font-stretch: unset !important; font-style: unset !important; font-synthesis-small-caps: unset !important; font-synthesis-style: unset !important; font-synthesis-weight: unset !important; font-variant-alternates: unset !important; font-variant-caps: unset !important; font-variant-east-asian: unset !important; font-variant-ligatures: unset !important; font-variant-numeric: unset !important; font-variant-position: unset !important; font-variation-settings: unset !important; font-weight: unset !important; text-orientation: unset !important; text-rendering: unset !important; zoom: unset !important; -webkit-font-smoothing: unset !important; -webkit-locale: unset !important; -webkit-text-zoom: unset !important; letter-spacing: unset !important; accent-color: unset !important; align-content: unset !important; align-items: unset !important; align-self: unset !important; alignment-baseline: unset !important; alt: unset !important; animation-composition: unset !important; animation: unset !important; appearance: unset !important; aspect-ratio: unset !important; backface-visibility: unset !important; background-attachment: unset !important; background-blend-mode: unset !important; background-image: unset !important; background-position: unset !important; background-repeat: unset !important; background-size: unset !important; baseline-shift: unset !important; border-collapse: unset !important; border: unset !important; box-sizing: unset !important; break-after: unset !important; break-before: unset !important; break-inside: unset !important; buffered-rendering: unset !important; caption-side: unset !important; caret-color: unset !important; clear: unset !important; clip: unset !important; clip-path: unset !important; clip-rule: unset !important; color-interpolation: unset !important; color-interpolation-filters: unset !important; column-count: unset !important; column-fill: unset !important; column-gap: unset !important; column-rule-color: unset !important; column-rule-style: unset !important; column-rule-width: unset !important; column-span: unset !important; column-width: unset !important; contain: unset !important; container-name: unset !important; container-type: unset !important; content: unset !important; counter-increment: unset !important; counter-reset: unset !important; counter-set: unset !important; cursor: unset !important; cx: unset !important; cy: unset !important; dominant-baseline: unset !important; empty-cells: unset !important; fill: unset !important; fill-opacity: unset !important; fill-rule: unset !important; filter: unset !important; flex: unset !important; flex-flow: unset !important; float: unset !important; flood-color: unset !important; flood-opacity: unset !important; glyph-orientation-horizontal: unset !important; glyph-orientation-vertical: unset !important; grid: unset !important; grid-column-end: unset !important; grid-column-start: unset !important; grid-row-end: unset !important; grid-row-start: unset !important; hanging-punctuation: unset !important; hyphenate-character: unset !important; hyphens: unset !important; image-orientation: unset !important; image-rendering: unset !important; isolation: unset !important; justify-content: unset !important; justify-items: unset !important; justify-self: unset !important; kerning: unset !important; lighting-color: unset !important; line-break: unset !important; line-height: 18px !important; list-style: unset !important; margin-trim: unset !important; marker: unset !important; mask: unset !important; mask-type: unset !important; math-style: unset !important; mix-blend-mode: unset !important; object-fit: unset !important; object-position: unset !important; offset-anchor: unset !important; offset-distance: unset !important; offset-path: unset !important; offset-position: unset !important; offset-rotate: unset !important; order: unset !important; orphans: unset !important; outline: unset !important; outline-offset: unset !important; overflow-wrap: unset !important; overflow: unset !important; page: unset !important; paint-order: unset !important; perspective: unset !important; perspective-origin: unset !important; pointer-events: unset !important; position: unset !important; print-color-adjust: unset !important; quotes: unset !important; r: unset !important; resize: unset !important; rotate: unset !important; row-gap: unset !important; rx: unset !important; ry: unset !important; scale: unset !important; scroll-behavior: unset !important; scroll-snap-align: unset !important; scroll-snap-stop: unset !important; scroll-snap-type: unset !important; shape-image-threshold: unset !important; shape-margin: unset !important; shape-outside: unset !important; shape-rendering: unset !important; size: unset !important; speak-as: unset !important; stop-color: unset !important; stop-opacity: unset !important; stroke: unset !important; stroke-color: unset !important; stroke-dasharray: unset !important; stroke-dashoffset: unset !important; stroke-linecap: unset !important; stroke-linejoin: unset !important; stroke-miterlimit: unset !important; stroke-opacity: unset !important; stroke-width: unset !important; tab-size: unset !important; table-layout: unset !important; text-align: unset !important; text-align-last: unset !important; text-anchor: unset !important; text-decoration-color: unset !important; text-decoration: unset !important; text-decoration-skip-ink: unset !important; text-decoration-style: unset !important; text-decoration-thickness: unset !important; text-emphasis-color: unset !important; text-emphasis-position: unset !important; text-emphasis-style: unset !important; text-indent: unset !important; text-overflow: unset !important; text-shadow: unset !important; text-transform: unset !important; text-underline-offset: unset !important; text-underline-position: unset !important; text-wrap: unset !important; touch-action: unset !important; transform: unset !important; transform-box: unset !important; transform-origin: unset !important; transform-style: unset !important; transition: unset !important; translate: unset !important; vector-effect: unset !important; vertical-align: unset !important; white-space: unset !important; widows: unset !important; will-change: unset !important; word-break: unset !important; x: unset !important; y: unset !important; z-index: unset !important; -apple-color-filter: unset !important; -apple-pay-button-style: unset !important; -apple-pay-button-type: unset !important; border-spacing: unset !important; -webkit-box-align: unset !important; -webkit-box-decoration-break: unset !important; -webkit-box-direction: unset !important; -webkit-box-flex: unset !important; -webkit-box-flex-group: unset !important; -webkit-box-lines: unset !important; -webkit-box-ordinal-group: unset !important; -webkit-box-orient: unset !important; -webkit-box-pack: unset !important; -webkit-box-reflect: unset !important; -webkit-column-axis: unset !important; -webkit-column-progression: unset !important; -webkit-cursor-visibility: unset !important; -webkit-hyphenate-limit-after: unset !important; -webkit-hyphenate-limit-before: unset !important; -webkit-hyphenate-limit-lines: unset !important; -webkit-initial-letter: unset !important; -webkit-line-align: unset !important; -webkit-line-box-contain: unset !important; -webkit-line-clamp: unset !important; -webkit-line-grid: unset !important; -webkit-line-snap: unset !important; -webkit-nbsp-mode: unset !important; -webkit-rtl-ordering: unset !important; -webkit-text-decorations-in-effect: unset !important; -webkit-text-fill-color: unset !important; -webkit-text-security: unset !important; -webkit-text-stroke-color: unset !important; -webkit-text-stroke-width: unset !important; -webkit-user-drag: unset !important; -webkit-user-modify: unset !important; -webkit-user-select: unset !important; word-spacing: unset !important; background-clip: unset !important; background-origin: unset !important; box-shadow: unset !important; mask-composite: unset !important; mask-mode: unset !important; text-combine-upright: unset !important; -webkit-backdrop-filter: unset !important; -webkit-background-clip: unset !important; -webkit-background-origin: unset !important; -webkit-box-shadow: unset !important; mask-size: unset !important; -webkit-mask: unset !important; -webkit-mask-composite: unset !important; -webkit-mask-source-type: unset !important; -webkit-text-combine: unset !important; display: block !important; visibility: visible !important; opacity: unset !important; background-color: rgb(208, 216, 220) !important; block-size: unset !important; border-block: unset !important; border-radius: unset !important; border-end-end-radius: unset !important; border-end-start-radius: unset !important; border-inline: unset !important; border-start-end-radius: unset !important; border-start-start-radius: unset !important; inset: unset !important; contain-intrinsic-block-size: unset !important; contain-intrinsic-size: unset !important; contain-intrinsic-inline-size: unset !important; height: unset !important; inline-size: unset !important; inset-block: unset !important; inset-inline: unset !important; margin-block: unset !important; margin-bottom: unset !important; margin-inline: unset !important; margin-left: unset !important; margin-right: unset !important; max-block-size: unset !important; max-height: unset !important; max-inline-size: unset !important; max-width: unset !important; min-block-size: unset !important; min-height: unset !important; min-inline-size: unset !important; min-width: unset !important; overscroll-behavior-block: unset !important; overscroll-behavior-inline: unset !important; overscroll-behavior: unset !important; padding-block: unset !important; padding: unset !important; padding-inline: unset !important; scroll-margin-block: unset !important; scroll-margin: unset !important; scroll-margin-inline: unset !important; scroll-padding-block: unset !important; scroll-padding: unset !important; scroll-padding-inline: unset !important; width: unset !important; margin-top: 2px !important;">This
                                                          message came
                                                          from outside
                                                          your
                                                          organization.</div>
                                                          </div>
                                                          </div>
                                                          <pre style="caret-color: rgb(0, 0, 0); font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; font-family: sans-serif; white-space: pre-wrap; overflow-wrap: break-word;">hi,

I have a Jacobian matrix created using DMCreateMatrix(). What would be 
the best way to add extra nonzero entries into it?

I'm guessing that DMCreateMatrix() allocates the storage so the nonzero 
structure can't really be easily modified. Would it be a case of 
creating a new matrix, copying the nonzero entries from the original one 
and then adding the extra ones, before calling MatSetUp() or similar? If 
so, how exactly would you copy the nonzero structure from the original 
matrix?

Background: the flow problem I'm solving (on a DMPlex with finite volume 
method) has complex source terms that depend on the solution (e.g. 
pressure), and can also depend on other source terms. A simple example 
is when fluid is extracted from one location, with a pressure-dependent 
flow rate, and some of it is then reinjected in another location. This 
can result in poor nonlinear solver convergence. I think the reason is 
that there are effectively missing Jacobian entries in the row for the 
reinjection cell, which should have an additional dependence on the 
solution in the cell where fluid is extracted.

- Adrian

-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
Waipapa Taumata Rau / University of Auckland, New Zealand
email: <a href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true" class="moz-txt-link-freetext">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611

</pre>
                                                          <br class="Apple-interchange-newline">
                                                          </div>
                                                          </blockquote>
                                                        </div>
                                                        <br>
                                                      </div>
                                                    </blockquote>
                                                    <pre class="moz-signature" cols="72">-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
Waipapa Taumata Rau / University of Auckland, New Zealand
email: <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611</pre>
                                                  </div>
                                                  <span id="cid:5C5BDD81-E016-4C86-A345-FBE276CEAD22"><3x3grid.exo></span><span id="cid:E2D65CD8-6EFF-4063-A2F0-2CC0FD711C52"><matmodify.F90></span></div>
                                              </blockquote>
                                            </div>
                                            <br>
                                          </div>
                                        </blockquote>
                                        <pre class="moz-signature" cols="72">-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
Waipapa Taumata Rau / University of Auckland, New Zealand
email: <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611</pre>
                                      </div>
                                    </div>
                                  </blockquote>
                                </div>
                                <br>
                              </div>
                            </blockquote>
                            <pre class="moz-signature" cols="72">-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
Waipapa Taumata Rau / University of Auckland, New Zealand
email: <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611</pre>
                          </div>
                        </div>
                      </blockquote>
                    </div>
                    <br>
                  </div>
                </blockquote>
                <pre class="moz-signature" cols="72">-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
Waipapa Taumata Rau / University of Auckland, New Zealand
email: <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:a.croucher@auckland.ac.nz" moz-do-not-send="true">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611</pre>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
Waipapa Taumata Rau / University of Auckland, New Zealand
email: <a class="moz-txt-link-abbreviated" href="mailto:a.croucher@auckland.ac.nz">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611</pre>
  </div>

</div></blockquote></div><br></body></html>