From: subramanya s. <po...@ou...> - 2013-11-21 19:32:32
|
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 |
From: Dmitry K. <ka...@mc...> - 2013-11-26 19:08:45
|
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 |
From: Subramanya S. <po...@ou...> - 2013-11-26 19:56:13
|
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 |
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 > > > |
From: Subramanya S. <po...@ou...> - 2013-11-26 21:01:34
|
Hi Dmitry, I was under the impression that I needed to use the DM to use the VI solver. Is that not the case? Thanks, Subramanya. On Nov 26, 2013, at 3:17 PM, Dmitry Karpeyev <ka...@mc...> wrote: > 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 > > > > |
From: Dmitry K. <ka...@mc...> - 2013-11-26 21:04:45
|
Ah, that might still be true, although that ought to be changed. In any event, you can use the DM to set the bounds for the VI, and set up PCFieldSplit as I explained in the previous email. Let me know if this works for you. Cheers, Dmitry. On Tue, Nov 26, 2013 at 3:01 PM, Subramanya Sadasiva <po...@ou...>wrote: > Hi Dmitry, > I was under the impression that I needed to use the DM to use the VI > solver. Is that not the case? > Thanks, > Subramanya. > > On Nov 26, 2013, at 3:17 PM, Dmitry Karpeyev <ka...@mc...> wrote: > > 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 >> >> >> > > > > |
From: Subramanya S. <po...@ou...> - 2013-11-26 21:09:27
|
Hi Dmitry, Thanks very much. I will try if that works. Subramanya On Nov 26, 2013, at 4:03 PM, Dmitry Karpeyev <ka...@mc...> wrote: > Ah, that might still be true, although that ought to be changed. > In any event, you can use the DM to set the bounds for the VI, > and set up PCFieldSplit as I explained in the previous email. > > Let me know if this works for you. > Cheers, > Dmitry. > > > On Tue, Nov 26, 2013 at 3:01 PM, Subramanya Sadasiva <po...@ou...> wrote: > Hi Dmitry, > I was under the impression that I needed to use the DM to use the VI solver. Is that not the case? > Thanks, > Subramanya. > > On Nov 26, 2013, at 3:17 PM, Dmitry Karpeyev <ka...@mc...> wrote: > >> 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 >> >> >> >> > > > > |