On Dec 14, 2011, at 9:45 AM, M.Younas wrote: > Dear Barry, > > Does BoomeAMG precondition (one v-cycle) the system after every iteration of > GMRES(m)
It is not "after" every iteration of GMRES it is "as part of each iteration" of preconditioned GMRES. > OR > it precondition the linear system once only and then GMRES(m) iterations > until convergence is reached? > No. You may want to read up on Krylov methods in a numerical analysis book. Barry > Kind regards, Younas > > > On 14-12-11, petsc-users-request at mcs.anl.gov wrote: >> Send petsc-users mailing list submissions to >> petsc-users at mcs.anl.gov >> >> To subscribe or unsubscribe via the World Wide Web, visit >> https://lists.mcs.anl.gov/mailman/listinfo/petsc-users >> or, via email, send a message with subject or body 'help' to >> petsc-users-request at mcs.anl.gov >> >> You can reach the person managing the list at >> petsc-users-owner at mcs.anl.gov >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of petsc-users digest..." >> >> >> Today's Topics: >> >> 1. run successfully on 20 processors but failed on 24 >> processors (Xiangdong Liang) >> 2. Re: run successfully on 20 processors but failed on 24 >> processors (Matthew Knepley) >> 3. Two Questions about Matrix Preallocation (behzad baghapour) >> 4. Multigrid as preconditioner (M.Younas) >> 5. save vector to bin-file at each time step (robert) >> 6. AMG as preconditioner (M.Younas) >> 7. Re: Two Questions about Matrix Preallocation (Barry Smith) >> 8. Re: Multigrid as preconditioner (Barry Smith) >> 9. Re: save vector to bin-file at each time step (Barry Smith) >> 10. Re: save vector to bin-file at each time step (robert) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Tue, 13 Dec 2011 22:49:40 -0500 >> From: Xiangdong Liang <xdliang at gmail.com> >> Subject: [petsc-users] run successfully on 20 processors but failed on >> 24 processors >> To: PETSc users list <petsc-users at mcs.anl.gov> >> Message-ID: >> <CAGzjfYZMW3dY7-PDH8AReAnQRuUVC0W6Jtbfu-ETMTc5JaopcQ at mail.gmail.com> >> Content-Type: text/plain; charset=ISO-8859-1 >> >> Hello everyone, >> >> I am solving complex Ax=b with PaStix on 20 processors successfully >> but failed on 24 processors. The relatively error indicated by >> mat_pastix_verbose becomes "nan" for 24 processors. Where could be >> wrong? Can someone give me some hints on how I can debug? Thanks. >> >> Xiangdong >> >> >> ------------------------------ >> >> Message: 2 >> Date: Tue, 13 Dec 2011 22:59:09 -0600 >> From: Matthew Knepley <knepley at gmail.com> >> Subject: Re: [petsc-users] run successfully on 20 processors but >> failed on 24 processors >> To: PETSc users list <petsc-users at mcs.anl.gov> >> Message-ID: >> <CAMYG4Gm_fnVMEpks_wt07_fg8PF3q-oCNAzw4U1G48JTJVwvPA at mail.gmail.com> >> Content-Type: text/plain; charset="iso-8859-1" >> >> On Tue, Dec 13, 2011 at 9:49 PM, Xiangdong Liang <xdliang at gmail.com> >> wrote: >> >> > Hello everyone, >> > >> > I am solving complex Ax=b with PaStix on 20 processors successfully >> > but failed on 24 processors. The relatively error indicated by >> > mat_pastix_verbose becomes "nan" for 24 processors. Where could be >> > wrong? Can someone give me some hints on how I can debug? Thanks. >> >> >> First, make sure you did not put any NaNs in your matrix or rhs. >> >> Matt >> >> >> > >> > Xiangdong >> >> -- >> 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 >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111213/339c4743/attachment-0001.htm> >> >> ------------------------------ >> >> Message: 3 >> Date: Wed, 14 Dec 2011 11:32:48 +0330 >> From: behzad baghapour <behzad.baghapour at gmail.com> >> Subject: [petsc-users] Two Questions about Matrix Preallocation >> To: PETSc users list <petsc-users at mcs.anl.gov> >> Message-ID: >> <CA+jOtDLYQy-2Xt8UsvNdnZySbqNBQTwyFi5vrp39=6j9hagD0Q at mail.gmail.com> >> Content-Type: text/plain; charset="iso-8859-1" >> >> Dear Developers, >> >> I am facing with two questions about Block-Sparse Preallocation: >> >> 1- I set array "nnz[]" and did: >> >> MatSetType ( JAC, MATSEQBAIJ ); >> MatSetSizes( JAC, PETSC_DECIDE, PETSC_DECIDE, nt, nt ); >> MatSeqAIJSetPreallocation( JAC, 0, nnz ); >> >> but when I saw log file with -info -mat_view_info, I found this message: >> >> [0] MatSetUpPreallocation(): Warning not preallocating matrix storage >> >> What this means? Did I correctly preallocate the matrix? >> >> 2- I need to test MatSeqBAIJSetPreallocation() too but I little confused >> with descriptions of the command in man-page: >> >> what are "nz" and "nnz[]" in this case? >> >> what about number of blocks per row? >> >> Thanks bothering too much :-) >> BehZad >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111214/abec449b/attachment-0001.htm> >> >> ------------------------------ >> >> Message: 4 >> Date: Wed, 14 Dec 2011 14:07:10 +0100 >> From: "M.Younas" <m.younas at rug.nl> >> Subject: [petsc-users] Multigrid as preconditioner >> To: petsc-users at mcs.anl.gov >> Message-ID: <73f0f8e5cc491.4ee8ad8e at rug.nl> >> Content-Type: text/plain; charset="iso-8859-1" >> >> ?Hi, PETSc, Team, >> >> I have solved a non-symmetric Poisson problem using GMRES(m) as solver and >> BoomerAMG (from Hypre) as preconditioner. But I don't understand how the >> BoomerAMG works as preconditioner with GMRES(m). Can anyone explain the >> procedure? Does it work like BoomerAMG precondition the liner system first >> (once only) and then GMRES(m) is being used for stopping criterion? >> >> Kind regards, >> >> Younas >> >> RUG, Groningen, The Netherlands. >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111214/684a66f7/attachment-0001.htm> >> >> ------------------------------ >> >> Message: 5 >> Date: Wed, 14 Dec 2011 15:00:03 +0100 >> From: robert <robert.bodner at unil.ch> >> Subject: [petsc-users] save vector to bin-file at each time step >> To: petsc-users at mcs.anl.gov >> Message-ID: <4EE8ABE3.5050108 at unil.ch> >> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed" >> >> Hello, >> >> I am quite new to petsc and therefore my question might be quite trivial. >> >> I have a 1D finite difference code and want to store several vectors in >> a binary: >> >> ierr = PetscViewerCreate(PETSC_COMM_WORLD,&viewer);CHKERRQ(ierr); >> ierr = >> PetscViewerBinaryOpen(PETSC_COMM_WORLD,"out.bin",FILE_MODE_APPEND,&viewer); >> CHKERRQ(ierr); >> ierr = PetscObjectSetName((PetscObject)u,"u");CHKERRQ(ierr); >> ierr = PetscObjectSetName((PetscObject)rhs,"rhs");CHKERRQ(ierr); >> ierr = VecView(u,viewer); CHKERRQ(ierr); >> ierr = VecView(rhs,viewer);CHKERRQ(ierr); >> >> However, when I read the file with matlab (PetscBinaryRead.m) I only get >> the first vector. >> >> In further application I would like to use something similar but putting >> out the solution vector every timestep. >> >> Could someone just provide me some sample code? >> >> Thanks, >> Robert >> >> >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111214/5a31167d/attachment-0001.htm> >> >> ------------------------------ >> >> Message: 6 >> Date: Wed, 14 Dec 2011 15:04:47 +0100 >> From: "M.Younas" <m.younas at rug.nl> >> Subject: [petsc-users] AMG as preconditioner >> To: petsc-users at mcs.anl.gov >> Message-ID: <7420f1bdca4d2.4ee8bb0f at rug.nl> >> Content-Type: text/plain; charset="iso-8859-1" >> >> ?Hi, PETSc, Team, >> >> I have >> solved a non-symmetric Poisson problem using GMRES(m) as solver and >> BoomerAMG (from Hypre) as preconditioner. But I don't understand how the >> BoomerAMG works as preconditioner with GMRES(m). Can anyone explain the >> procedure? Does it work like BoomerAMG precondition the liner system >> first (once only) and then GMRES(m) is being used for stopping >> criterion? >> >> Kind regards, >> >> Younas >> >> RUG, Groningen, The Netherlands. >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111214/70b57dea/attachment-0001.htm> >> >> ------------------------------ >> >> Message: 7 >> Date: Wed, 14 Dec 2011 08:22:33 -0600 >> From: Barry Smith <bsmith at mcs.anl.gov> >> Subject: Re: [petsc-users] Two Questions about Matrix Preallocation >> To: PETSc users list <petsc-users at mcs.anl.gov>, behzad baghapour >> <behzad.baghapour at gmail.com> >> Message-ID: <CF31FC30-6E95-4F0E-AA13-6D7260172041 at mcs.anl.gov> >> Content-Type: text/plain; charset=us-ascii >> >> >> On Dec 14, 2011, at 2:02 AM, behzad baghapour wrote: >> >> > Dear Developers, >> > >> > I am facing with two questions about Block-Sparse Preallocation: >> > >> > 1- I set array "nnz[]" and did: >> > >> > MatSetType ( JAC, MATSEQBAIJ ); >> > MatSetSizes( JAC, PETSC_DECIDE, PETSC_DECIDE, nt, nt ); >> > MatSeqAIJSetPreallocation( JAC, 0, nnz ); >> > >> > but when I saw log file with -info -mat_view_info, I found this message: >> > >> > [0] MatSetUpPreallocation(): Warning not preallocating matrix storage >> >> Since you are using BAIJ matrix type you need to also call >> MatSeqBAIJSetPreallocation() >> >> > >> > What this means? Did I correctly preallocate the matrix? >> > >> > 2- I need to test MatSeqBAIJSetPreallocation() too but I little confused >> > with descriptions of the command in man-page: >> > >> > what are "nz" and "nnz[]" in this case? >> > >> > what about number of blocks per row? >> >> nz is the maximum number of blocks per row, just like with other matrix >> formats or you can set nnz[] which for each row is the number of blocks from >> the diagonal block to the end of the row. For example with a block size of >> one the matrix >> >> 1 0 2 >> 0 3 4 >> 2 4 5 >> >> would have a nnz[] = 2,2,1 >> >> Barry >> >> > >> > Thanks bothering too much :-) >> > BehZad >> > >> >> >> >> ------------------------------ >> >> Message: 8 >> Date: Wed, 14 Dec 2011 08:26:27 -0600 >> From: Barry Smith <bsmith at mcs.anl.gov> >> Subject: Re: [petsc-users] Multigrid as preconditioner >> To: PETSc users list <petsc-users at mcs.anl.gov> >> Message-ID: <2770E217-0CC1-4E85-AB40-35B00F705D53 at mcs.anl.gov> >> Content-Type: text/plain; charset=us-ascii >> >> >> On Dec 14, 2011, at 7:07 AM, M.Younas wrote: >> >> > Hi, PETSc, Team, >> > >> > I have solved a non-symmetric Poisson problem using GMRES(m) as solver and >> > BoomerAMG (from Hypre) as preconditioner. But I don't understand how the >> > BoomerAMG works as preconditioner with GMRES(m). Can anyone explain the >> > procedure? Does it work like BoomerAMG precondition the liner system first >> > (once only) and then GMRES(m) is being used for stopping criterion? >> >> By default PETSc uses ONE v-cycle of the BoomerAMG as a preconditioner >> for GMRES. >> >> With the option -ksp_type richardson then PETSc is using a bunch of >> BoomerAMG v-cycles until the convergence criteria is satisfied without using >> a GMRES >> >> Barry >> >> Note that a preconditioner can be any stationary linear iterative scheme. >> That is any linear operation that approximately solves A x = b, no matter >> how complicated the stationary linear iterative scheme is it can be used as >> a preconditioner. >> >> >> > >> > Kind regards, >> > >> > Younas >> > >> > RUG, Groningen, The Netherlands. >> >> >> >> ------------------------------ >> >> Message: 9 >> Date: Wed, 14 Dec 2011 08:32:58 -0600 >> From: Barry Smith <bsmith at mcs.anl.gov> >> Subject: Re: [petsc-users] save vector to bin-file at each time step >> To: PETSc users list <petsc-users at mcs.anl.gov> >> Message-ID: <76717B20-13EF-4FD2-BF50-CC12E9E87842 at mcs.anl.gov> >> Content-Type: text/plain; charset=us-ascii >> >> >> On Dec 14, 2011, at 8:00 AM, robert wrote: >> >> > Hello, >> > >> > I am quite new to petsc and therefore my question might be quite trivial. >> > >> > I have a 1D finite difference code and want to store several vectors in a >> > binary: >> > >> > ierr = PetscViewerCreate(PETSC_COMM_WORLD,&viewer);CHKERRQ(ierr); >> > ierr = >> > PetscViewerBinaryOpen(PETSC_COMM_WORLD,"out.bin",FILE_MODE_APPEND,&viewer); >> > CHKERRQ(ierr); >> > ierr = PetscObjectSetName((PetscObject)u,"u");CHKERRQ(ierr); >> > ierr = PetscObjectSetName((PetscObject)rhs,"rhs");CHKERRQ(ierr); >> > ierr = VecView(u,viewer); CHKERRQ(ierr); >> > ierr = VecView(rhs,viewer);CHKERRQ(ierr); >> > >> > However, when I read the file with matlab (PetscBinaryRead.m) I only get >> > the first vector. >> >> 1) Did you call PetscViewerDestroy() before the end of the program? If >> not called all the data may not be flushed into the file. >> >> 2) How are you reading the vectors into Matlab? For example [u,rhs] = >> PetscBinaryRead('filename') will read in two vectors. If you want to call >> PetscBinaryRead() repeatedly to read more information than read the help for >> PetscBinaryRead() carefully, you cannot simply call u = >> PetscBinaryRead('filename'); rhs = PetscBinaryRead('filename') and hope to >> get the second vector >> >> For example: fd = PetscOpenFile('filename'); >> u = PetscBinaryRead(fd); % get first vector >> rhs = PetscBinaryRead(fd); % get second vector >> >> Barry >> >> >> > >> > In further application I would like to use something similar but putting >> > out the solution vector every timestep. >> > >> > Could someone just provide me some sample code? >> > >> > Thanks, >> > Robert >> > >> > >> >> >> >> ------------------------------ >> >> Message: 10 >> Date: Wed, 14 Dec 2011 15:44:39 +0100 >> From: robert <robert.bodner at unil.ch> >> Subject: Re: [petsc-users] save vector to bin-file at each time step >> To: PETSc users list <petsc-users at mcs.anl.gov> >> Message-ID: <4EE8B657.4090506 at unil.ch> >> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >> >> On 12/14/2011 03:32 PM, Barry Smith wrote: >> > On Dec 14, 2011, at 8:00 AM, robert wrote: >> > >> >> Hello, >> >> >> >> I am quite new to petsc and therefore my question might be quite trivial. >> >> >> >> I have a 1D finite difference code and want to store several vectors in a >> >> binary: >> >> >> >> ierr = PetscViewerCreate(PETSC_COMM_WORLD,&viewer);CHKERRQ(ierr); >> >> ierr = >> >> PetscViewerBinaryOpen(PETSC_COMM_WORLD,"out.bin",FILE_MODE_APPEND,&viewer); >> >> CHKERRQ(ierr); >> >> ierr = PetscObjectSetName((PetscObject)u,"u");CHKERRQ(ierr); >> >> ierr = PetscObjectSetName((PetscObject)rhs,"rhs");CHKERRQ(ierr); >> >> ierr = VecView(u,viewer); CHKERRQ(ierr); >> >> ierr = VecView(rhs,viewer);CHKERRQ(ierr); >> >> >> >> However, when I read the file with matlab (PetscBinaryRead.m) I only get >> >> the first vector. >> >> >> >> >> >> 2) How are you reading the vectors into Matlab? For example [u,rhs] >> >> = PetscBinaryRead('filename') will read in two vectors. If you want to >> >> call PetscBinaryRead() repeatedly to read more information than ... >> >> Hi, >> >> thank you for your fast reply. It's as easy as that and I spent hours >> ... :-) >> >> >> >> >> >> In further application I would like to use something similar but putting >> >> out the solution vector every timestep. >> >> >> >> Could someone just provide me some sample code? >> >> >> >> Thanks, >> >> Robert >> >> >> >> >> > >> >> >> >> ------------------------------ >> >> _______________________________________________ >> petsc-users mailing list >> petsc-users at mcs.anl.gov >> https://lists.mcs.anl.gov/mailman/listinfo/petsc-users >> >> >> End of petsc-users Digest, Vol 36, Issue 50 >> *******************************************