[petsc-users] DMDA questions
Barry Smith
bsmith at mcs.anl.gov
Fri Feb 28 15:48:58 CST 2014
On Feb 28, 2014, at 3:27 PM, Xiangdong <epscodes at gmail.com> wrote:
>
>
>
> On Fri, Feb 28, 2014 at 4:21 PM, Matthew Knepley <knepley at gmail.com> wrote:
> On Fri, Feb 28, 2014 at 1:16 PM, Xiangdong <epscodes at gmail.com> wrote:
> If I assembly the matrix with MatSetValuesStencil and use KspSetOpreators for Ksp, do I need to call KspSetDM first?
>
> No
>
> What is the key difference or advantage of using KspSetComputeOperators against KspSetOperators?
>
> With the later, you have to manage creating and preallocating the matrix.
>
> If I use DMCreateMatrix and MatSetValuesStencil, I do not need to preallocate the matrix.
Correct.
The SetComputeOperators and KSPSetDM is useful if you wish to use multigrid on system since PCMG will call your compute operators function on each level for you automatically. See src/ksp/ksp/examples/tutorials/ ex25.c ex28.c ex29.c ex31.c ex32.c ex34.c ex45.c ex50.c If you are just solving the one system and not using multigrid then there is no particular advantage in SetComputeOperators and KSPSetDM
Barry
>
> Xiangdong
>
>
>
>
> Matt
>
> Thanks you.
>
> Xiangdong
>
>
> On Tue, Feb 25, 2014 at 4:24 PM, Jed Brown <jed at jedbrown.org> wrote:
> Xiangdong <epscodes at gmail.com> writes:
> > I am not clear about this. In this example, where is the format declaration
> > (e.g.,mpiaij) of Mat jac? Why is this mat jac always distributed in
> > a compatible way as the DM vectors?
>
> src/ksp/ksp/examples/tutorials/ex25.c calls KSPSetDM and sets functions
> to assemble the matrices and right hand side. Those objects are created
> internally (you can use -dm_mat_type sbaij if you like) and the user
> doesn't have to see them.
>
>
>
>
> --
> What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
> -- Norbert Wiener
>
More information about the petsc-users
mailing list