UnitTests_DMRGBlockContainer.cpp
1 static char help[] =
2  "Test code for DMRGBlockContainer module\n";
3 
4 #include "DMRGBlock.hpp"
5 #include "Hamiltonians.hpp"
6 #include "DMRGBlockContainer.hpp"
7 
8 PETSC_EXTERN PetscErrorCode SetRow(const Mat& A, const PetscInt& row, const std::vector<PetscInt>& idxn);
9 PETSC_EXTERN PetscErrorCode CatchErrorCode(const MPI_Comm& comm, const PetscInt& ierr_in, const PetscInt& ierr_exp);
10 
11 PetscErrorCode Test()
12 {
13  PetscErrorCode ierr = 0;
14 
16 
17  ierr = PetscOptionsSetValue(NULL, "-mwarmup", "20"); CHKERRQ(ierr);
18  ierr = PetscOptionsSetValue(NULL, "-msweeps", "20,30,40"); CHKERRQ(ierr);
19  ierr = PetscOptionsSetValue(NULL, "-maxnsweeps", "3,3,3"); CHKERRQ(ierr);
20 
21  ierr = DMRG.Initialize(); CHKERRQ(ierr);
22  ierr = DMRG.Warmup(); CHKERRQ(ierr);
23  ierr = DMRG.Sweeps(); CHKERRQ(ierr);
24 
25  return ierr;
26 }
27 
28 int main(int argc, char **argv)
29 {
30  PetscErrorCode ierr = 0;
31  PetscMPIInt nprocs, rank;
32  MPI_Comm& comm = PETSC_COMM_WORLD;
33 
34  /* Initialize MPI */
35  ierr = SlepcInitialize(&argc, &argv, (char*)0, help); CHKERRQ(ierr);
36  ierr = MPI_Comm_size(comm, &nprocs); CHKERRQ(ierr);
37  ierr = MPI_Comm_rank(comm, &rank); CHKERRQ(ierr);
38 
39  ierr = Test(); CHKERRQ(ierr);
40 
41  ierr = SlepcFinalize(); CHKERRQ(ierr);
42  return ierr;
43 }
Contains and manipulates the system and environment blocks used in a single DMRG run.
This site was generated by Sphinx using Doxygen with a customized theme from doxygen-bootstrapped.