<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Note that PETSc is designed to hide the details of the
    implementations from you (It's in C, but uses the techniques of
    Object-Oriented programming that you might be more familiar with in
    C++), so normal use would never require the user to know anything
    about the way PETSc objects represent data. In cases cases where
    access to lower-level representations of the data is useful, there
    is an interface provided to do this, as with Vec[Get/Set]Array (see
    the tutorials included in the src/ tree for many examples - if you
    look at the bottom of the link Anton provided, you'll see a handy
    list of links to ones that use that particular function). <br>
    <br>
    The definitions of the functions in VecOps will depend on the
    implementation of Vec being used, and this is in general only known
    at runtime (which is a great advantage, as you can use command line
    arguments to change which implementation is used without recompiling
    anything). The various function definitions should be found in
    src/vec/vec/impls and subdirectories.<br>
    <br>
    So, while it is possible to access the data stored in an object and
    print it and so on,  you'd have to include a private header and it'd
    be a bit ugly.  Perhaps a better way to poke around is to use a
    debugger like gdb or lldb (or something else built into your IDE if
    you're using one) - that should be quicker, and not require to you
    to spend time recompiling things.<br>
    <br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 9/28/14 1:57 PM, Parvathi M.K wrote:<br>
    </div>
    <blockquote
cite="mid:CA+Z2ge-n2ks51pyvN3sa37QA9UGkOenBdN6C5SRs9QTgjoSroA@mail.gmail.com"
      type="cite">
      <div dir="ltr">I want to access the data stored in the vec object
        directly without using any functions. Is this possible? 
        <div><br>
        </div>
        <div>I tried using something like p->hdr._  in a printf
          statement (where p is a vector). I wish to know which element
          of the _p_Vec structure stores the data. </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Sun, Sep 28, 2014 at 4:45 PM,
          Parvathi M.K <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:phoenixauriga@gmail.com" target="_blank">phoenixauriga@gmail.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">Hey,
              <div> </div>
              <div>I am fairly new to PetSc. I was just curious as to
                how you can directly access the data stored in a Petsc
                object, say a vector without using VecGetValues().</div>
              <div><br>
              </div>
              <div>I've gone through the header files, petscimpl.h and
                vecimpl.h which contain the definitions of the
                PetscObject and Vec structures. I cannot figure out
                which member of the struct holds the Vector data entered
                using VecSet(). Also, I could not find the definitions
                of the functions in VecOps. Could someone tell me where
                I can find these function definitions? </div>
              <div><br>
              </div>
              <div>Thank you :)</div>
              <span class="HOEnZb"><font color="#888888">
                  <div><br>
                  </div>
                  <div>Parvathi</div>
                </font></span></div>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>