<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    On 4/5/2012 9:09 PM, John Mousel wrote:
    <blockquote
cite="mid:CA+zegp=aszZ28auQMG9h9XOf+WNXDKKxMBJg9+ekeeDiczG=YQ@mail.gmail.com"
      type="cite">You have to pass PETSC_NULL_OBJECT instead of
      PETSC_NULL in Fortran.<br>
      <br>
      <br>
      From the man pages:<br>
      <br>
      "This macro does not exist in Fortran; you must use
      PETSC_NULL_INTEGER,
      PETSC_NULL_DOUBLE_PRECISION, PETSC_NULL_FUNCTION,
      PETSC_NULL_OBJECT etc
      "<br>
      <br>
      <br>
      <a moz-do-not-send="true"
href="http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Sys/PETSC_NULL.html#PETSC_NULL">http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Sys/PETSC_NULL.html#PETSC_NULL</a><br>
      <br>
      <br>
      John<br>
      <br>
    </blockquote>
    Thanks for the suggestion, but they all didn't work.<br>
    <blockquote
cite="mid:CA+zegp=aszZ28auQMG9h9XOf+WNXDKKxMBJg9+ekeeDiczG=YQ@mail.gmail.com"
      type="cite"><br>
      <div class="gmail_quote">On Fri, May 4, 2012 at 2:01 PM, TAY
        wee-beng <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:zonexo@gmail.com" target="_blank">zonexo@gmail.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div bgcolor="#FFFFFF" text="#000000">
            <div class="im"> <br>
              On 4/5/2012 5:17 PM, Matthew Knepley wrote:
              <blockquote type="cite">
                <div class="gmail_extra">On Fri, May 4, 2012 at 11:05
                  AM, TAY wee-beng <span dir="ltr">&lt;<a
                      moz-do-not-send="true"
                      href="mailto:zonexo@gmail.com" target="_blank">zonexo@gmail.com</a>&gt;</span>
                  wrote:<br>
                  <div class="gmail_quote">
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div bgcolor="#FFFFFF" text="#000000"> <br>
                        On 4/5/2012 3:05 PM, Matthew Knepley wrote:
                        <blockquote type="cite">
                          <div class="gmail_extra">On Fri, May 4, 2012
                            at 8:59 AM, TAY wee-beng <span dir="ltr">&lt;<a
                                moz-do-not-send="true"
                                href="mailto:zonexo@gmail.com"
                                target="_blank">zonexo@gmail.com</a>&gt;</span>
                            wrote:<br>
                            <div class="gmail_quote">
                              <blockquote class="gmail_quote"
                                style="margin:0 0 0 .8ex;border-left:1px
                                #ccc solid;padding-left:1ex">
                                <div bgcolor="#FFFFFF" text="#000000"> <br>
                                  Hi,<br>
                                  <br>
                                  Is there anything else I can try to
                                  get it working right?<br>
                                </div>
                              </blockquote>
                              <div><br>
                              </div>
                              <div>The MatGetNullSpaceRemove() is
                                missing.</div>
                            </div>
                          </div>
                        </blockquote>
                        Where should I add MatGetNullSpaceRemove and
                        what are its syntax? I googled but there's no
                        results.<br>
                      </div>
                    </blockquote>
                    <div><br>
                    </div>
                    <div>Fixed in p;etsc-dev:</div>
                    <div><br>
                    </div>
                    <div>  <a moz-do-not-send="true"
