<div dir="ltr">Yes, this works. <div><br></div><div><div>u = da.getVecArray(U)</div><div>for i in range(mstart, mend):</div><div>        u[i] = np.sin(np.pi*i*6.*h) + 3.*np.sin(np.pi*i*2.*h)</div></div><div><br></div><div>The code above also worked without restoreVecArray. I guess the u just points at the array U. </div><div>I think your code is clearer to understand what is happening.</div><div><br></div><div>Thank you,</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 14, 2018 at 5:57 PM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@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"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Wed, Feb 14, 2018 at 6:05 PM, HeeHo Park <span dir="ltr"><<a href="mailto:heeho.park@gmail.com" target="_blank">heeho.park@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">I just found a user group on PETSc website. Can someone please answer the question below?</div></blockquote><div><br></div></span><div>I think it will work using</div><div><br></div><div>  with <span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">da.getVecArray(U) as u</span></div><div><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span class="">    for i in range(mstart, mend):<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">        u[i] = np.sin(np.pi*i*6.*h) + 3.*np.sin(np.pi*i*2.*h)</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div></span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">Does it?</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">  Thanks,</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">     Matt</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div></span></div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Thanks!<br><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">HeeHo Park</b> <span dir="ltr"><<a href="mailto:heeho.park@gmail.com" target="_blank">heeho.park@gmail.com</a>></span><br>Date: Wed, Feb 14, 2018 at 5:04 PM<br>Subject: what is the equivalent DMDAVecRestoreArray() function in petsc4py?<br>To: <a href="mailto:dalcinl@gmail.com" target="_blank">dalcinl@gmail.com</a><br><br><br><div dir="ltr">Hi Lisandro,<div><br></div><div>I cannot find DMDAVecRestoreArray() equivalent in petsc4py. </div><div>I'm trying to set a 1D initial condition like this.</div><div><br></div><div><div>def initial_conditions(ts, U, appctx):</div><div>    da = ts.getDM()</div><div>    mstart,xm = da.getCorners()</div><div>    mstart = mstart[0]</div><div>    xm = xm[0]</div><div>    M = da.getSizes()[0]</div><div>    h = 1.0/M</div><div>    mend = mstart + xm</div><div><br></div><div>    u = da.getVecArray(U)</div><div>    for i in range(mstart, mend):</div><div>        u[i] = np.sin(np.pi*i*6.*h) + 3.*np.sin(np.pi*i*2.*h)</div><div><br></div><div>    da.getVecRestoreArray(u)</div></div><div><br></div><div>Also, is there a better way to ask questions about petsc4py? a forum? or google-group?</div><div><br></div><div>Thanks,</div><span class="m_-3991873772679713735HOEnZb"><font color="#888888"><span class="m_-3991873772679713735m_-6483143743944356823HOEnZb"><font color="#888888"><div><div><br></div>-- <br><div class="m_-3991873772679713735m_-6483143743944356823m_-7738558342007574623gmail_signature"><div dir="ltr">HeeHo Daniel Park</div></div>
</div></font></span></font></span></div><span class="m_-3991873772679713735HOEnZb"><font color="#888888">
</font></span></div><span class="m_-3991873772679713735HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_-3991873772679713735m_-6483143743944356823gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">HeeHo Daniel Park</div></div>
</font></span></div></div></div>
</blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_-3991873772679713735gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>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</div><div><br></div><div><a href="http://www.caam.rice.edu/~mk51/" target="_blank">https://www.cse.buffalo.edu/~<wbr>knepley/</a><br></div></div></div></div></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">HeeHo Daniel Park</div></div>
</div>