16 #ifndef dealii_petsc_solver_h 17 # define dealii_petsc_solver_h 22 # ifdef DEAL_II_WITH_PETSC 27 # include <petscksp.h> 31 # ifdef DEAL_II_WITH_SLEPC 39 # ifdef DEAL_II_WITH_SLEPC 43 class TransformationBase;
54 class PreconditionerBase;
159 set_prefix(
const std::string &prefix);
194 set_solver_type(KSP &ksp)
const = 0;
211 static PetscErrorCode
212 convergence_test(KSP ksp,
213 const PetscInt iteration,
214 const PetscReal residual_norm,
215 KSPConvergedReason *reason,
216 void * solver_control);
254 # ifdef DEAL_II_WITH_SLEPC 306 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
320 set_solver_type(KSP &ksp)
const override;
358 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
372 set_solver_type(KSP &ksp)
const override;
409 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
423 set_solver_type(KSP &ksp)
const override;
460 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
474 set_solver_type(KSP &ksp)
const override;
498 const bool right_preconditioning =
false);
528 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
542 set_solver_type(KSP &ksp)
const override;
580 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
594 set_solver_type(KSP &ksp)
const override;
630 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
644 set_solver_type(KSP &ksp)
const override;
681 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
695 set_solver_type(KSP &ksp)
const override;
737 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
751 set_solver_type(KSP &ksp)
const override;
788 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
802 set_solver_type(KSP &ksp)
const override;
840 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
854 set_solver_type(KSP &ksp)
const override;
896 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
910 set_solver_type(KSP &ksp)
const override;
949 const MPI_Comm & mpi_communicator = PETSC_COMM_SELF,
964 set_symmetric_mode(
const bool flag);
973 set_solver_type(KSP &ksp)
const override;
982 static PetscErrorCode
983 convergence_test(KSP ksp,
984 const PetscInt iteration,
985 const PetscReal residual_norm,
986 KSPConvergedReason *reason,
987 void * solver_control);
1017 # endif // DEAL_II_WITH_PETSC
PETScWrappers::SolverGMRES SolverGMRES
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
const AdditionalData additional_data
std::unique_ptr< SolverDataMUMPS > solver_data
const MPI_Comm mpi_communicator
std::unique_ptr< SolverData > solver_data
bool right_preconditioning
const AdditionalData additional_data
#define DEAL_II_NAMESPACE_CLOSE
SolverControl & solver_control
const AdditionalData additional_data
SymmetricTensor< 2, dim, Number > b(const Tensor< 2, dim, Number > &F)
const AdditionalData additional_data
const AdditionalData additional_data
PETScWrappers::SolverCG SolverCG
#define DEAL_II_NAMESPACE_OPEN
const AdditionalData additional_data
const AdditionalData additional_data
unsigned int restart_parameter
const AdditionalData additional_data