1 #ifndef QNANO_NEW_SLEPC_SOLVER_DEFINED_H_ 2 #define QNANO_NEW_SLEPC_SOLVER_DEFINED_H_ 7 #include "MPI/MPI_Communicator.h" 8 #include "MPI/Distribute_Block_MPI.h" 9 #include "tools/Sparse_Matrix_Generator.h" 10 #include "tools/Abstract_Solver.h" 23 int MPI_rank, MPI_size;
24 struct timeval timestart, timeend;
28 PetscErrorCode solve_ierr();
32 PetscErrorCode assemble_SetValue();
33 PetscErrorCode set_A_size_from_generator();
34 PetscErrorCode set_A_from_generator();
36 PetscErrorCode destroy();
37 PetscErrorCode setup_ierr();
39 virtual bool should_print()
const{
52 virtual double get_eigenvalue(
size_t i);
53 virtual void get_EV_local_part(
size_t i, std::complex<double> *ptr);
59 : sparse_generator(sparse_gen), DIM(0), was_set_up(
false){
62 if(was_set_up) destroy();
Definition: Abstract_Solver.h:8
Definition: Communicator.h:19
Definition: Distribute_Block_MPI.h:8
Definition: SLEPc_Solver.h:12
Definition: Sparse_Matrix_Generator.h:22
Definition: Distribute_Block_Local.h:15
Definition: MPI_Communicator.h:8
virtual Distribute_Block_Local * new_Distribute_Block_Local(size_t totalsize) const
Allocate new structure to parallelize data of size 'totalsize'. May be a sequential Distrubute_Block_...
Definition: SLEPc_Solver.h:42