# [petsc-users] questions about snes ex3.c

Xiangdong epscodes at gmail.com
Wed Apr 2 15:03:00 CDT 2014

```I see your point. Since the residue ff[0] and ff[xs+xm-1] are going to be
minimized to zero, it forces that xx[0]=0 and xx[xs+xm-1]-1.0=0. So the BC
is satisfied.

Thank you.

Xiangdong

On Wed, Apr 2, 2014 at 3:26 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Apr 2, 2014, at 1:48 PM, Xiangdong <epscodes at gmail.com> wrote:
>
> >
> >
> >
> > On Wed, Apr 2, 2014 at 9:50 AM, Matthew Knepley <knepley at gmail.com>
> wrote:
> > On Wed, Apr 2, 2014 at 8:23 AM, Xiangdong <epscodes at gmail.com> wrote:
> > Hello everyone,
> >
> > I have two quick questions about src/snes/examples/tutorials/ex3.c.
> >
> > 1) In line 150-151, why do we need to call MatSeqAIJSetPreallocation
> before MatMPIAIJSetPreallocation? I found that without the seqaij call, the
> program crashed. However, the mat J we want to create is the mpiaij.
> >
> > 2) In line 390-397, it sets the values of the residue function at the
> boundary. Where do these values come from? In other words, I am not clear
> about ff[0]=xx[0] and ff[xs+xm-1] = xx[xs+xm-1] - 1.0;
>
>    At  0 we want to force the solution to be 0. and at 1 we want to force
> the solution to be 1. So this is just a way to apply Dirichlet boundary
> conditions.
>
>    Barry
>
> >
> > These are just the BC we choose.
> >
> > The exact solution used in the code is u=x^3. The thing not clear to me
> is how this is  translated to the boundary conditions I mentioned above.
> More like a formulation question, in fact.
> >
> > Thank you.
> >
> > Xiangdong
> >
> >
> >   Matt
> >
> > Thank you.
> >
> > Xiangdong
> >
> >
> >
> > --
> > What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their