href="http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatNullSpaceRemove.html"
                        target="_blank">http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatNullSpaceRemove.html</a></div>
                  </div>
                </div>
              </blockquote>
              <br>
            </div>
            I just compiled the updated petsc-dev but I got the same
            error msg when I use:<br>
            <br>
            call MatNullSpaceRemove(nullspace,b,PETSC_NULL,ierr)<br>
            <br>
            error LNK2019: unresolved external symbol MATNULLSPACEREMOVE
            referenced in function COMPUTERHS<br>
            1&gt;c:\obj_tmp\ex29f\Debug\ex29f.exe : fatal error LNK1120:
            1 unresolved externals
            <div>
              <div class="h5"><br>
                <blockquote type="cite">
                  <div class="gmail_extra">
                    <div class="gmail_quote">
                      <div><br>
                      </div>
                      <div><br>
                      </div>
                      <div>     Matt</div>
                      <div> </div>
                      <blockquote class="gmail_quote" style="margin:0 0
                        0 .8ex;border-left:1px #ccc
                        solid;padding-left:1ex">
                        <div bgcolor="#FFFFFF" text="#000000"> Thanks.<br>
                          <blockquote type="cite">
                            <div class="gmail_extra">
                              <div class="gmail_quote">
                                <div><br>
                                </div>
                                <div>   Matt</div>
                                <div> </div>
                                <blockquote class="gmail_quote"
                                  style="margin:0 0 0
                                  .8ex;border-left:1px #ccc
                                  solid;padding-left:1ex">
                                  <div bgcolor="#FFFFFF" text="#000000">
                                    Thanks!<br>
                                    <br>
                                    <br>
                                    On 2/5/2012 10:11 PM, Matthew
                                    Knepley wrote:
                                    <blockquote type="cite">
                                      <div class="gmail_extra">On Wed,
                                        May 2, 2012 at 1:55 PM, TAY
                                        wee-beng <span dir="ltr">&lt;<a
                                            moz-do-not-send="true"
                                            href="mailto:zonexo@gmail.com"
                                            target="_blank">zonexo@gmail.com</a>&gt;</span>
                                        wrote:<br>
                                        <div class="gmail_quote">
                                          <blockquote
                                            class="gmail_quote"
                                            style="margin:0 0 0
                                            .8ex;border-left:1px #ccc
                                            solid;padding-left:1ex">
                                            <div bgcolor="#FFFFFF"
                                              text="#000000"> Hi,<br>
                                              <br>
                                              I did a MatView and
                                              VecView on both C and
                                              Fortran, right after Mat
                                              and Vec assembly. I have
                                              attached the printout
                                              below. They are exactly
                                              the same, but yet the
                                              result is different in
                                              Neumann condition.
                                              However, the dirichlet
                                              condition gives the
                                              correct ans. Is there
                                              anything else that could
                                              be wrong even if the Mat
                                              and Vec are the same?<br>
                                            </div>
                                          </blockquote>
                                          <div><br>
                                          </div>
                                          <div>Did you set the null
                                            space for the matrix when
                                            you have Neumann conditions?</div>
                                        </div>
                                      </div>
                                    </blockquote>
                                    Yes, for the matrix, I set as:<br>
                                    <br>
                                    call
MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_TRUE,0,PETSC_NULL_OBJECT,nullspace,ierr)<br>
                                    <br>
                                        call
                                    MatSetNullSpace(jac,nullspace,ierr)<br>
                                    <br>
                                        call
                                    MatNullSpaceDestroy(nullspace,ierr)<br>
                                    <br>
                                    for the Vec, <br>
                                    <br>
                                    call
MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_TRUE,0,PETSC_NULL_OBJECT,nullspace,ierr)<br>
                                    <br>
                                        <b>!call
                                      MatNullSpaceRemove(nullspace,b,PETSC_NULL,ierr)</b><br>
                                    <br>
                                        call
                                    MatNullSpaceDestroy(nullspace,ierr)<br>
                                    <br>
                                    MatNullSpaceRemove was comment out
                                    because there's error during linking<br>
                                    <br>
                                    <br>
                                    <blockquote type="cite">
                                      <div class="gmail_extra">
                                        <div class="gmail_quote">
                                          <div><br>
                                          </div>
                                          <div>   Matt</div>
                                          <div> </div>
                                          <blockquote
                                            class="gmail_quote"
                                            style="margin:0 0 0
                                            .8ex;border-left:1px #ccc
                                            solid;padding-left:1ex">
                                            <div bgcolor="#FFFFFF"
                                              text="#000000"> Thanks!<br>
                                              <br>
                                              Fortran:<br>
                                              <br>
                                              Matrix Object: 1 MPI
                                              processes<br>
                                                type: seqaij<br>
                                              row 0: (0, 2)  (1, -1) 
                                              (3, -1)<br>
                                              row 1: (0, -1)  (1, 3) 
                                              (2, -1)  (4, -1)<br>
                                              row 2: (1, -1)  (2, 2) 
                                              (5, -1)<br>
                                              row 3: (0, -1)  (3, 3) 
                                              (4, -1)  (6, -1)<br>
                                              row 4: (1, -1)  (3, -1) 
                                              (4, 4)  (5, -1)  (7, -1)<br>
                                              row 5: (2, -1)  (4, -1) 
                                              (5, 3)  (8, -1)<br>
                                              row 6: (3, -1)  (6, 2) 
                                              (7, -1)<br>
                                              row 7: (4, -1)  (6, -1) 
                                              (7, 3)  (8, -1)<br>
                                              row 8: (5, -1)  (7, -1) 
                                              (8, 2)<br>
                                              Vector
                                              Object:Vec_0000000084000000_0
                                              1 MPI processes<br>
                                                type: mpi<br>
                                              Process [0]<br>
                                              0.25<br>
                                              0.0205213<br>
                                              1.135e-005<br>
                                              0.0205213<br>
                                              0.00168449<br>
                                              9.31663e-007<br>
                                              1.135e-005<br>
                                              9.31663e-007<br>
                                              5.15289e-010<br>
                                              Vector
                                              Object:Vec_0000000084000000_1
                                              1 MPI processes<br>
                                                type: mpi<br>
                                              Process [0]<br>
                                              0.14924<br>
                                              0.0242397<br>
                                              -0.0260347<br>
                                              0.0242397<br>
                                              -0.0256192<br>
                                              -0.0400102<br>
                                              -0.0260347<br>
                                              -0.0400102<br>
                                              -0.0400102<br>
                                              Press any key to continue
                                              . . .<br>
                                              <br>
                                              C:<br>
                                              <br>
                                              Matrix Object: 1 MPI
                                              processes<br>
                                                type: seqaij<br>
                                              row 0: (0, 2)  (1, -1) 
                                              (3, -1) <br>
                                              row 1: (0, -1)  (1, 3) 
                                              (2, -1)  (4, -1) <br>
                                              row 2: (1, -1)  (2, 2) 
                                              (5, -1) <br>
                                              row 3: (0, -1)  (3, 3) 
                                              (4, -1)  (6, -1) <br>
                                              row 4: (1, -1)  (3, -1) 
                                              (4, 4)  (5, -1)  (7, -1) <br>
                                              row 5: (2, -1)  (4, -1) 
                                              (5, 3)  (8, -1) <br>
                                              row 6: (3, -1)  (6, 2) 
                                              (7, -1) <br>
                                              row 7: (4, -1)  (6, -1) 
                                              (7, 3)  (8, -1) <br>
                                              row 8: (5, -1)  (7, -1) 
                                              (8, 2) <br>
                                              Vector
                                              Object:Vec_0x1d3b000_0 1
                                              MPI processes<br>
                                                type: mpi<br>
                                              Process [0]<br>
                                              0.25<br>
                                              0.0205212<br>
                                              1.135e-05<br>
                                              0.0205212<br>
                                              0.00168449<br>
                                              9.31663e-07<br>
                                              1.135e-05<br>
                                              9.31663e-07<br>
                                              5.15288e-10<br>
                                              Vector
                                              Object:Vec_0x1d3b000_1 1
                                              MPI processes<br>
                                                type: mpi<br>
                                              Process [0]<br>
                                              0.139311<br>
                                              0.0305751<br>
                                              -0.0220633<br>
                                              0.0305751<br>
                                              -0.0135158<br>
                                              -0.042185<br>
                                              -0.0220633<br>
                                              -0.042185<br>
                                              -0.058449<br>
                                              <br>
                                              <br>
                                              <br>
                                              <pre cols="72">Yours sincerely,

