On Fri, Jul 15, 2016 at 10:48 PM, Barry Smith <[email protected]> wrote:
> > > On Jul 14, 2016, at 12:21 PM, domenico lahaye <[email protected]> > wrote: > > > > Dear PETSc team, > > > > 1) I am looking into ks/examples/tutorials/ex42.c > > This example is really written as only a one level solver, making it > work with geometric multigrid is not clean > > > I am still new to the DMDA structure > > and likely not giving it as much time as it deserves. However, I do > not see immediately > > what function is responsible for calling PCMGSetSmoother and > PCMGSetResidual. > > > > I tried to call PCMGGetCoarseSolve(pc, &kcpc) and subsequently > > KSPGetOperators (kspc, ... ) to check how the coarse grid operator > is defined > > after calling DMCoarsenHierarchy, but that failed. > > > > I am solving Helmholtz with shifted Laplace, and managed to exploit > DMDA to perform > > a multigrid solve on the preconditioner. In a next stage I want to > implement the deflation > > using DMDA as well. > > You should look at ex25.c in the same directory. Here > > ierr = KSPSetDM(ksp,da);CHKERRQ(ierr); > ierr = KSPSetComputeRHS(ksp,ComputeRHS,&user);CHKERRQ(ierr); > ierr = KSPSetComputeOperators(ksp,ComputeMatrix,&user);CHKERRQ(ierr); > > make it straight forward to work with multigrid. The KSP object can mange > the hierarchy of grids since it is provided with the DM > and the ComputeRHS and ComputeMatrix provide a way for the multigrid > preconditioner to automatically generate the needed matrix on each level > without you having to manage it yourself. For example the rule in the > makefile > > runex25: > -@${MPIEXEC} -n 1 ./ex25 -pc_type mg -ksp_type fgmres -da_refine 2 > -ksp_monitor_short -mg_levels_ksp_monitor_short -mg_levels_ksp_norm_type > unpreconditioned -ksp_view -pc_mg_type full > ex25_1.tmp 2>&1; \ > if (${DIFF} output/ex25_1.out ex25_1.tmp) then true; \ > else printf "${PWD}\nPossible problem with ex25_1, diffs > above\n=========================================\n"; fi; \ > ${RM} -f ex25_1.tmp > > shows how to run with two levels. etc. > > > > > > 2) On http://www.mcs.anl.gov/petsc/documentation/referencing.html I see > > > > @Misc{petsc-web-page, > > author = {Satish Balay and Shrirang Abhyankar and Mark~F. > Adams and Jed Brown and Peter Brune > > and Kris Buschelman and Lisandro Dalcin and Victor > Eijkhout and William~D. Gropp > > and Dinesh Kaushik and Matthew~G. Knepley > > and Lois Curfman McInnes and Karl Rupp and > Barry~F. Smith > > and Stefano Zampini and Hong Zhang and Hong Zhang}, > > title = {{PETS}c {W}eb page}, > > url = {http://www.mcs.anl.gov/petsc}, > > howpublished = {\url{http://www.mcs.anl.gov/petsc}}, > > year = {2016} > > } > > > > > > > > Is the last author mentioned twice intentionally? > That is actually two different people with the same name. > > 3) On > http://www.mcs.anl.gov/petsc/publications/petscapps-bib.html#OpenFOAM%202.2.1 > I see > > > > @misc{OpenFOAM > > , > > > > > > title = "OpenFOAM", > > > > howpublished = "\url{http://www.openfoam.com}", > > > > url = {http://www.openfoam.com}, > > > > note = "OpenFOAM is a free, open source CFD software package. It > allows PETSc linear algebra and solvers to be used underneath.", > > > > key = "OpenFOAM 2.2.1" > > > > } > > > > > > Do you have more information on the use of PETSc within OpenFoam? > They only use solvers, and not the DM stuff as far as I know. > > 4) @matt in response to a question he raised in Vienna > > > > MIPSE is a BEM solver. Details are on: > > > http://www.g2elab.grenoble-inp.fr/plateforms/mipse-modeling-of-interconnected-power-systems-632862.kjsp?RH=G2ELAB_R-MAGE >From what I can tell, the code is not open source. Is that right? Thanks, Matt > > > Cheers, Domenico Lahaye. > > > > -- 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
