<div dir="ltr">Prof. Ed Bueler,<div>   Congratulations on your book. I am eager to read it.</div><div>   I was wondering if it is feasible to add your example programs to PETSc tests so that readers will always be able to run your code.</div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">--Junchao Zhang</div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 29, 2020 at 8:29 PM Ed Bueler <<a href="mailto:elbueler@alaska.edu">elbueler@alaska.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>All --</div><div><br></div>SIAM Press just published my new book "PETSc for Partial Differential Equations: Numerical Solutions in C and Python":<div><br><div>  <a href="https://my.siam.org/Store/Product/viewproduct/?ProductId=32850137" target="_blank">https://my.siam.org/Store/Product/viewproduct/?ProductId=32850137</a><div><br></div><div>The book is available both as a paperback and an e-book with working links.  A SIAM member discount is available, of course.</div><div><br></div><div>This book is a genuine introduction which does not assume you have used PETSc before, and which should make sense even if your differential equations knowledge is basic.  The prerequisites are a bit of programming in C and a bit of numerical linear algebra, roughly like the main ideas of Trefethen and Bau, but even that is reviewed and summarized.  I've made an effort to introduce discretizations from the beginning, especially finite differences and elements.</div><div><br></div><div>The book is based on a collection of example programs at <a href="https://github.com/bueler/p4pdes" target="_blank">https://github.com/bueler/p4pdes</a>.  Most of these codes call PETSc directly through the C API, but the last two chapters have Python codes using UFL and Firedrake.  Nonetheless the book contains ideas, mathematical and computational; it complements, but does not replace, the PETSc User's Manual and the tutorial examples in the PETSc source.  Concepts are explained and illustrated, with sufficient context to facilitate further development. Performance (optimality) and parallel scalability are the primary goals, so preconditioners including multigrid are central threads, and run-time solver options are explored in both the text and the exercises.</div><div><br></div><div>Here is the place to appreciate the usual PETSc suspects for their comments on drafts, and help in writing this book: Barry, Jed, Matt, Dave, Rich, Lois, Patrick, Mark, Satish, David K., and many others.  Also let me say that SIAM Press has nothing but professionals who are nice to work with too; send them your book idea!<br><div><br></div><div>Ed<br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Ed Bueler<br>Dept of Mathematics and Statistics<br>University of Alaska Fairbanks<br>Fairbanks, AK 99775-6660<br>306C Chapman<br></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div>