TAY wee-beng</pre>
                                              <br>
                                              On 1/5/2012 11:54 PM,
                                              Matthew Knepley wrote:
                                              <blockquote type="cite">
                                                <div class="gmail_extra">On
                                                  Tue, May 1, 2012 at
                                                  5:48 PM, TAY wee-beng
                                                  <span dir="ltr">&lt;<a
moz-do-not-send="true" href="mailto:zonexo@gmail.com" target="_blank">zonexo@gmail.com</a>&gt;</span>
                                                  wrote:<br>
                                                  <div
                                                    class="gmail_quote">
                                                    <blockquote
                                                      class="gmail_quote"
                                                      style="margin:0 0
                                                      0
                                                      .8ex;border-left:1px
                                                      #ccc
                                                      solid;padding-left:1ex">
                                                      Hi,<br>
                                                      <br>
                                                      Do you mean my
                                                      method is wrong?<br>
                                                      <br>
                                                      I am following the
                                                      template of ex22f,<br>
                                                      <br>
                                                      where the
                                                      variables are
                                                      declared as :<br>
                                                      <br>
                                                      PetscScalar  v(5)<br>
                                                      <br>
                                                      MatStencil  
                                                      row(4),col(4,5)<br>
                                                      <br>
                                                      Hence,<br>
                                                      <br>
                                                      for the neumann BC<br>
                                                      <br>
                                                      num = 1<br>
                                                      <br>
                                                                     if
                                                      (j/=0) then<br>
                                                      <br>
                                                                       
                                                       v(num) =
                                                      -rho*HxdHy<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_i,num)
                                                      = i<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_j,num)
                                                      = j-1<br>
                                                      <br>
                                                                       
                                                       num = num + 1<br>
                                                      <br>
                                                                     end
                                                      if<br>
                                                      <br>
                                                                     if
                                                      (i/=0) then<br>
                                                      <br>
                                                                       
                                                       v(num) =
                                                      -rho*HydHx<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_i,num)
                                                      = i-1<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_j,num)
                                                      = j<br>
                                                      <br>
                                                                       
                                                       num = num + 1<br>
                                                      <br>
                                                                     end
                                                      if<br>
                                                      <br>
                                                                     if
                                                      (i/=mx-1) then<br>
                                                      <br>
                                                                       
                                                       v(num) =
                                                      -rho*HydHx<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_i,num)
                                                      = i+1<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_j,num)
                                                      = j<br>
                                                      <br>
                                                                       
                                                       num = num + 1<br>
                                                      <br>
                                                                     end
                                                      if<br>
                                                      <br>
                                                                     if
                                                      (j/=my-1) then<br>
                                                      <br>
                                                                       
                                                       v(num) =
                                                      -rho*HxdHy<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_i,num)
                                                      = i<br>
                                                      <br>
                                                                       
                                                       col(MatStencil_j,num)
                                                      = j+1<br>
                                                      <br>
                                                                       
                                                       num = num + 1<br>
                                                      <br>
                                                                     end
                                                      if<br>
                                                      <br>
                                                                   
                                                       v(num) =
                                                      ((num-1)/2.0)*rho*(HxdHy
                                                      + HydHx)<br>
                                                      <br>
                                                                   
                                                       print *, v<br>
                                                      <br>
                                                                   
                                                       col(MatStencil_i,num)
                                                      = i<br>
                                                      <br>
                                                                   
                                                       col(MatStencil_j,num)
                                                      = j<br>
                                                      <br>
                                                                   
                                                       !num = num + 1<br>
                                                      <br>
                                                                   
                                                       call
                                                      MatSetValuesStencil(jac,i1,row,num,col,v,INSERT_VALUES,ierr)<br>
                                                      <br>
                                                      I do not get any
                                                      more out of range
                                                      error. However,my
                                                      ans is still
                                                      different from
                                                      that of ex29 in C.<br>
                                                    </blockquote>
                                                    <div><br>
                                                    </div>
                                                    <div>This is very
                                                      simple. You have
                                                      an error in your
                                                      code. Checking it
                                                      is very simple:
                                                      run the code and</div>
                                                    <div>break in
                                                      MatSetValues().
                                                      Make sure ex29
                                                      makes calls with
                                                      exactly the same
                                                      indices as your
                                                      ex29f.</div>
                                                    <div><br>
                                                    </div>
                                                    <div>    Matt</div>
                                                    <div> </div>
                                                    <blockquote
                                                      class="gmail_quote"
                                                      style="margin:0 0
                                                      0
                                                      .8ex;border-left:1px
                                                      #ccc
                                                      solid;padding-left:1ex">
                                                      Yours sincerely,<br>
                                                      <br>
                                                      TAY wee-beng<br>
                                                    </blockquote>
                                                  </div>
                                                  <div><br>
                                                    <span><font
                                                        color="#888888">
                                                        <span><font
                                                          color="#888888">
                                                          </font></span></font></span></div>
                                                  <span><font
                                                      color="#888888"> <span><font
