From: Dmitry K. <ka...@mc...> - 2013-11-26 20:18:21
|
I assume you are referring to using the Schur-complement flavor of PCFieldSplit? How many variables do you have? Are they all C0? Is the basis nodal? If so, you don't necessarily need DMlibMesh: Assume you have m P1 variables (maybe m==2?). You can lay your degrees of freedom in the variable-major order (by this I mean having contiguous nodal coefficients corresponding to a given node -- maybe that's called 'node-major':-). Then use these options: -pc_type fieldsplit -pc_fieldsplit_block_size m -pc_fieldsplit_0_fields 0 -pc_fieldsplit_1_fields 1\ -pc_fieldsplit_type schur -pc_fieldsplit_schur_factorization_type full This will put the 0-th (in the zero-base C-speak) variable into the 0-th split, and the first variable in the first split. You can also permute the column blocks, if necessary, or put more variables into each split. You might try -pc_fieldsplit_schur_factorization_type upper or lower. The crucial part, however, is to have a good preconditioner for S, which in the terminology of the notes you sent is S = D - C inv(A) B. By default PETSc will use D as the preconditioner for S. That may or may not be good enough. Otherwise you will need to assemble a preconditioner for S, things will get more hairy, and we might need to put more support for that into libMesh. Hope this helps. Dmitry. On Tue, Nov 26, 2013 at 1:56 PM, Subramanya Sadasiva <po...@ou...>wrote: > > Hi Dmitry, > I am using the DM solver to solve a Cahn Hilliard equation using a C0 > discretization. I would like to use the preconditioner used in > > > http://www.mcs.anl.gov/~anitescu/Presentations/2011/anitescu-2011-SIAM-CSE-DVI.pdf > > > I have been able to use the PETSC-DM solver with the VI solver to solve > the Cahn Hilliard equation, but I haven’t been able to get a field-split > preconditioner to work. > > Thanks, > Subramanya > > > On Nov 26, 2013, at 2:07 PM, Dmitry Karpeyev <ka...@mc...> wrote: > > DMlibMesh should work, but it's in need of an overhaul and simplification. > Could you tell me how you intend to use it? That way we can figure out > what needs to be done to make it usable. > Thanks. > Dmitry. > > > On Thu, Nov 21, 2013 at 1:32 PM, subramanya sadasiva <po...@ou...>wrote: > >> Hi , I want to use petsc fieldsplit preconditioners with the petsc-dm >> solver that has been implemented as part of libmesh. The last time I tried >> it, I had trouble because dmcreatefielddecomposition was not being called. >> Is there someone that could guide me with trying to correct this in >> libmesh? Thanks, Subramanya >> >> ------------------------------------------------------------------------------ >> Shape the Mobile Experience: Free Subscription >> Software experts and developers: Be at the forefront of tech innovation. >> Intel(R) Software Adrenaline delivers strategic insight and game-changing >> conversations that shape the rapidly evolving mobile landscape. Sign up >> now. >> >> http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk >> _______________________________________________ >> Libmesh-users mailing list >> Lib...@li... >> https://lists.sourceforge.net/lists/listinfo/libmesh-users >> > > > > -- > Dmitry Karpeev > Mathematics and Computer Science > Argonne National Laboratory > Argonne, Illinois, USA > and > Computation Institute > University of Chicago > 5735 S. Ellis Avenue > Chicago, IL 60637 > ----------------------- > Phone: 630-252-1229 > Fax: 630-252-5986 > > > |