11 #ifndef _PETSCAMRSOLVERSOLVER_H_ 12 #define _PETSCAMRSOLVERSOLVER_H_ 14 #include "PetscCompGridVTO.H" 19 #include "petscviewer.h" 22 #include "NamespaceHeader.H" 28 static PetscErrorCode ksp_monitor_pout(KSP ksp, PetscInt it, PetscReal rnorm ,
void *ctx)
30 pout() <<
" KSP:: iteration = " << it <<
" residual norm = " << rnorm << std::endl;
44 virtual PetscErrorCode
solve_mfree( Vector<LevelData<FArrayBox>*>& a_phi,
45 const Vector<LevelData<FArrayBox>*>& a_rhs,
48 virtual PetscErrorCode
solve( Vector<LevelData<FArrayBox>*>& a_phi,
49 const Vector<LevelData<FArrayBox>*>& a_rhs );
51 static PetscErrorCode
apply_mfree(Mat A, Vec x, Vec f);
53 void plot(
const string,
const Vector<LevelData<FArrayBox>*>& a_phi);
54 PetscErrorCode
setCoords(KSP,
const Vector<LevelData<FArrayBox>*>& a_phi);
64 #include "NamespaceFooter.H" void plot(const string, const Vector< LevelData< FArrayBox > *> &a_phi)
Definition: PetscAMRSolver.cpp:189
virtual PetscErrorCode solve(Vector< LevelData< FArrayBox > *> &a_phi, const Vector< LevelData< FArrayBox > *> &a_rhs)
Definition: PetscAMRSolver.cpp:127
PetscCompGridVTO m_petscCompMat
Definition: PetscAMRSolver.H:60
LinearizedVTOp * m_op_mfree
Definition: PetscAMRSolver.H:56
PetscAMRSolver(int a_verb=0)
Definition: PetscAMRSolver.cpp:18
Definition: JFNKSolver.H:43
Vector< LevelData< FArrayBox > * > m_Lphi_mfree
Definition: PetscAMRSolver.H:58
bool m_mfree_homogeneous
Definition: PetscAMRSolver.H:59
Definition: PetscAMRSolver.H:26
virtual ~PetscAMRSolver()
Definition: PetscAMRSolver.H:37
virtual PetscErrorCode solve_mfree(Vector< LevelData< FArrayBox > *> &a_phi, const Vector< LevelData< FArrayBox > *> &a_rhs, LinearizedVTOp *a_op)
Definition: PetscAMRSolver.cpp:41
PetscErrorCode setCoords(KSP, const Vector< LevelData< FArrayBox > *> &a_phi)
Definition: PetscAMRSolver.cpp:221
static PetscErrorCode apply_mfree(Mat A, Vec x, Vec f)
Definition: PetscAMRSolver.cpp:24
int m_verbose
Definition: PetscAMRSolver.H:61
Vector< LevelData< FArrayBox > * > m_phi_mfree
Definition: PetscAMRSolver.H:57