color="#888888"> -- <br>
                                                          What most
                                                          experimenters
                                                          take for
                                                          granted before
                                                          they begin
                                                          their
                                                          experiments is
                                                          infinitely
                                                          more
                                                          interesting
                                                          than any
                                                          results to
                                                          which their
                                                          experiments
                                                          lead.<br>
                                                          -- Norbert
                                                          Wiener<br>
                                                        </font></span></font></span></div>
                                                <span><font
                                                    color="#888888"> </font></span></blockquote>
                                              <span><font
                                                  color="#888888"> </font></span></div>
                                            <span><font color="#888888">
                                              </font></span></blockquote>
                                          <span><font color="#888888"> </font></span></div>
                                        <span><font color="#888888"> <br>
                                            <br clear="all">
                                            <span><font color="#888888">
                                                <div><br>
                                                </div>
                                                -- <br>
                                                What most experimenters
                                                take for granted before
                                                they begin their
                                                experiments is
                                                infinitely more
                                                interesting than any
                                                results to which their
                                                experiments lead.<br>
                                                -- Norbert Wiener<br>
                                              </font></span></font></span></div>
                                      <span><font color="#888888"> </font></span></blockquote>
                                    <span><font color="#888888"> </font></span></div>
                                  <span><font color="#888888"> </font></span></blockquote>
                                <span><font color="#888888"> </font></span></div>
                              <span><font color="#888888"> <br>
                                  <br clear="all">
                                  <div><br>
                                  </div>
                                  -- <br>
                                  What most experimenters take for
                                  granted before they begin their
                                  experiments is infinitely more
                                  interesting than any results to which
                                  their experiments lead.<br>
                                  -- Norbert Wiener<br>
                                </font></span></div>
                          </blockquote>
                        </div>
                      </blockquote>
                    </div>
                    <br>
                    <br clear="all">
                    <div><br>
                    </div>
                    -- <br>
                    What most experimenters take for granted before they
                    begin their experiments is infinitely more
                    interesting than any results to which their
                    experiments lead.<br>
                    -- Norbert Wiener<br>
                  </div>
                </blockquote>
              </div>
            </div>
          </div>
        </blockquote>
      </div>
      <br>
    </blockquote>
  </body>
</html>