# ksp tutorial ex22

Ryan Yan vyan2000 at gmail.com
Fri Dec 11 10:25:33 CST 2009

```On Fri, Dec 11, 2009 at 1:44 AM, Wee-Beng Tay <zonexo at gmail.com> wrote:

> Hi,
>
> I'm also looking at the fortran version of ex22. I have some questions:
>
> 1. M,N,P are global dimension in each direction of the array. I'm abit
> confused. Do you mean the no. of grid pts at the coarse level? Hence, if my
> problem has 27x27 grid pts, do I use M=N=9 with 3 multigrid levels or M=N=3
> with 9 lvls? What is the guideline in choosing the number of multigrid
> levels?
>
> 2. What is stencil width (s)? Seems to be 1 in both ex22 and ex29.
>
> 3. What are arrays containing the number of nodes in each cell along the
> x/y/z coordinates? Is it ok to just use the default PETSC_NULL_INTEGER?
>
> 4. There's a subroutine ComputeJacobian which computes the jacobian.
> However, what is it actually calculating? Is it simply calculating the
> coefficient arising from the discretization of the matrix?
>
>
I just realized that you are looking at Fortran version ex22f.F for this
question.
In fact, my answer still applies.
You may want to make a comparison between:
http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/DMMG/DMMGSetSNES.html
http://www.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/DMMG/DMMGSetKSP.html

> 5. My objective is to solve for the poisson equation arising from the
> Navier Stokes equations. ie div grad P = F, which F can be calculated
> separately. The boundary conditions are Neumann which is dp/dx, dp/dy=0. Is
> this a good example to follow? Or is ex29 a better example, although I need
> time to digest the C syntax.
>
> thanks alot!
>
>
> On Fri, Dec 11, 2009 at 4:14 AM, Ryan Yan <vyan2000 at gmail.com> wrote:
>
>> Hi Barry,
>> Thank you very much for the confirm.
>>
>> Yan
>>
>>
>> On Thu, Dec 10, 2009 at 3:12 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>>>
>>> On Dec 10, 2009, at 2:09 PM, Ryan Yan wrote:
>>>
>>>  Hi all,
>>>> I was looking at the ex22 of ksp.
>>>>
>>>> If I call:
>>>> ...
>>>> ierr = DMMGCreate(PETSC_COMM_WORLD,3,PETSC_NULL,&dmmg);CHKERRQ(ierr);
>>>> ierr =
>>>> DACreate3d(PETSC_COMM_WORLD,DA_NONPERIODIC,DA_STENCIL_STAR,-3,-3,-3,PETSC_DECIDE,PETSC_DECIDE,PETSC_DECIDE,1,1,0,0,0,&da);CHKERRQ(ierr);
>>>>  ...
>>>>
>>>> How many grid pts should I have on the finest level? Is it 27,
>>>> considering I am set 3 as the global dimension in each direction of the
>>>> array?
>>>>
>>>> When I run ex22 with -ksp_view, I saw that  on the finest level there
>>>> are 9 pts on each direction.
>>>>
>>>> Is that because I have 3 level?
>>>>
>>>
>>>   Yes. The DA you create initially is for the coarsest grid, finer ones
>>> are automatically created by the DMMG.
>>>
>>>   Barry
>>>
>>>
>>>> Yan
>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20091211/fe86bd9b/attachment.htm>
```