On Tue, Feb 24, 2015 at 12:57 PM, Lawrence Mitchell < [email protected]> wrote:
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi all, > > I'd like to be able to provide a matrix that is different to the > actual operator for preconditioning purposes on coarse levels. I > think I see how to do this for PCMG, I do KSPSetComputeOperators which > migrates to the DM and will be called to setup the operators on first > KSPSolve calls. > > On the other hand, for FAS, it looks like there is no way to do this: > > The SNESen on each level will call SNESSetupMatrices which, if the > snes doesn't have a jacobian matrix set, will call DMCreateMatrix once > to create snes->jacobian and use that for both the jacobian and the > preconditioner for the jacobian. Is this right, or do I have the > wrong end of the stick? > That is what happens. It does check for snes->jacobian, but that would not be set on coarse levels anyway. I think we should have an option that makes SNESSetUpMatrices() create two matrices. Matt > Cheers, > > Lawrence > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1 > > iQEcBAEBAgAGBQJU7MmXAAoJECOc1kQ8PEYvgdMH/ip3m0z2g6wvURkiP680QZ63 > peAKK9R1F5TJZt1OjZR9d99YcplHwsTi7EemEAJ6kaDlo1QVJ+aGTh00EcaR9yiT > lT0zlJQ8vsSa7Wwn12OGa02kZ6jh9wdRJJOhpSJoqdSih2zMhlcBYjgR1VupxpbT > ALF9TMrxi1086y7237ukbcuQh4MCidzY8t5pwglNGjGVzGMRprWGhW+0nv9Wie7f > gY6r0NAfyGc3Yi7FQvPupi07WMo1hDwnRaWVah3w11JCqVRPZXs3XxKD/KaZO/cN > 0HJ70WDNJWCR1gnQ2fdFIR5grm5Dr6xIJ2rtUbBCRwldi3ZhdcmHVfjMD3o75r0= > =AB63 > -----END PGP SIGNATURE----- > -- 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
