[cig-commits] [commit] rajesh-petsc-schur: added global_p_norm2 to print_convergence_report in PETSc_Schur (8ea885b)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Wed Nov 5 19:04:33 PST 2014
Repository : https://github.com/geodynamics/citcoms
On branch : rajesh-petsc-schur
Link : https://github.com/geodynamics/citcoms/compare/464e1b32299b15819f93efd98d969cddb84dfe51...f97ae655a50bdbd6dac1923a3471ee4dae178fbd
>---------------------------------------------------------------
commit 8ea885bd544d6b7669f90b84c528df25c4be212f
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date: Thu Sep 11 14:39:41 2014 -0700
added global_p_norm2 to print_convergence_report in PETSc_Schur
>---------------------------------------------------------------
8ea885bd544d6b7669f90b84c528df25c4be212f
lib/Stokes_flow_Incomp.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/lib/Stokes_flow_Incomp.c b/lib/Stokes_flow_Incomp.c
index fbdf936..f78c449 100644
--- a/lib/Stokes_flow_Incomp.c
+++ b/lib/Stokes_flow_Incomp.c
@@ -308,6 +308,7 @@ static PetscErrorCode solve_Ahat_p_fhat_PETSc_Schur(struct All_variables *E,
ierr = MatSchurComplementGetKSP(S, &inner_ksp); 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 */
@@ -316,24 +317,27 @@ static PetscErrorCode solve_Ahat_p_fhat_PETSc_Schur(struct All_variables *E,
for( i = 0; i < neq; i++ )
V[1][i] = V_data[i];
ierr = VecRestoreArray( VVec, &V_data ); CHKERRQ( ierr );
+ //velocities_conform_bcs( E, VVec, lev );
ierr = VecGetArray( PVec, &P_data ); CHKERRQ( ierr );
for( i = 0; i < nel; i++ )
P[1][i] = P_data[i];
ierr = VecRestoreArray( PVec, &P_data ); CHKERRQ( ierr );
- /*---------------------------------------------------------------------*/
- /* output v_norm values; all other values are currently not meaningful */
- /*---------------------------------------------------------------------*/
+
+
+ /*---------------------------------------------------------------------------------------*/
+ /* output v_norm and p_norm values; dvelocity and dpressure are currently not meaningful */
+ /*---------------------------------------------------------------------------------------*/
E->monitor.vdotv = global_v_norm2(E, V);
+ E->monitor.pdotp = global_p_norm2(E, P);
double v_norm = sqrt(E->monitor.vdotv);
double p_norm = sqrt(E->monitor.pdotp);
double dvelocity = 1.0;
double dpressure = 1.0;
int converging = 0;
if (E->control.print_convergence && E->parallel.me==0) {
- print_convergence_progress(E, count, time0, v_norm, p_norm,
- dvelocity, dpressure, 1.0);
+ print_convergence_progress(E, count, time0, v_norm, p_norm, dvelocity, dpressure, 1.0);
}
PetscFunctionReturn(0);
More information about the CIG-COMMITS
mailing list