Skip to content

Conversation

quangx
Copy link
Contributor

@quangx quangx commented Oct 11, 2025

The purpose of restructuring the code is to use the same preconditioner class for AMG and GMG. Moving the InverseVelocityBlock to a header file and adding template arguments for vector/matrix should help with achieving that.

@tjhei
Copy link
Member

tjhei commented Oct 13, 2025

is this ready to go, @quangx ?

Comment on lines 33 to 34
* This operator can either just apply the preconditioner (AMG)
* or perform an inner CG solve with the same preconditioner.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* This operator can either just apply the preconditioner (AMG)
* or perform an inner CG solve with the same preconditioner.
* This operator can either just apply the preconditioner
* or perform an inner CG / BiCGStab solve with the same preconditioner.

Comment on lines 44 to 48
* @param do_solve_A A flag indicating whether we should actually solve with
* the matrix $A$, or only apply one preconditioner step with it.
* @param A_block_is_symmetric A flag indicating whether the matrix $A$ is symmetric.
* @param A_block_tolerance The tolerance for the CG solver which computes
* the inverse of the A block.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please update these comments

* @param do_solve_A A flag indicating whether we should actually solve with
* the matrix $A$, or only apply one preconditioner step with it.
* @param A_block_is_symmetric A flag indicating whether the matrix $A$ is symmetric.
* @param A_block_tolerance The tolerance for the CG solver which computes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* @param A_block_tolerance The tolerance for the CG solver which computes
* @param solver_tolerance The tolerance for the CG solver which computes

@quangx quangx force-pushed the gmg_preconditioner branch from c893790 to 0a35ab6 Compare October 13, 2025 21:52
@quangx quangx changed the title Move InversseVelocityBlock to a header file for block Stokes preconditioning and add template arguments for vector/matrix type.[WIP]. Move InversseVelocityBlock to a header file for block Stokes preconditioning and add template arguments for vector/matrix type. Oct 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants