diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index 1893702..01cb9f9 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -29,11 +29,14 @@ progress_benchmark(dmconstruction dmconstruction/dmconstruction.F90) progress_benchmark(dmconstruction3d dmconstruction3d/dmconstruction3d.F90) +progress_benchmark(dmconstruction_bio dmconstruction3d/dmconstruction_bio.F90 + dmconstruction_graphBased/aux_mod.F90) + progress_benchmark(dmconstruction_gp dmconstruction_graphBased/dmconstruction_graphBased.F90) progress_benchmark(dmconstruction_gpbio dmconstruction_graphBased/dmconstruction_graphBased_bio.F90 dmconstruction_graphBased/aux_mod.F90) SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}) -install(TARGETS dmconstruction +install(TARGETS dmconstruction dmconstruction_bio DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) diff --git a/benchmarks/dmconstruction3d/dmconstruction_bio.F90 b/benchmarks/dmconstruction3d/dmconstruction_bio.F90 new file mode 100644 index 0000000..eee23bf --- /dev/null +++ b/benchmarks/dmconstruction3d/dmconstruction_bio.F90 @@ -0,0 +1,151 @@ +!> Graph-based aproach driver. +!! +program biosolve + + use bml + use aux_mod + use prg_sp2_mod + + !PROGRESS lib modes + use prg_modelham_mod + use prg_system_mod + use prg_timer_mod + use prg_extras_mod + use prg_parallel_mod + use prg_progress_mod + use prg_densitymatrix_mod + use ham_latte_mod + use tbparams_latte_mod + use ppot_latte_mod + use prg_ptable_mod + use prg_genz_mod + use prg_nonortho_mod + + integer, parameter :: dp = kind(1.0d0) + character(2), allocatable :: TypeA(:,:), TypeB(:,:) + character(3), allocatable :: intKind(:) + integer :: myRank, nel, norbs, nnz + integer, allocatable :: hindex(:,:) + real(dp) :: bndfil, ef, mlssp2, mlsi + real(dp) :: mlsdiag, sparsity, threshold + real(dp), allocatable :: onsitesH(:,:), onsitesS(:,:), origin(:), trace(:) + type(bioham_type) :: bioham + type(bml_matrix_t) :: aux_bml, ham_bml, oham_bml + type(bml_matrix_t) :: over_bml, rho_bml + type(intpairs_type), allocatable :: intPairsH(:,:), intPairsS(:,:) + type(ppot_type), allocatable :: ppot(:,:) + type(system_type) :: sy, syf + type(tbparams_type) :: tb + real(dp) :: tol + real(dp), allocatable :: eigenvalues(:) + + call prg_progress_init() + myRank = getMyRank() + 1 + + ! Parsing input file + call prg_parse_bioham(bioham,"input.in") !Reads the input for modelham + + ! Reading the system + call prg_parse_system(sy,"prot.pdb") + + call prg_replicate_system(sy,syf,bioham%replicatex,bioham%replicatey,bioham%replicatez) + call prg_destroy_system(sy) + + ! Center sytem inside the box and fold it by the lattice_vectors. + allocate(origin(3)); origin = 0.0_dp + call prg_translateandfoldtobox(syf%coordinate,syf%lattice_vector,origin) + + call prg_write_system(syf,"protf.pdb") + + ! Constructing the Hamiltonian + call load_latteTBparams(tb,syf%splist,bioham%parampath) + + ! Get the mapping of the Hamiltonian index with the atom index + allocate(hindex(2,syf%nats)) + + + ! Bond integrals parameters for LATTE Hamiltonian. + call load_bintTBparamsH(syf%splist,tb%onsite_energ,& + typeA,typeB,intKind,onsitesH,onsitesS,intPairsH,intPairsS,bioham%parampath) + + call write_bintTBparamsH(typeA,typeB,& + intKind,intPairsH,intPairsS,adjustl(trim(bioham%jobname))//"_mybondints.nonorth") + + ! Load Pair potentials for LATTE TB. + call load_PairPotTBparams(bioham%parampath,syf%splist,ppot) + + call get_hindex(syf%spindex,tb%norbi,hindex,norbs) + + call bml_zero_matrix(bioham%bml_type,bml_element_real,dp,norbs,norbs,ham_bml) + call bml_zero_matrix(bioham%bml_type,bml_element_real,dp,norbs,norbs,over_bml) + + call get_hsmat(ham_bml,over_bml,syf%coordinate,& + syf%lattice_vector,syf%spindex,& + tb%norbi,hindex,onsitesH,onsitesS,intPairsH,intPairsS,bioham%threshold) + + if(bioham%mdim == 0) bioham%mdim = norbs + ! Get occupation based on last shell population. + nel = sum(element_numel(syf%atomic_number(:)),& + & size(syf%atomic_number,dim=1)) + bndfil = nel/(2.0_dp*real(norbs,dp)) + + call bml_threshold(ham_bml,bioham%threshold) + + if(myRank == 1)call bml_print_matrix("ham_bml",ham_bml,0,10,0,10) + sparsity = bml_get_sparsity(ham_bml,bioham%threshold) + if(myRank == 1)write(*,*)"Sparsity Ham=",sparsity + + call bml_zero_matrix(bioham%bml_type,bml_element_real,dp,norbs,norbs,aux_bml) + + call prg_buildzdiag(over_bml,aux_bml,bioham%threshold,bioham%mdim,bioham%bml_type) + if(myRank == 1)call bml_print_matrix("zmat",aux_bml,0,10,0,10) + call bml_deallocate(over_bml) + + call bml_zero_matrix(bioham%bml_type,bml_element_real,dp,norbs,norbs,oham_bml) + call prg_orthogonalize(ham_bml,aux_bml,oham_bml,& + bioham%threshold,bioham%bml_type,bioham%verbose) + call bml_deallocate(ham_bml) + + call bml_zero_matrix(bioham%bml_type,bml_element_real,dp,norbs,norbs,rho_bml) + ! Call SP2 + mlsi = mls() + tol = 2.0D-5*norbs*bndfil + call prg_sp2_alg1(oham_bml, rho_bml, 1.0D-5, bndfil, 15,100, "Rel", tol, 20) + mlssp2 = mls()-mlsi + + call bml_deallocate(aux_bml) + call bml_zero_matrix(bioham%bml_type,bml_element_real,dp,norbs,norbs,aux_bml) + allocate(eigenvalues(norbs)) + + ! Construct the density matrix from diagonalization of full matrix to compare with + mlsi = mls() + call prg_build_density_T0(oham_bml,aux_bml,bioham%threshold, bndfil, eigenvalues) + mlsdiag = mls()-mlsi + + ! count number of non-zeros in DM + nnz = 0 + do i=1,norbs + nnz = nnz + bml_get_row_bandwidth(rho_bml,i) + enddo + + if(myRank == 1)call bml_print_matrix("rhoSP2",rho_bml,0,10,0,10) + if(myRank == 1)call bml_print_matrix("rhoDIAG",aux_bml,0,10,0,10) + call bml_add(aux_bml,rho_bml,1.0d0,-1.0d0,threshold) + + if(myRank == 1)then + write(*,*)"Nnz in DM = ",nnz + write(*,*)"DM sparsity = ",1.0D0-real(nnz)/real(norbs*norbs) + write(*,*)"Threshold = ",bioham%threshold + write(*,*)"Number of replicas = ",bioham%replicatex*bioham%replicatey*bioham%replicatez + write(*,*)"Number of atoms = ",syf%nats + write(*,*)"Number of orbitals = ",norbs + write(*,*)"Time for SP2 = ",mlssp2 + write(*,*)"Time for Diagonalization = ",mlsdiag + write(*,*)"Speedup = ",mlsdiag/mlssp2 + write(*,*)"Error DM = ",bml_fnorm(aux_bml)/real(norbs*norbs,dp) + endif + + call bml_deallocate(aux_bml) + call bml_deallocate(rho_bml) + +end program biosolve diff --git a/benchmarks/dmconstruction3d/input.in.bio b/benchmarks/dmconstruction3d/input.in.bio new file mode 100644 index 0000000..9140377 --- /dev/null +++ b/benchmarks/dmconstruction3d/input.in.bio @@ -0,0 +1,11 @@ + +BIOHAM{ + BMLType= Ellpack + ReplicateX= 1 + ReplicateY= 1 + ReplicateZ= 1 + Threshold= 1.0E-8 + SystemFileName= 'prot.pdb' + ParamPath= '../../examples/latteTBparams/' +} + diff --git a/benchmarks/dmconstruction3d/prot.pdb b/benchmarks/dmconstruction3d/prot.pdb new file mode 100644 index 0000000..ebfe04e --- /dev/null +++ b/benchmarks/dmconstruction3d/prot.pdb @@ -0,0 +1,529 @@ +TITLE coordsandbase.xyz t= 100.00000 +REMARK THIS IS A SIMULATION BOX +CRYST1 17.740 19.146 16.395 90.00 90.00 90.00 P 1 1 +MODEL 1 +ATOM 1 N ALA 1 11.595 12.820 4.584 1.00 0.00 N +ATOM 2 H1 ALA 1 11.564 12.366 3.659 1.00 0.00 H +ATOM 3 H2 ALA 1 10.735 13.446 4.536 1.00 0.00 H +ATOM 4 CA ALA 1 11.206 11.799 5.552 1.00 0.00 C +ATOM 5 HA ALA 1 11.954 11.019 5.481 1.00 0.00 H +ATOM 6 CB ALA 1 11.312 12.423 6.927 1.00 0.00 C +ATOM 7 HB1 ALA 1 10.698 13.313 7.021 1.00 0.00 H +ATOM 8 HB2 ALA 1 11.090 11.705 7.716 1.00 0.00 H +ATOM 9 HB3 ALA 1 12.306 12.808 7.173 1.00 0.00 H +ATOM 10 C ALA 1 9.788 11.296 5.303 1.00 0.00 C +ATOM 11 O ALA 1 9.048 11.994 4.606 1.00 0.00 O +ATOM 12 N ALA 2 9.324 10.189 5.936 1.00 0.00 N +ATOM 13 H ALA 2 9.909 9.743 6.597 1.00 0.00 H +ATOM 14 CA ALA 2 8.047 9.508 5.660 1.00 0.00 C +ATOM 15 HA ALA 2 7.883 9.521 4.570 1.00 0.00 H +ATOM 16 CB ALA 2 8.099 8.043 6.099 1.00 0.00 C +ATOM 17 HB1 ALA 2 8.369 7.936 7.167 1.00 0.00 H +ATOM 18 HB2 ALA 2 7.115 7.544 5.860 1.00 0.00 H +ATOM 19 HB3 ALA 2 8.784 7.474 5.549 1.00 0.00 H +ATOM 20 C ALA 2 6.979 10.420 6.404 1.00 0.00 C +ATOM 21 O ALA 2 6.332 10.000 7.382 1.00 0.00 O +ATOM 22 N ALA 3 6.923 11.729 6.217 1.00 0.00 N +ATOM 23 H ALA 3 7.638 12.089 5.632 1.00 0.00 H +ATOM 24 CA ALA 3 5.940 12.719 6.646 1.00 0.00 C +ATOM 25 HA ALA 3 6.167 13.635 6.043 1.00 0.00 H +ATOM 26 CB ALA 3 4.501 12.463 6.407 1.00 0.00 C +ATOM 27 HB1 ALA 3 4.318 12.472 5.334 1.00 0.00 H +ATOM 28 HB2 ALA 3 4.170 11.532 6.898 1.00 0.00 H +ATOM 29 HB3 ALA 3 3.852 13.230 6.814 1.00 0.00 H +ATOM 30 C ALA 3 6.155 13.246 8.067 1.00 0.00 C +ATOM 31 O ALA 3 6.113 14.383 8.438 1.00 0.00 O +ATOM 32 N ALA 4 6.371 12.284 8.909 1.00 0.00 N +ATOM 33 H ALA 4 6.602 11.417 8.494 1.00 0.00 H +ATOM 34 CA ALA 4 6.501 12.359 10.365 1.00 0.00 C +ATOM 35 HA ALA 4 7.166 13.247 10.591 1.00 0.00 H +ATOM 36 CB ALA 4 5.093 12.408 10.979 1.00 0.00 C +ATOM 37 HB1 ALA 4 5.059 12.337 12.030 1.00 0.00 H +ATOM 38 HB2 ALA 4 4.728 13.395 10.577 1.00 0.00 H +ATOM 39 HB3 ALA 4 4.541 11.648 10.456 1.00 0.00 H +ATOM 40 C ALA 4 7.188 11.202 10.985 1.00 0.00 C +ATOM 41 O ALA 4 7.788 11.370 12.054 1.00 0.00 O +ATOM 42 N ALA 5 7.095 10.025 10.332 1.00 0.00 N +ATOM 43 H ALA 5 6.556 9.976 9.489 1.00 0.00 H +ATOM 44 CA ALA 5 7.872 8.792 10.662 1.00 0.00 C +ATOM 45 HA ALA 5 7.975 8.515 11.704 1.00 0.00 H +ATOM 46 CB ALA 5 7.270 7.593 9.986 1.00 0.00 C +ATOM 47 HB1 ALA 5 6.283 7.385 10.371 1.00 0.00 H +ATOM 48 HB2 ALA 5 7.085 7.680 8.867 1.00 0.00 H +ATOM 49 HB3 ALA 5 7.878 6.725 10.165 1.00 0.00 H +ATOM 50 C ALA 5 9.234 8.987 9.971 1.00 0.00 C +ATOM 51 O ALA 5 9.359 9.501 8.815 1.00 0.00 O +ATOM 52 N ALA 6 10.280 8.458 10.589 1.00 0.00 N +ATOM 53 H ALA 6 10.153 8.208 11.561 1.00 0.00 H +ATOM 54 CA ALA 6 11.632 8.433 10.110 1.00 0.00 C +ATOM 55 HA ALA 6 11.993 9.422 9.864 1.00 0.00 H +ATOM 56 CB ALA 6 12.495 7.992 11.270 1.00 0.00 C +ATOM 57 HB1 ALA 6 12.193 7.147 11.842 1.00 0.00 H +ATOM 58 HB2 ALA 6 13.592 7.849 10.918 1.00 0.00 H +ATOM 59 HB3 ALA 6 12.473 8.734 12.021 1.00 0.00 H +ATOM 60 C ALA 6 11.949 7.448 8.985 1.00 0.00 C +ATOM 61 O ALA 6 12.677 7.733 8.066 1.00 0.00 O +ATOM 62 N ALA 7 11.346 6.311 9.024 1.00 0.00 N +ATOM 63 H ALA 7 10.501 6.191 9.611 1.00 0.00 H +ATOM 64 CA ALA 7 11.349 5.311 8.046 1.00 0.00 C +ATOM 65 HA ALA 7 11.775 5.700 7.085 1.00 0.00 H +ATOM 66 CB ALA 7 12.258 4.116 8.507 1.00 0.00 C +ATOM 67 HB1 ALA 7 12.105 3.888 9.543 1.00 0.00 H +ATOM 68 HB2 ALA 7 12.162 3.237 7.875 1.00 0.00 H +ATOM 69 HB3 ALA 7 13.240 4.438 8.424 1.00 0.00 H +ATOM 70 C ALA 7 9.881 4.957 7.719 1.00 0.00 C +ATOM 71 OT ALA 7 9.029 5.006 8.547 1.00 0.00 O +ATOM 72 O ALA 7 9.836 4.490 6.454 1.00 0.00 O +ATOM 73 HO ALA 7 9.029 4.063 6.276 1.00 0.00 H +ATOM 74 OW SOL 8 2.300 6.280 1.130 1.00 0.00 O +ATOM 75 HW1 SOL 8 1.370 6.260 1.500 1.00 0.00 H +ATOM 76 HW2 SOL 8 2.310 5.890 0.210 1.00 0.00 H +ATOM 77 OW SOL 9 0.190 3.680 6.470 1.00 0.00 O +ATOM 78 HW1 SOL 9 -0.630 4.110 6.860 1.00 0.00 H +ATOM 79 HW2 SOL 9 -0.090 2.950 5.840 1.00 0.00 H +ATOM 80 OW SOL 10 15.551 15.111 7.030 1.00 0.00 O +ATOM 81 HW1 SOL 10 14.981 14.951 7.840 1.00 0.00 H +ATOM 82 HW2 SOL 10 14.961 15.211 6.230 1.00 0.00 H +ATOM 83 OW SOL 11 17.431 6.180 8.560 1.00 0.00 O +ATOM 84 HW1 SOL 11 17.761 7.120 8.560 1.00 0.00 H +ATOM 85 HW2 SOL 11 17.941 5.640 9.220 1.00 0.00 H +ATOM 86 OW SOL 12 17.551 6.070 2.310 1.00 0.00 O +ATOM 87 HW1 SOL 12 17.431 5.940 1.320 1.00 0.00 H +ATOM 88 HW2 SOL 12 17.251 5.260 2.800 1.00 0.00 H +ATOM 89 OW SOL 13 8.500 7.980 1.836 1.00 0.00 O +ATOM 90 HW1 SOL 13 8.460 8.740 2.486 1.00 0.00 H +ATOM 91 HW2 SOL 13 8.720 8.340 0.926 1.00 0.00 H +ATOM 92 OW SOL 14 6.860 11.611 1.636 1.00 0.00 O +ATOM 93 HW1 SOL 14 7.460 12.401 1.776 1.00 0.00 H +ATOM 94 HW2 SOL 14 6.000 11.921 1.226 1.00 0.00 H +ATOM 95 OW SOL 15 3.350 14.351 10.611 1.00 0.00 O +ATOM 96 HW1 SOL 15 2.570 14.041 10.081 1.00 0.00 H +ATOM 97 HW2 SOL 15 3.930 14.931 10.041 1.00 0.00 H +ATOM 98 OW SOL 16 14.601 15.051 13.391 1.00 0.00 O +ATOM 99 HW1 SOL 16 14.841 15.991 13.651 1.00 0.00 H +ATOM 100 HW2 SOL 16 14.441 14.511 14.211 1.00 0.00 H +ATOM 101 OW SOL 17 4.380 3.920 14.991 1.00 0.00 O +ATOM 102 HW1 SOL 17 5.200 3.360 15.081 1.00 0.00 H +ATOM 103 HW2 SOL 17 3.570 3.340 15.031 1.00 0.00 H +ATOM 104 OW SOL 18 2.310 17.131 4.830 1.00 0.00 O +ATOM 105 HW1 SOL 18 2.650 17.901 5.370 1.00 0.00 H +ATOM 106 HW2 SOL 18 2.750 17.131 3.930 1.00 0.00 H +ATOM 107 OW SOL 19 11.271 13.411 0.506 1.00 0.00 O +ATOM 108 HW1 SOL 19 11.741 13.411 1.386 1.00 0.00 H +ATOM 109 HW2 SOL 19 10.791 12.541 0.396 1.00 0.00 H +ATOM 110 OW SOL 20 2.300 14.341 5.380 1.00 0.00 O +ATOM 111 HW1 SOL 20 2.040 15.301 5.380 1.00 0.00 H +ATOM 112 HW2 SOL 20 1.590 13.801 5.830 1.00 0.00 H +ATOM 113 OW SOL 21 2.400 10.911 8.860 1.00 0.00 O +ATOM 114 HW1 SOL 21 2.540 10.071 9.380 1.00 0.00 H +ATOM 115 HW2 SOL 21 1.850 11.551 9.410 1.00 0.00 H +ATOM 116 OW SOL 22 6.200 17.861 14.391 1.00 0.00 O +ATOM 117 HW1 SOL 22 5.280 17.691 14.741 1.00 0.00 H +ATOM 118 HW2 SOL 22 6.480 18.781 14.651 1.00 0.00 H +ATOM 119 OW SOL 23 6.060 9.641 1.230 1.00 0.00 O +ATOM 120 HW1 SOL 23 6.130 10.481 0.690 1.00 0.00 H +ATOM 121 HW2 SOL 23 6.520 9.771 2.110 1.00 0.00 H +ATOM 122 OW SOL 24 15.941 1.140 14.801 1.00 0.00 O +ATOM 123 HW1 SOL 24 15.761 1.810 14.081 1.00 0.00 H +ATOM 124 HW2 SOL 24 15.911 1.600 15.691 1.00 0.00 H +ATOM 125 OW SOL 25 1.220 6.430 5.630 1.00 0.00 O +ATOM 126 HW1 SOL 25 0.770 5.550 5.800 1.00 0.00 H +ATOM 127 HW2 SOL 25 1.210 6.970 6.470 1.00 0.00 H +ATOM 128 OW SOL 26 0.270 15.961 1.170 1.00 0.00 O +ATOM 129 HW1 SOL 26 0.080 15.001 1.380 1.00 0.00 H +ATOM 130 HW2 SOL 26 -0.060 16.541 1.920 1.00 0.00 H +ATOM 131 OW SOL 27 16.891 9.220 6.120 1.00 0.00 O +ATOM 132 HW1 SOL 27 17.841 8.930 6.200 1.00 0.00 H +ATOM 133 HW2 SOL 27 16.811 9.870 5.370 1.00 0.00 H +ATOM 134 OW SOL 28 16.411 11.081 4.320 1.00 0.00 O +ATOM 135 HW1 SOL 28 17.271 11.101 3.800 1.00 0.00 H +ATOM 136 HW2 SOL 28 16.551 11.551 5.200 1.00 0.00 H +ATOM 137 OW SOL 29 12.931 12.281 14.231 1.00 0.00 O +ATOM 138 HW1 SOL 29 13.301 11.551 13.651 1.00 0.00 H +ATOM 139 HW2 SOL 29 13.451 12.331 15.081 1.00 0.00 H +ATOM 140 OW SOL 30 8.090 0.040 5.020 1.00 0.00 O +ATOM 141 HW1 SOL 30 8.490 0.950 4.930 1.00 0.00 H +ATOM 142 HW2 SOL 30 7.090 0.120 5.080 1.00 0.00 H +ATOM 143 OW SOL 31 1.970 9.761 12.641 1.00 0.00 O +ATOM 144 HW1 SOL 31 2.860 9.311 12.501 1.00 0.00 H +ATOM 145 HW2 SOL 31 1.240 9.111 12.451 1.00 0.00 H +ATOM 146 OW SOL 32 15.251 9.991 1.900 1.00 0.00 O +ATOM 147 HW1 SOL 32 14.621 9.231 2.030 1.00 0.00 H +ATOM 148 HW2 SOL 32 15.731 10.171 2.760 1.00 0.00 H +ATOM 149 OW SOL 33 11.871 17.921 16.161 1.00 0.00 O +ATOM 150 HW1 SOL 33 12.111 18.521 15.401 1.00 0.00 H +ATOM 151 HW2 SOL 33 11.941 16.971 15.861 1.00 0.00 H +ATOM 152 OW SOL 34 3.170 2.510 1.616 1.00 0.00 O +ATOM 153 HW1 SOL 34 3.880 3.220 1.676 1.00 0.00 H +ATOM 154 HW2 SOL 34 2.290 2.900 1.896 1.00 0.00 H +ATOM 155 OW SOL 35 14.661 14.171 9.531 1.00 0.00 O +ATOM 156 HW1 SOL 35 14.071 14.231 10.331 1.00 0.00 H +ATOM 157 HW2 SOL 35 14.511 13.291 9.071 1.00 0.00 H +ATOM 158 OW SOL 36 16.671 17.141 5.720 1.00 0.00 O +ATOM 159 HW1 SOL 36 16.261 16.911 4.840 1.00 0.00 H +ATOM 160 HW2 SOL 36 16.491 16.401 6.370 1.00 0.00 H +ATOM 161 OW SOL 37 5.980 7.290 2.700 1.00 0.00 O +ATOM 162 HW1 SOL 37 6.220 7.980 2.020 1.00 0.00 H +ATOM 163 HW2 SOL 37 5.200 7.620 3.240 1.00 0.00 H +ATOM 164 OW SOL 38 15.761 16.621 3.070 1.00 0.00 O +ATOM 165 HW1 SOL 38 16.651 17.081 3.100 1.00 0.00 H +ATOM 166 HW2 SOL 38 15.551 16.381 2.120 1.00 0.00 H +ATOM 167 OW SOL 39 8.070 6.050 14.651 1.00 0.00 O +ATOM 168 HW1 SOL 39 7.600 6.020 15.541 1.00 0.00 H +ATOM 169 HW2 SOL 39 7.560 5.500 13.991 1.00 0.00 H +ATOM 170 OW SOL 40 13.941 4.690 0.346 1.00 0.00 O +ATOM 171 HW1 SOL 40 13.741 5.120 1.226 1.00 0.00 H +ATOM 172 HW2 SOL 40 14.721 4.070 0.436 1.00 0.00 H +ATOM 173 OW SOL 41 9.731 8.900 15.721 1.00 0.00 O +ATOM 174 HW1 SOL 41 10.191 8.060 15.431 1.00 0.00 H +ATOM 175 HW2 SOL 41 9.171 9.240 14.971 1.00 0.00 H +ATOM 176 OW SOL 42 9.911 4.100 12.421 1.00 0.00 O +ATOM 177 HW1 SOL 42 9.141 4.440 12.961 1.00 0.00 H +ATOM 178 HW2 SOL 42 9.571 3.590 11.631 1.00 0.00 H +ATOM 179 OW SOL 43 10.411 7.010 4.290 1.00 0.00 O +ATOM 180 HW1 SOL 43 10.671 6.970 5.250 1.00 0.00 H +ATOM 181 HW2 SOL 43 9.561 6.500 4.150 1.00 0.00 H +ATOM 182 OW SOL 44 1.300 18.211 15.711 1.00 0.00 O +ATOM 183 HW1 SOL 44 1.200 18.061 16.701 1.00 0.00 H +ATOM 184 HW2 SOL 44 0.440 18.571 15.351 1.00 0.00 H +ATOM 185 OW SOL 45 8.650 3.480 1.950 1.00 0.00 O +ATOM 186 HW1 SOL 45 9.240 4.110 1.460 1.00 0.00 H +ATOM 187 HW2 SOL 45 8.840 2.540 1.660 1.00 0.00 H +ATOM 188 OW SOL 46 13.621 11.441 5.450 1.00 0.00 O +ATOM 189 HW1 SOL 46 14.451 11.151 4.970 1.00 0.00 H +ATOM 190 HW2 SOL 46 13.131 12.111 4.890 1.00 0.00 H +ATOM 191 OW SOL 47 5.500 1.960 8.850 1.00 0.00 O +ATOM 192 HW1 SOL 47 5.450 1.910 9.850 1.00 0.00 H +ATOM 193 HW2 SOL 47 5.520 2.920 8.560 1.00 0.00 H +ATOM 194 OW SOL 48 3.510 18.011 8.530 1.00 0.00 O +ATOM 195 HW1 SOL 48 4.010 17.151 8.590 1.00 0.00 H +ATOM 196 HW2 SOL 48 4.160 18.781 8.500 1.00 0.00 H +ATOM 197 OW SOL 49 0.211 10.661 8.730 1.00 0.00 O +ATOM 198 HW1 SOL 49 -0.409 10.511 7.970 1.00 0.00 H +ATOM 199 HW2 SOL 49 -0.309 10.771 9.580 1.00 0.00 H +ATOM 200 OW SOL 50 12.271 15.501 15.061 1.00 0.00 O +ATOM 201 HW1 SOL 50 12.331 14.731 15.701 1.00 0.00 H +ATOM 202 HW2 SOL 50 11.751 15.241 14.261 1.00 0.00 H +ATOM 203 OW SOL 51 3.210 9.431 2.420 1.00 0.00 O +ATOM 204 HW1 SOL 51 4.030 9.821 2.000 1.00 0.00 H +ATOM 205 HW2 SOL 51 2.940 8.611 1.930 1.00 0.00 H +ATOM 206 OW SOL 52 14.581 7.350 7.280 1.00 0.00 O +ATOM 207 HW1 SOL 52 14.531 6.700 8.030 1.00 0.00 H +ATOM 208 HW2 SOL 52 15.381 7.940 7.410 1.00 0.00 H +ATOM 209 OW SOL 53 4.610 12.661 0.876 1.00 0.00 O +ATOM 210 HW1 SOL 53 4.110 12.671 0.016 1.00 0.00 H +ATOM 211 HW2 SOL 53 3.980 12.481 1.636 1.00 0.00 H +ATOM 212 OW SOL 54 11.111 17.761 2.370 1.00 0.00 O +ATOM 213 HW1 SOL 54 10.511 17.141 2.870 1.00 0.00 H +ATOM 214 HW2 SOL 54 11.421 17.321 1.520 1.00 0.00 H +ATOM 215 OW SOL 55 2.020 2.850 14.981 1.00 0.00 O +ATOM 216 HW1 SOL 55 1.220 3.450 14.851 1.00 0.00 H +ATOM 217 HW2 SOL 55 1.920 2.360 15.841 1.00 0.00 H +ATOM 218 OW SOL 56 16.321 13.771 0.810 1.00 0.00 O +ATOM 219 HW1 SOL 56 16.001 14.711 0.710 1.00 0.00 H +ATOM 220 HW2 SOL 56 15.561 13.141 0.690 1.00 0.00 H +ATOM 221 OW SOL 57 4.640 17.431 3.230 1.00 0.00 O +ATOM 222 HW1 SOL 57 4.970 17.821 4.090 1.00 0.00 H +ATOM 223 HW2 SOL 57 5.400 17.361 2.580 1.00 0.00 H +ATOM 224 OW SOL 58 14.001 1.070 4.260 1.00 0.00 O +ATOM 225 HW1 SOL 58 13.761 0.700 3.360 1.00 0.00 H +ATOM 226 HW2 SOL 58 14.991 1.230 4.300 1.00 0.00 H +ATOM 227 OW SOL 59 2.490 17.851 12.411 1.00 0.00 O +ATOM 228 HW1 SOL 59 3.060 17.201 12.911 1.00 0.00 H +ATOM 229 HW2 SOL 59 2.330 17.521 11.481 1.00 0.00 H +ATOM 230 OW SOL 60 9.401 16.981 9.040 1.00 0.00 O +ATOM 231 HW1 SOL 60 10.201 16.411 9.250 1.00 0.00 H +ATOM 232 HW2 SOL 60 8.911 16.581 8.270 1.00 0.00 H +ATOM 233 OW SOL 61 3.820 7.000 4.800 1.00 0.00 O +ATOM 234 HW1 SOL 61 4.270 6.100 4.770 1.00 0.00 H +ATOM 235 HW2 SOL 61 2.880 6.890 5.130 1.00 0.00 H +ATOM 236 OW SOL 62 15.471 2.220 0.896 1.00 0.00 O +ATOM 237 HW1 SOL 62 15.421 2.590 1.816 1.00 0.00 H +ATOM 238 HW2 SOL 62 14.751 1.530 0.776 1.00 0.00 H +ATOM 239 OW SOL 63 6.140 1.220 1.170 1.00 0.00 O +ATOM 240 HW1 SOL 63 7.120 1.000 1.240 1.00 0.00 H +ATOM 241 HW2 SOL 63 5.830 1.050 0.240 1.00 0.00 H +ATOM 242 OW SOL 64 8.880 15.141 11.951 1.00 0.00 O +ATOM 243 HW1 SOL 64 8.650 14.891 11.011 1.00 0.00 H +ATOM 244 HW2 SOL 64 9.490 14.451 12.341 1.00 0.00 H +ATOM 245 OW SOL 65 13.511 5.900 14.331 1.00 0.00 O +ATOM 246 HW1 SOL 65 13.791 5.470 15.181 1.00 0.00 H +ATOM 247 HW2 SOL 65 13.761 6.860 14.341 1.00 0.00 H +ATOM 248 OW SOL 66 5.390 0.640 5.120 1.00 0.00 O +ATOM 249 HW1 SOL 66 4.580 0.650 5.700 1.00 0.00 H +ATOM 250 HW2 SOL 66 5.420 1.470 4.570 1.00 0.00 H +ATOM 251 OW SOL 67 14.341 11.881 0.410 1.00 0.00 O +ATOM 252 HW1 SOL 67 14.661 11.121 0.980 1.00 0.00 H +ATOM 253 HW2 SOL 67 13.421 12.151 0.710 1.00 0.00 H +ATOM 254 OW SOL 68 9.351 2.360 4.800 1.00 0.00 O +ATOM 255 HW1 SOL 68 8.871 2.770 4.020 1.00 0.00 H +ATOM 256 HW2 SOL 68 10.341 2.340 4.610 1.00 0.00 H +ATOM 257 OW SOL 69 10.761 6.830 14.641 1.00 0.00 O +ATOM 258 HW1 SOL 69 9.961 6.220 14.671 1.00 0.00 H +ATOM 259 HW2 SOL 69 11.571 6.300 14.401 1.00 0.00 H +ATOM 260 OW SOL 70 12.271 15.701 7.930 1.00 0.00 O +ATOM 261 HW1 SOL 70 12.481 16.441 7.280 1.00 0.00 H +ATOM 262 HW2 SOL 70 12.951 15.701 8.660 1.00 0.00 H +ATOM 263 OW SOL 71 12.711 17.971 5.910 1.00 0.00 O +ATOM 264 HW1 SOL 71 13.151 18.611 5.270 1.00 0.00 H +ATOM 265 HW2 SOL 71 12.211 18.491 6.610 1.00 0.00 H +ATOM 266 OW SOL 72 10.321 5.490 0.160 1.00 0.00 O +ATOM 267 HW1 SOL 72 9.911 6.310 -0.230 1.00 0.00 H +ATOM 268 HW2 SOL 72 10.961 5.750 0.890 1.00 0.00 H +ATOM 269 OW SOL 73 0.780 5.560 13.861 1.00 0.00 O +ATOM 270 HW1 SOL 73 1.700 5.550 13.451 1.00 0.00 H +ATOM 271 HW2 SOL 73 0.720 6.300 14.531 1.00 0.00 H +ATOM 272 OW SOL 74 5.610 2.220 11.471 1.00 0.00 O +ATOM 273 HW1 SOL 74 5.990 1.380 11.841 1.00 0.00 H +ATOM 274 HW2 SOL 74 4.730 2.410 11.911 1.00 0.00 H +ATOM 275 OW SOL 75 10.171 0.390 7.530 1.00 0.00 O +ATOM 276 HW1 SOL 75 9.451 0.440 6.840 1.00 0.00 H +ATOM 277 HW2 SOL 75 9.931 -0.300 8.220 1.00 0.00 H +ATOM 278 OW SOL 76 14.291 11.731 8.670 1.00 0.00 O +ATOM 279 HW1 SOL 76 13.741 10.891 8.600 1.00 0.00 H +ATOM 280 HW2 SOL 76 14.551 12.021 7.750 1.00 0.00 H +ATOM 281 OW SOL 77 14.661 5.900 9.921 1.00 0.00 O +ATOM 282 HW1 SOL 77 14.361 4.950 9.991 1.00 0.00 H +ATOM 283 HW2 SOL 77 15.391 6.060 10.581 1.00 0.00 H +ATOM 284 OW SOL 78 0.831 8.330 3.770 1.00 0.00 O +ATOM 285 HW1 SOL 78 1.251 7.690 4.410 1.00 0.00 H +ATOM 286 HW2 SOL 78 0.451 7.820 2.990 1.00 0.00 H +ATOM 287 OW SOL 79 16.641 12.801 6.570 1.00 0.00 O +ATOM 288 HW1 SOL 79 17.631 12.881 6.710 1.00 0.00 H +ATOM 289 HW2 SOL 79 16.191 13.641 6.880 1.00 0.00 H +ATOM 290 OW SOL 80 5.270 2.560 3.280 1.00 0.00 O +ATOM 291 HW1 SOL 80 5.540 1.970 2.530 1.00 0.00 H +ATOM 292 HW2 SOL 80 5.270 3.510 2.970 1.00 0.00 H +ATOM 293 OW SOL 81 17.541 12.231 15.881 1.00 0.00 O +ATOM 294 HW1 SOL 81 18.451 11.841 15.751 1.00 0.00 H +ATOM 295 HW2 SOL 81 17.621 13.191 16.121 1.00 0.00 H +ATOM 296 OW SOL 82 10.641 13.471 13.401 1.00 0.00 O +ATOM 297 HW1 SOL 82 9.841 13.241 13.951 1.00 0.00 H +ATOM 298 HW2 SOL 82 11.471 13.211 13.891 1.00 0.00 H +ATOM 299 OW SOL 83 15.921 16.291 16.251 1.00 0.00 O +ATOM 300 HW1 SOL 83 16.191 16.631 15.351 1.00 0.00 H +ATOM 301 HW2 SOL 83 16.711 15.911 16.711 1.00 0.00 H +ATOM 302 OW SOL 84 11.111 11.951 11.001 1.00 0.00 O +ATOM 303 HW1 SOL 84 10.711 12.391 11.811 1.00 0.00 H +ATOM 304 HW2 SOL 84 10.701 12.321 10.171 1.00 0.00 H +ATOM 305 OW SOL 85 16.381 10.991 10.791 1.00 0.00 O +ATOM 306 HW1 SOL 85 16.431 11.801 11.381 1.00 0.00 H +ATOM 307 HW2 SOL 85 15.521 11.011 10.281 1.00 0.00 H +ATOM 308 OW SOL 86 9.150 0.890 14.021 1.00 0.00 O +ATOM 309 HW1 SOL 86 9.400 0.690 13.071 1.00 0.00 H +ATOM 310 HW2 SOL 86 9.870 1.450 14.441 1.00 0.00 H +ATOM 311 OW SOL 87 9.801 11.161 0.796 1.00 0.00 O +ATOM 312 HW1 SOL 87 8.811 11.221 0.896 1.00 0.00 H +ATOM 313 HW2 SOL 87 10.031 10.361 0.236 1.00 0.00 H +ATOM 314 OW SOL 88 4.100 8.130 12.511 1.00 0.00 O +ATOM 315 HW1 SOL 88 4.960 8.250 13.011 1.00 0.00 H +ATOM 316 HW2 SOL 88 3.680 7.260 12.781 1.00 0.00 H +ATOM 317 OW SOL 89 12.741 3.860 12.621 1.00 0.00 O +ATOM 318 HW1 SOL 89 12.951 4.600 13.261 1.00 0.00 H +ATOM 319 HW2 SOL 89 11.851 4.030 12.191 1.00 0.00 H +ATOM 320 OW SOL 90 0.640 15.641 13.311 1.00 0.00 O +ATOM 321 HW1 SOL 90 0.180 16.461 12.971 1.00 0.00 H +ATOM 322 HW2 SOL 90 1.620 15.831 13.401 1.00 0.00 H +ATOM 323 OW SOL 91 5.660 5.370 8.650 1.00 0.00 O +ATOM 324 HW1 SOL 91 5.780 6.030 7.910 1.00 0.00 H +ATOM 325 HW2 SOL 91 6.120 5.710 9.480 1.00 0.00 H +ATOM 326 OW SOL 92 12.721 14.451 11.421 1.00 0.00 O +ATOM 327 HW1 SOL 92 13.191 14.581 12.291 1.00 0.00 H +ATOM 328 HW2 SOL 92 12.061 13.711 11.511 1.00 0.00 H +ATOM 329 OW SOL 93 15.821 6.390 4.720 1.00 0.00 O +ATOM 330 HW1 SOL 93 15.511 7.000 5.450 1.00 0.00 H +ATOM 331 HW2 SOL 93 16.321 6.910 4.030 1.00 0.00 H +ATOM 332 OW SOL 94 3.540 15.101 13.291 1.00 0.00 O +ATOM 333 HW1 SOL 94 3.330 14.661 12.421 1.00 0.00 H +ATOM 334 HW2 SOL 94 4.510 15.361 13.321 1.00 0.00 H +ATOM 335 OW SOL 95 4.020 7.510 15.981 1.00 0.00 O +ATOM 336 HW1 SOL 95 4.700 8.060 15.511 1.00 0.00 H +ATOM 337 HW2 SOL 95 4.420 6.630 16.251 1.00 0.00 H +ATOM 338 OW SOL 96 15.871 7.790 0.306 1.00 0.00 O +ATOM 339 HW1 SOL 96 14.951 8.170 0.256 1.00 0.00 H +ATOM 340 HW2 SOL 96 16.471 8.260 -0.344 1.00 0.00 H +ATOM 341 OW SOL 97 12.091 5.250 2.750 1.00 0.00 O +ATOM 342 HW1 SOL 97 12.221 4.410 3.290 1.00 0.00 H +ATOM 343 HW2 SOL 97 11.801 5.990 3.350 1.00 0.00 H +ATOM 344 OW SOL 98 3.070 2.130 12.311 1.00 0.00 O +ATOM 345 HW1 SOL 98 2.840 2.500 13.211 1.00 0.00 H +ATOM 346 HW2 SOL 98 2.770 1.180 12.251 1.00 0.00 H +ATOM 347 OW SOL 99 0.370 13.101 12.821 1.00 0.00 O +ATOM 348 HW1 SOL 99 0.900 12.611 13.501 1.00 0.00 H +ATOM 349 HW2 SOL 99 0.590 14.081 12.871 1.00 0.00 H +ATOM 350 OW SOL 100 3.070 0.630 6.180 1.00 0.00 O +ATOM 351 HW1 SOL 100 2.960 1.570 6.510 1.00 0.00 H +ATOM 352 HW2 SOL 100 3.020 0.000 6.950 1.00 0.00 H +ATOM 353 OW SOL 101 16.221 3.670 3.740 1.00 0.00 O +ATOM 354 HW1 SOL 101 16.241 2.910 4.380 1.00 0.00 H +ATOM 355 HW2 SOL 101 15.741 4.440 4.140 1.00 0.00 H +ATOM 356 OW SOL 102 9.801 15.731 0.606 1.00 0.00 O +ATOM 357 HW1 SOL 102 9.601 16.171 -0.274 1.00 0.00 H +ATOM 358 HW2 SOL 102 10.191 14.821 0.446 1.00 0.00 H +ATOM 359 OW SOL 103 0.851 15.181 16.051 1.00 0.00 O +ATOM 360 HW1 SOL 103 0.991 15.451 15.101 1.00 0.00 H +ATOM 361 HW2 SOL 103 1.681 15.401 16.581 1.00 0.00 H +ATOM 362 OW SOL 104 13.031 8.380 0.420 1.00 0.00 O +ATOM 363 HW1 SOL 104 13.371 7.450 0.570 1.00 0.00 H +ATOM 364 HW2 SOL 104 13.211 8.650 -0.530 1.00 0.00 H +ATOM 365 OW SOL 105 3.190 8.100 9.491 1.00 0.00 O +ATOM 366 HW1 SOL 105 4.120 8.460 9.541 1.00 0.00 H +ATOM 367 HW2 SOL 105 3.130 7.250 10.011 1.00 0.00 H +ATOM 368 OW SOL 106 3.390 5.090 10.061 1.00 0.00 O +ATOM 369 HW1 SOL 106 2.870 4.260 9.891 1.00 0.00 H +ATOM 370 HW2 SOL 106 4.160 5.140 9.421 1.00 0.00 H +ATOM 371 OW SOL 107 11.601 2.070 14.771 1.00 0.00 O +ATOM 372 HW1 SOL 107 11.601 2.710 15.541 1.00 0.00 H +ATOM 373 HW2 SOL 107 11.881 2.550 13.941 1.00 0.00 H +ATOM 374 OW SOL 108 0.400 5.440 11.141 1.00 0.00 O +ATOM 375 HW1 SOL 108 1.250 5.110 10.731 1.00 0.00 H +ATOM 376 HW2 SOL 108 0.530 5.590 12.121 1.00 0.00 H +ATOM 377 OW SOL 109 8.150 5.720 3.250 1.00 0.00 O +ATOM 378 HW1 SOL 109 8.220 4.830 2.790 1.00 0.00 H +ATOM 379 HW2 SOL 109 7.210 6.060 3.170 1.00 0.00 H +ATOM 380 OW SOL 110 6.710 4.640 12.691 1.00 0.00 O +ATOM 381 HW1 SOL 110 6.370 3.750 12.391 1.00 0.00 H +ATOM 382 HW2 SOL 110 6.970 5.180 11.891 1.00 0.00 H +ATOM 383 OW SOL 111 9.300 16.781 14.651 1.00 0.00 O +ATOM 384 HW1 SOL 111 9.060 16.601 13.701 1.00 0.00 H +ATOM 385 HW2 SOL 111 9.600 17.721 14.751 1.00 0.00 H +ATOM 386 OW SOL 112 4.730 5.000 1.910 1.00 0.00 O +ATOM 387 HW1 SOL 112 5.340 5.800 1.950 1.00 0.00 H +ATOM 388 HW2 SOL 112 3.780 5.310 1.980 1.00 0.00 H +ATOM 389 OW SOL 113 13.471 10.591 12.341 1.00 0.00 O +ATOM 390 HW1 SOL 113 13.711 9.961 11.601 1.00 0.00 H +ATOM 391 HW2 SOL 113 12.571 10.991 12.161 1.00 0.00 H +ATOM 392 OW SOL 114 13.021 8.550 3.090 1.00 0.00 O +ATOM 393 HW1 SOL 114 12.161 8.240 3.510 1.00 0.00 H +ATOM 394 HW2 SOL 114 12.981 8.410 2.100 1.00 0.00 H +ATOM 395 OW SOL 115 17.591 17.471 11.541 1.00 0.00 O +ATOM 396 HW1 SOL 115 18.201 17.771 10.811 1.00 0.00 H +ATOM 397 HW2 SOL 115 17.211 16.581 11.321 1.00 0.00 H +ATOM 398 OW SOL 116 12.521 17.311 11.281 1.00 0.00 O +ATOM 399 HW1 SOL 116 13.361 17.361 10.741 1.00 0.00 H +ATOM 400 HW2 SOL 116 12.291 16.351 11.461 1.00 0.00 H +ATOM 401 OW SOL 117 0.830 12.581 10.221 1.00 0.00 O +ATOM 402 HW1 SOL 117 0.780 12.571 11.221 1.00 0.00 H +ATOM 403 HW2 SOL 117 0.000 12.171 9.841 1.00 0.00 H +ATOM 404 OW SOL 118 6.880 16.621 0.766 1.00 0.00 O +ATOM 405 HW1 SOL 118 6.320 17.431 0.856 1.00 0.00 H +ATOM 406 HW2 SOL 118 7.400 16.661 -0.094 1.00 0.00 H +ATOM 407 OW SOL 119 13.881 15.731 4.770 1.00 0.00 O +ATOM 408 HW1 SOL 119 14.551 15.851 4.030 1.00 0.00 H +ATOM 409 HW2 SOL 119 13.481 16.621 5.000 1.00 0.00 H +ATOM 410 OW SOL 120 12.801 9.270 6.720 1.00 0.00 O +ATOM 411 HW1 SOL 120 13.401 8.460 6.740 1.00 0.00 H +ATOM 412 HW2 SOL 120 13.201 9.960 6.120 1.00 0.00 H +ATOM 413 OW SOL 121 8.300 12.731 14.221 1.00 0.00 O +ATOM 414 HW1 SOL 121 8.250 13.061 15.171 1.00 0.00 H +ATOM 415 HW2 SOL 121 7.440 12.921 13.761 1.00 0.00 H +ATOM 416 OW SOL 122 2.630 3.260 7.200 1.00 0.00 O +ATOM 417 HW1 SOL 122 1.840 3.770 6.860 1.00 0.00 H +ATOM 418 HW2 SOL 122 2.540 3.110 8.180 1.00 0.00 H +ATOM 419 OW SOL 123 8.220 10.021 13.721 1.00 0.00 O +ATOM 420 HW1 SOL 123 8.620 10.011 12.801 1.00 0.00 H +ATOM 421 HW2 SOL 123 8.320 10.941 14.121 1.00 0.00 H +ATOM 422 OW SOL 124 3.720 12.881 14.901 1.00 0.00 O +ATOM 423 HW1 SOL 124 3.590 13.811 14.561 1.00 0.00 H +ATOM 424 HW2 SOL 124 2.880 12.361 14.771 1.00 0.00 H +ATOM 425 OW SOL 125 16.141 12.921 12.891 1.00 0.00 O +ATOM 426 HW1 SOL 125 16.741 12.951 13.691 1.00 0.00 H +ATOM 427 HW2 SOL 125 15.391 13.561 13.021 1.00 0.00 H +ATOM 428 OW SOL 126 10.141 2.360 9.711 1.00 0.00 O +ATOM 429 HW1 SOL 126 10.061 2.000 8.781 1.00 0.00 H +ATOM 430 HW2 SOL 126 10.121 1.600 10.361 1.00 0.00 H +ATOM 431 OW SOL 127 5.900 14.871 4.910 1.00 0.00 O +ATOM 432 HW1 SOL 127 6.320 14.291 4.210 1.00 0.00 H +ATOM 433 HW2 SOL 127 5.460 15.661 4.470 1.00 0.00 H +ATOM 434 OW SOL 128 2.550 13.481 2.900 1.00 0.00 O +ATOM 435 HW1 SOL 128 1.590 13.491 2.630 1.00 0.00 H +ATOM 436 HW2 SOL 128 2.670 14.011 3.740 1.00 0.00 H +ATOM 437 OW SOL 129 1.050 10.131 0.866 1.00 0.00 O +ATOM 438 HW1 SOL 129 0.280 9.801 1.406 1.00 0.00 H +ATOM 439 HW2 SOL 129 1.900 9.831 1.286 1.00 0.00 H +ATOM 440 OW SOL 130 6.720 2.030 14.891 1.00 0.00 O +ATOM 441 HW1 SOL 130 7.620 1.870 14.491 1.00 0.00 H +ATOM 442 HW2 SOL 130 6.800 2.080 15.881 1.00 0.00 H +ATOM 443 OW SOL 131 0.750 3.450 0.330 1.00 0.00 O +ATOM 444 HW1 SOL 131 -0.170 3.170 0.040 1.00 0.00 H +ATOM 445 HW2 SOL 131 1.060 4.220 -0.230 1.00 0.00 H +ATOM 446 OW SOL 132 14.401 8.560 13.981 1.00 0.00 O +ATOM 447 HW1 SOL 132 13.831 9.080 13.351 1.00 0.00 H +ATOM 448 HW2 SOL 132 15.361 8.680 13.741 1.00 0.00 H +ATOM 449 OW SOL 133 6.130 8.420 14.311 1.00 0.00 O +ATOM 450 HW1 SOL 133 6.690 9.230 14.141 1.00 0.00 H +ATOM 451 HW2 SOL 133 6.720 7.620 14.341 1.00 0.00 H +ATOM 452 OW SOL 134 14.931 17.671 9.591 1.00 0.00 O +ATOM 453 HW1 SOL 134 15.261 18.311 8.901 1.00 0.00 H +ATOM 454 HW2 SOL 134 15.591 17.611 10.341 1.00 0.00 H +ATOM 455 OW SOL 135 7.160 5.650 0.686 1.00 0.00 O +ATOM 456 HW1 SOL 135 7.350 6.300 1.426 1.00 0.00 H +ATOM 457 HW2 SOL 135 7.760 4.850 0.776 1.00 0.00 H +ATOM 458 OW SOL 136 3.900 17.411 15.601 1.00 0.00 O +ATOM 459 HW1 SOL 136 2.990 17.821 15.581 1.00 0.00 H +ATOM 460 HW2 SOL 136 3.830 16.471 15.921 1.00 0.00 H +ATOM 461 OW SOL 137 16.741 8.830 12.541 1.00 0.00 O +ATOM 462 HW1 SOL 137 16.471 7.940 12.171 1.00 0.00 H +ATOM 463 HW2 SOL 137 16.751 9.510 11.811 1.00 0.00 H +ATOM 464 OW SOL 138 12.251 3.250 4.490 1.00 0.00 O +ATOM 465 HW1 SOL 138 12.901 2.510 4.380 1.00 0.00 H +ATOM 466 HW2 SOL 138 12.451 3.750 5.330 1.00 0.00 H +ATOM 467 OW SOL 139 17.301 9.341 15.171 1.00 0.00 O +ATOM 468 HW1 SOL 139 17.681 10.251 15.321 1.00 0.00 H +ATOM 469 HW2 SOL 139 17.221 9.171 14.181 1.00 0.00 H +ATOM 470 OW SOL 140 6.610 17.901 9.531 1.00 0.00 O +ATOM 471 HW1 SOL 140 6.150 18.781 9.401 1.00 0.00 H +ATOM 472 HW2 SOL 140 7.600 18.021 9.461 1.00 0.00 H +ATOM 473 OW SOL 141 0.871 15.691 8.510 1.00 0.00 O +ATOM 474 HW1 SOL 141 0.161 15.571 7.810 1.00 0.00 H +ATOM 475 HW2 SOL 141 0.881 14.901 9.110 1.00 0.00 H +ATOM 476 OW SOL 142 6.720 13.911 16.241 1.00 0.00 O +ATOM 477 HW1 SOL 142 5.940 13.411 16.621 1.00 0.00 H +ATOM 478 HW2 SOL 142 6.690 14.861 16.551 1.00 0.00 H +ATOM 479 OW SOL 143 0.501 1.920 12.271 1.00 0.00 O +ATOM 480 HW1 SOL 143 0.461 1.020 12.711 1.00 0.00 H +ATOM 481 HW2 SOL 143 0.531 1.810 11.281 1.00 0.00 H +ATOM 482 OW SOL 144 4.280 4.240 5.200 1.00 0.00 O +ATOM 483 HW1 SOL 144 4.580 3.520 4.580 1.00 0.00 H +ATOM 484 HW2 SOL 144 3.890 3.840 6.030 1.00 0.00 H +ATOM 485 OW SOL 145 17.051 14.871 11.041 1.00 0.00 O +ATOM 486 HW1 SOL 145 16.121 14.621 10.771 1.00 0.00 H +ATOM 487 HW2 SOL 145 17.311 14.371 11.861 1.00 0.00 H +ATOM 488 OW SOL 146 3.170 5.470 12.801 1.00 0.00 O +ATOM 489 HW1 SOL 146 3.550 4.880 13.521 1.00 0.00 H +ATOM 490 HW2 SOL 146 3.570 5.210 11.921 1.00 0.00 H +ATOM 491 OW SOL 147 8.120 15.861 6.870 1.00 0.00 O +ATOM 492 HW1 SOL 147 8.440 15.961 5.930 1.00 0.00 H +ATOM 493 HW2 SOL 147 7.330 15.241 6.890 1.00 0.00 H +ATOM 494 OW SOL 148 14.241 2.140 11.121 1.00 0.00 O +ATOM 495 HW1 SOL 148 14.761 1.490 11.671 1.00 0.00 H +ATOM 496 HW2 SOL 148 13.751 2.770 11.731 1.00 0.00 H +ATOM 497 OW SOL 149 10.011 0.340 11.541 1.00 0.00 O +ATOM 498 HW1 SOL 149 9.381 -0.380 11.231 1.00 0.00 H +ATOM 499 HW2 SOL 149 10.941 -0.020 11.541 1.00 0.00 H +ATOM 500 OW SOL 150 6.180 15.671 12.841 1.00 0.00 O +ATOM 501 HW1 SOL 150 6.130 16.491 13.411 1.00 0.00 H +ATOM 502 HW2 SOL 150 7.070 15.641 12.391 1.00 0.00 H +ATOM 503 OW SOL 151 13.521 0.520 1.680 1.00 0.00 O +ATOM 504 HW1 SOL 151 13.871 0.110 0.840 1.00 0.00 H +ATOM 505 HW2 SOL 151 12.621 0.140 1.880 1.00 0.00 H +ATOM 506 OW SOL 152 15.931 2.210 8.820 1.00 0.00 O +ATOM 507 HW1 SOL 152 15.091 2.200 9.360 1.00 0.00 H +ATOM 508 HW2 SOL 152 15.951 3.040 8.260 1.00 0.00 H +ATOM 509 OW SOL 153 8.750 16.461 3.370 1.00 0.00 O +ATOM 510 HW1 SOL 153 7.980 16.111 2.830 1.00 0.00 H +ATOM 511 HW2 SOL 153 8.430 17.171 3.990 1.00 0.00 H +ATOM 512 OW SOL 154 2.970 18.971 1.710 1.00 0.00 O +ATOM 513 HW1 SOL 154 3.460 19.811 1.500 1.00 0.00 H +ATOM 514 HW2 SOL 154 3.590 18.321 2.160 1.00 0.00 H +ATOM 515 OW SOL 155 9.030 0.335 1.330 1.00 0.00 O +ATOM 516 HW1 SOL 155 9.540 0.345 0.470 1.00 0.00 H +ATOM 517 HW2 SOL 155 9.590 -0.085 2.040 1.00 0.00 H +ATOM 518 OW SOL 156 0.671 1.225 9.631 1.00 0.00 O +ATOM 519 HW1 SOL 156 1.061 0.375 9.271 1.00 0.00 H +ATOM 520 HW2 SOL 156 -0.309 1.245 9.441 1.00 0.00 H +ATOM 521 OW SOL 157 0.720 1.135 3.180 1.00 0.00 O +ATOM 522 HW1 SOL 157 0.550 1.965 2.640 1.00 0.00 H +ATOM 523 HW2 SOL 157 1.620 0.765 2.960 1.00 0.00 H +TER +ENDMDL diff --git a/benchmarks/dmconstruction3d/run.sh b/benchmarks/dmconstruction3d/run.sh index 3982823..4f9c1ea 100755 --- a/benchmarks/dmconstruction3d/run.sh +++ b/benchmarks/dmconstruction3d/run.sh @@ -1,30 +1,37 @@ #!/bin/bash -#source vars !Sourcing environmental variables - -export OMP_NUM_THREADS=8 -run=../../build/dmconstruction3d +export OMP_NUM_THREADS=4 +run=../../build/dmconstruction_bio nreps=2 device="myCPU" #Architecture name -alg="sp2_alg1" #Name of the algorithm -tag="prg_sp2_alg1" #Tag for naming output files for format in Ellpack Dense do - for system in semicond + for system in bio do - fileout="times_${system}_${alg}_${device}_${format}.dat" + fileout="times_${device}_${format}.dat" rm $fileout - for i in 1024 2000 3456 8192 11664 16000 + for ((i=1; i<=3; i++)) do - echo "Format, System, Size:" $format"," $system"," $i - sed 's/NOrbs=.*/NOrbs= '$i'/g' input.in.$system > tmp - sed 's/BMLType=.*/BMLType= '$format'/g' tmp > input.in - #jsrun -n1 -a1 -g1 -c21 -bpacked:21 ./main input.in $nreps > out$i$device$alg$format$system - $run input.in $nreps > out$i$device$alg$format$system - time=`grep $tag out$i$device$alg$format$system | awk 'NF>1{print $NF}'` - echo $i $time >> $fileout + for ((j=1; j<=$i; j++)) + do + for ((k=1; k<=$j; k++)) + do + echo "Format, Replicas:" $format"," $i, $j, $k + sed 's/ReplicateX=.*/ReplicateX= '$i'/g' input.in.$system > tmp + sed 's/ReplicateY=.*/ReplicateY= '$j'/g' tmp > input.in + sed 's/ReplicateZ=.*/ReplicateZ= '$k'/g' input.in > tmp + sed 's/BMLType=.*/BMLType= '$format'/g' tmp > input.in + #jsrun -n1 -a1 -g1 -c21 -bpacked:21 $run input.in $nreps > R$i$j$k$device$format$system.out + $run input.in $nreps > R$i$j$k$device$format$system.out + norbs=`grep orbitals R$i$j$k$device$format$system.out | awk 'NF>1{print $NF}'` + time1=`grep SP2 R$i$j$k$device$format$system.out | awk 'NF>1{print $NF}'` + time2=`grep Diagonalization R$i$j$k$device$format$system.out | awk 'NF>1{print $NF}'` + echo $norbs $time1 $time2 + echo $norbs $time1 $time2 >> $fileout + done + done done done done