[cig-commits] [commit] rajesh-petsc-schur: working version of solve_Ahat_p_fhat_PETSc_Schur (3865370)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Nov 5 19:04:41 PST 2014
Repository : https://github.com/geodynamics/citcoms
On branch : rajesh-petsc-schur
Link : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd
>---------------------------------------------------------------
commit 3865370f8d4d993496b38296ce7988a4d75403d8
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date: Fri Sep 12 14:00:16 2014 -0700
working version of solve_Ahat_p_fhat_PETSc_Schur
>---------------------------------------------------------------
3865370f8d4d993496b38296ce7988a4d75403d8
lib/Stokes_flow_Incomp.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/lib/Stokes_flow_Incomp.c b/lib/Stokes_flow_Incomp.c
index cb6cfe2..f291106 100644
--- a/lib/Stokes_flow_Incomp.c
+++ b/lib/Stokes_flow_Incomp.c
@@ -292,7 +292,7 @@ static PetscErrorCode solve_Ahat_p_fhat_PETSc_Schur(struct All_variables *E,
//ierr = KSPGetPC(S_ksp, &S_pc); CHKERRQ(ierr);
ierr = KSPSetType(S_ksp, "cg"); CHKERRQ(ierr);
//ierr = PCSetType(S_pc, "none"); CHKERRQ(ierr);
- //ierr = KSPSetInitialGuessNonzero(S_ksp, PETSC_FALSE); CHKERRQ(ierr);
+ ierr = KSPSetInitialGuessNonzero(S_ksp, PETSC_TRUE); CHKERRQ(ierr);
/*--------------------*/
/* Solve for pressure */
@@ -304,11 +304,10 @@ static PetscErrorCode solve_Ahat_p_fhat_PETSc_Schur(struct All_variables *E,
/*--------------------*/
ierr = MatGetVecs(E->K, PETSC_NULL, &fstar); CHKERRQ(ierr);
ierr = MatMult(E->G, PVec, fstar); CHKERRQ(ierr);
- ierr = VecAYPX(fstar, -1.0, FF); CHKERRQ(ierr);
+ ierr = VecAYPX(fstar, 1.0, FF); CHKERRQ(ierr);
ierr = MatSchurComplementGetKSP(S, &inner_ksp); CHKERRQ(ierr);
- //ierr = KSPSetInitialGuessNonzero(inner_ksp, PETSC_FALSE); CHKERRQ(ierr);
+ ierr = KSPSetInitialGuessNonzero(inner_ksp, PETSC_TRUE); CHKERRQ(ierr);
ierr = KSPSolve(inner_ksp, fstar, VVec); CHKERRQ(ierr);
- //strip_bcs_from_residual_PETSc( E, VVec, lev );
/*-----------------------------------------------*/
/* copy the values of VVec and PVec into V and P */
More information about the CIG-COMMITS
mailing list