Skip to content

Geometric multigrid with Galerkin triple product #4234

Answered by v-dobrev
nilsfriess asked this question in Q&A
Discussion options

You must be logged in to vote

ParFiniteElementSpace::GetProlongationMatrix() is the wrong prolongation matrix. The prolongation you want is FiniteElementSpaceHierarchy::GetProlongationAtLevel(int level). However, this is a matrix-free version and it is not easy to convert to a PetscParMatrix. To get the prolongation matrix as a HypreParMatrix, you can use the method ParFiniteElementSpace::GetTrueTransferOperator where you need to set the type of the second argument to Operator::Hypre_ParCSR, e.g. something like this:

   for (int l = fespaces.GetFinestLevelIndex(); l > 0; --l)
   {
      OperatorHandle P(Operator::Hypre_ParCSR);
      fespaces.GetFESpaceAtLevel(l).GetTrueTransferOperator(fespaces.GetFESpaceAtLevel(l-1)…

Replies: 1 comment 6 replies

Comment options

You must be logged in to vote
6 replies
@v-dobrev
Comment options

@nilsfriess
Comment options

@nilsfriess
Comment options

@v-dobrev
Comment options

Answer selected by nilsfriess
@nilsfriess
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants