From 22299119d1b0253b11c092f780978eadbca278c1 Mon Sep 17 00:00:00 2001 From: Qianruipku Date: Thu, 13 Mar 2025 19:50:16 +0800 Subject: [PATCH 1/4] make KG support GPU --- .../kernels/cuda/math_kernel_op.cu | 42 +- source/module_base/kernels/math_kernel_op.cpp | 19 +- source/module_base/kernels/math_kernel_op.h | 7 +- .../kernels/rocm/math_kernel_op.hip.cu | 35 +- source/module_esolver/esolver_ks_pw.cpp | 2 +- .../module_hamilt_pw/hamilt_pwdft/elecond.cpp | 116 ++++-- .../module_hamilt_pw/hamilt_pwdft/elecond.h | 56 ++- .../hamilt_pwdft/operator_pw/velocity_pw.cpp | 379 +++++++++++------- .../hamilt_pwdft/operator_pw/velocity_pw.h | 35 +- .../hamilt_stodft/sto_elecond.cpp | 6 +- .../hamilt_stodft/sto_elecond.h | 4 +- 11 files changed, 479 insertions(+), 222 deletions(-) diff --git a/source/module_base/kernels/cuda/math_kernel_op.cu b/source/module_base/kernels/cuda/math_kernel_op.cu index 39043daff1..7227df630d 100644 --- a/source/module_base/kernels/cuda/math_kernel_op.cu +++ b/source/module_base/kernels/cuda/math_kernel_op.cu @@ -325,16 +325,23 @@ __global__ void vector_div_constant_kernel( } template -__global__ void vector_mul_vector_kernel( - const int size, - T* result, - const T* vector1, - const typename GetTypeReal::type* vector2) +__global__ void vector_mul_vector_kernel(const int size, + T* result, + const T* vector1, + const typename GetTypeReal::type* vector2, + const bool add) { int i = blockIdx.x * blockDim.x + threadIdx.x; if (i < size) { - result[i] = vector1[i] * vector2[i]; + if (add) + { + result[i] += vector1[i] * vector2[i]; + } + else + { + result[i] = vector1[i] * vector2[i]; + } } } @@ -548,11 +555,12 @@ template <> void vector_mul_vector_op::operator()(const int& dim, double* result, const double* vector1, - const double* vector2) + const double* vector2, + const bool& add) { int thread = thread_per_block; int block = (dim + thread - 1) / thread; - vector_mul_vector_kernel <<>> (dim, result, vector1, vector2); + vector_mul_vector_kernel <<>> (dim, result, vector1, vector2, add); cudaCheckOnDebug(); } @@ -561,13 +569,14 @@ template inline void vector_mul_vector_complex_wrapper(const int& dim, std::complex* result, const std::complex* vector1, - const FPTYPE* vector2) + const FPTYPE* vector2, + const bool& add) { thrust::complex* result_tmp = reinterpret_cast*>(result); const thrust::complex* vector1_tmp = reinterpret_cast*>(vector1); int thread = thread_per_block; int block = (dim + thread - 1) / thread; - vector_mul_vector_kernel> <<>> (dim, result_tmp, vector1_tmp, vector2); + vector_mul_vector_kernel> <<>> (dim, result_tmp, vector1_tmp, vector2, add); cudaCheckOnDebug(); } @@ -575,18 +584,20 @@ template <> void vector_mul_vector_op, base_device::DEVICE_GPU>::operator()(const int& dim, std::complex* result, const std::complex* vector1, - const float* vector2) + const float* vector2, + const bool& add) { - vector_mul_vector_complex_wrapper(dim, result, vector1, vector2); + vector_mul_vector_complex_wrapper(dim, result, vector1, vector2, add); } template <> void vector_mul_vector_op, base_device::DEVICE_GPU>::operator()( const int& dim, std::complex* result, const std::complex* vector1, - const double* vector2) + const double* vector2, + const bool& add) { - vector_mul_vector_complex_wrapper(dim, result, vector1, vector2); + vector_mul_vector_complex_wrapper(dim, result, vector1, vector2, add); } // vector operator: result[i] = vector1[i](not complex) / vector2[i](not complex) @@ -1019,6 +1030,7 @@ template struct dot_real_op, base_device::DEVICE_GPU>; template struct calc_grad_with_block_op, base_device::DEVICE_GPU>; template struct line_minimize_with_block_op, base_device::DEVICE_GPU>; template struct vector_div_constant_op, base_device::DEVICE_GPU>; +template struct vector_mul_vector_op; template struct vector_mul_vector_op, base_device::DEVICE_GPU>; template struct vector_div_vector_op, base_device::DEVICE_GPU>; template struct constantvector_addORsub_constantVector_op; @@ -1029,6 +1041,7 @@ template struct dot_real_op, base_device::DEVICE_GPU>; template struct calc_grad_with_block_op, base_device::DEVICE_GPU>; template struct line_minimize_with_block_op, base_device::DEVICE_GPU>; template struct vector_div_constant_op, base_device::DEVICE_GPU>; +template struct vector_mul_vector_op; template struct vector_mul_vector_op, base_device::DEVICE_GPU>; template struct vector_div_vector_op, base_device::DEVICE_GPU>; template struct constantvector_addORsub_constantVector_op; @@ -1039,7 +1052,6 @@ template struct matrixCopy, base_device::DEVICE_GPU>; #ifdef __LCAO template struct dot_real_op; template struct vector_div_constant_op; -template struct vector_mul_vector_op; template struct vector_div_vector_op; #endif } // namespace ModuleBase diff --git a/source/module_base/kernels/math_kernel_op.cpp b/source/module_base/kernels/math_kernel_op.cpp index bb0bb923a5..9420d7c4b7 100644 --- a/source/module_base/kernels/math_kernel_op.cpp +++ b/source/module_base/kernels/math_kernel_op.cpp @@ -167,14 +167,27 @@ template struct vector_mul_vector_op { using Real = typename GetTypeReal::type; - void operator()(const int& dim, T* result, const T* vector1, const Real* vector2) + void operator()(const int& dim, T* result, const T* vector1, const Real* vector2, const bool& add) { + if (add) + { #ifdef _OPENMP #pragma omp parallel for schedule(static, 4096 / sizeof(Real)) #endif - for (int i = 0; i < dim; i++) + for (int i = 0; i < dim; i++) + { + result[i] += vector1[i] * vector2[i]; + } + } + else { - result[i] = vector1[i] * vector2[i]; +#ifdef _OPENMP +#pragma omp parallel for schedule(static, 4096 / sizeof(Real)) +#endif + for (int i = 0; i < dim; i++) + { + result[i] = vector1[i] * vector2[i]; + } } } }; diff --git a/source/module_base/kernels/math_kernel_op.h b/source/module_base/kernels/math_kernel_op.h index d94aeb6806..daca2ac548 100644 --- a/source/module_base/kernels/math_kernel_op.h +++ b/source/module_base/kernels/math_kernel_op.h @@ -143,11 +143,11 @@ template struct vector_mul_vector_op { /// \param dim : array size /// \param vector1 : input array A /// \param vector2 : input array B + /// \param add : flag to control whether to add the result to the output array /// /// Output Parameters /// \param result : output array - void operator()(const int &dim, T *result, const T *vector1, - const Real *vector2); + void operator()(const int& dim, T* result, const T* vector1, const Real* vector2, const bool& add = false); }; // vector operator: result[i] = vector1[i](complex) / vector2[i](not complex) @@ -350,8 +350,7 @@ struct vector_div_constant_op { // vector operator: result[i] = vector1[i](complex) * vector2[i](not complex) template struct vector_mul_vector_op { using Real = typename GetTypeReal::type; - void operator()(const int &dim, T *result, - const T *vector1, const Real *vector2); + void operator()(const int& dim, T* result, const T* vector1, const Real* vector2, const bool& add = false); }; // vector operator: result[i] = vector1[i](complex) / vector2[i](not complex) diff --git a/source/module_base/kernels/rocm/math_kernel_op.hip.cu b/source/module_base/kernels/rocm/math_kernel_op.hip.cu index 0279bfee75..a6a787faf8 100644 --- a/source/module_base/kernels/rocm/math_kernel_op.hip.cu +++ b/source/module_base/kernels/rocm/math_kernel_op.hip.cu @@ -248,12 +248,20 @@ __global__ void vector_mul_vector_kernel( const int size, T* result, const T* vector1, - const typename GetTypeReal::type* vector2) + const typename GetTypeReal::type* vector2, + const bool add) { int i = blockIdx.x * blockDim.x + threadIdx.x; if (i < size) { - result[i] = vector1[i] * vector2[i]; + if (add) + { + result[i] += vector1[i] * vector2[i]; + } + else + { + result[i] = vector1[i] * vector2[i]; + } } } @@ -471,11 +479,12 @@ template <> void vector_mul_vector_op::operator()(const int& dim, double* result, const double* vector1, - const double* vector2) + const double* vector2, + const bool& add) { int thread = 1024; int block = (dim + thread - 1) / thread; - hipLaunchKernelGGL(HIP_KERNEL_NAME(vector_mul_vector_kernel), dim3(block), dim3(thread), 0, 0, dim, result, vector1, vector2); + hipLaunchKernelGGL(HIP_KERNEL_NAME(vector_mul_vector_kernel), dim3(block), dim3(thread), 0, 0, dim, result, vector1, vector2, add); hipCheckOnDebug(); } @@ -485,13 +494,14 @@ template inline void vector_mul_vector_complex_wrapper(const int& dim, std::complex* result, const std::complex* vector1, - const FPTYPE* vector2) + const FPTYPE* vector2, + const bool& add) { thrust::complex* result_tmp = reinterpret_cast*>(result); const thrust::complex* vector1_tmp = reinterpret_cast*>(vector1); int thread = 1024; int block = (dim + thread - 1) / thread; - hipLaunchKernelGGL(HIP_KERNEL_NAME(vector_mul_vector_kernel>), dim3(block), dim3(thread), 0, 0, dim, result_tmp, vector1_tmp, vector2); + hipLaunchKernelGGL(HIP_KERNEL_NAME(vector_mul_vector_kernel>), dim3(block), dim3(thread), 0, 0, dim, result_tmp, vector1_tmp, vector2, add); hipCheckOnDebug(); } @@ -499,18 +509,20 @@ template <> void vector_mul_vector_op, base_device::DEVICE_GPU>::operator()(const int& dim, std::complex* result, const std::complex* vector1, - const float* vector2) + const float* vector2, + const bool& add) { - vector_mul_vector_complex_wrapper(dim, result, vector1, vector2); + vector_mul_vector_complex_wrapper(dim, result, vector1, vector2, add); } template <> void vector_mul_vector_op, base_device::DEVICE_GPU>::operator()( const int& dim, std::complex* result, const std::complex* vector1, - const double* vector2) + const double* vector2, + const bool& add) { - vector_mul_vector_complex_wrapper(dim, result, vector1, vector2); + vector_mul_vector_complex_wrapper(dim, result, vector1, vector2, add); } // vector operator: result[i] = vector1[i](complex) / vector2[i](not complex) template <> @@ -931,6 +943,7 @@ template struct dot_real_op, base_device::DEVICE_GPU>; template struct calc_grad_with_block_op, base_device::DEVICE_GPU>; template struct line_minimize_with_block_op, base_device::DEVICE_GPU>; template struct vector_div_constant_op, base_device::DEVICE_GPU>; +template struct vector_mul_vector_op; template struct vector_mul_vector_op, base_device::DEVICE_GPU>; template struct vector_div_vector_op, base_device::DEVICE_GPU>; template struct constantvector_addORsub_constantVector_op, base_device::DEVICE_GPU>; @@ -940,6 +953,7 @@ template struct dot_real_op, base_device::DEVICE_GPU>; template struct calc_grad_with_block_op, base_device::DEVICE_GPU>; template struct line_minimize_with_block_op, base_device::DEVICE_GPU>; template struct vector_div_constant_op, base_device::DEVICE_GPU>; +template struct vector_mul_vector_op; template struct vector_mul_vector_op, base_device::DEVICE_GPU>; template struct vector_div_vector_op, base_device::DEVICE_GPU>; template struct constantvector_addORsub_constantVector_op, base_device::DEVICE_GPU>; @@ -948,7 +962,6 @@ template struct matrixCopy, base_device::DEVICE_GPU>; #ifdef __LCAO template struct dot_real_op; template struct vector_div_constant_op; -template struct vector_mul_vector_op; template struct vector_div_vector_op; template struct matrixCopy; template struct constantvector_addORsub_constantVector_op; diff --git a/source/module_esolver/esolver_ks_pw.cpp b/source/module_esolver/esolver_ks_pw.cpp index 7c7a7a1b41..4e38c855be 100644 --- a/source/module_esolver/esolver_ks_pw.cpp +++ b/source/module_esolver/esolver_ks_pw.cpp @@ -860,7 +860,7 @@ void ESolver_KS_PW::after_all_runners(UnitCell& ucell) //! 7) Use Kubo-Greenwood method to compute conductivities if (PARAM.inp.cal_cond) { - EleCond elec_cond(&ucell, &this->kv, this->pelec, this->pw_wfc, this->psi, &this->ppcell); + EleCond elec_cond(&ucell, &this->kv, this->pelec, this->pw_wfc, this->kspw_psi, &this->ppcell); elec_cond.KG(PARAM.inp.cond_smear, PARAM.inp.cond_fwhm, PARAM.inp.cond_wcut, diff --git a/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp b/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp index 5f59858132..7ce11dfae9 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp +++ b/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp @@ -1,10 +1,12 @@ #include "elecond.h" -#include "module_parameter/parameter.h" #include "module_base/global_function.h" #include "module_base/global_variable.h" +#include "module_base/kernels/math_kernel_op.h" +#include "module_base/parallel_device.h" #include "module_elecstate/occupy.h" #include "module_io/binstream.h" +#include "module_parameter/parameter.h" #include @@ -24,9 +26,13 @@ #define TWOSQRT2LN2 2.354820045030949 // FWHM = 2sqrt(2ln2) * \sigma #define FACTOR 1.839939223835727e7 -EleCond::EleCond(UnitCell* p_ucell_in, K_Vectors* p_kv_in, elecstate::ElecState* p_elec_in, - ModulePW::PW_Basis_K* p_wfcpw_in, psi::Psi>* p_psi_in, - pseudopot_cell_vnl* p_ppcell_in) +template +EleCond::EleCond(UnitCell* p_ucell_in, + K_Vectors* p_kv_in, + elecstate::ElecState* p_elec_in, + ModulePW::PW_Basis_K* p_wfcpw_in, + psi::Psi, Device>* p_psi_in, + pseudopot_cell_vnl* p_ppcell_in) { this->p_ppcell = p_ppcell_in; this->p_ucell = p_ucell_in; @@ -36,8 +42,14 @@ EleCond::EleCond(UnitCell* p_ucell_in, K_Vectors* p_kv_in, elecstate::ElecState* this->p_psi = p_psi_in; } -void EleCond::KG(const int& smear_type, const double& fwhmin, const double& wcut, const double& dw_in, - const double& dt_in, const bool& nonlocal, ModuleBase::matrix& wg) +template +void EleCond::KG(const int& smear_type, + const double& fwhmin, + const double& wcut, + const double& dw_in, + const double& dt_in, + const bool& nonlocal, + ModuleBase::matrix& wg) { //----------------------------------------------------------- // KS conductivity @@ -72,7 +84,7 @@ void EleCond::KG(const int& smear_type, const double& fwhmin, const double& wcut std::vector ct12(nt, 0); std::vector ct22(nt, 0); - hamilt::Velocity velop(this->p_wfcpw, this->p_kv->isk.data(), this->p_ppcell, this->p_ucell, nonlocal); + hamilt::Velocity velop(this->p_wfcpw, this->p_kv->isk.data(), this->p_ppcell, this->p_ucell, nonlocal); double decut = (wcut + fwhmin) / ModuleBase::Ry_to_eV; std::cout << "Recommended dt: " << 0.25 * M_PI / decut << " a.u." << std::endl; for (int ik = 0; ik < nk; ++ik) @@ -94,44 +106,78 @@ void EleCond::KG(const int& smear_type, const double& fwhmin, const double& wcut } } -void EleCond::jjresponse_ks(const int ik, const int nt, const double dt, const double decut, ModuleBase::matrix& wg, - hamilt::Velocity& velop, double* ct11, double* ct12, double* ct22) +template +void EleCond::jjresponse_ks(const int ik, + const int nt, + const double dt, + const double decut, + ModuleBase::matrix& wg, + hamilt::Velocity& velop, + double* ct11, + double* ct12, + double* ct22) { const int nbands = PARAM.inp.nbands; - if (wg(ik, 0) - wg(ik, nbands - 1) < 1e-8 || nbands == 0) { + if (wg(ik, 0) - wg(ik, nbands - 1) < 1e-8 || nbands == 0) + { return; -} - const char transn = 'N'; - const char transc = 'C'; + } const int ndim = 3; - const int npwx = this->p_wfcpw->npwk_max; + const int npwk_max = this->p_wfcpw->npwk_max; const double ef = this->p_elec->eferm.ef; const int npw = this->p_kv->ngk[ik]; const int reducenb2 = (nbands - 1) * nbands / 2; const bool gamma_only = false; // ABACUS do not support gamma_only yet. - std::complex* levc = &(this->p_psi[0](ik, 0, 0)); - std::vector> prevc(ndim * npwx * nbands); - std::vector> pij(nbands * nbands); + std::complex* levc = &(this->p_psi[0](ik, 0, 0)); + psi::Psi, Device> v_psi(1, ndim * nbands, npwk_max, npw, true); + std::complex* pij_d = nullptr; + resmem_complex_op()(pij_d, nbands * nbands); + std::vector pij2(reducenb2, 0); // px|right> - velop.act(this->p_psi, nbands * PARAM.globalv.npol, levc, prevc.data()); + velop.act(this->p_psi, nbands * PARAM.globalv.npol, levc, v_psi.get_pointer()); + std::complex one = 1.0; + std::complex zero = 0.0; for (int id = 0; id < ndim; ++id) { + ModuleBase::gemm_op, Device>()('C', + 'N', + nbands, + nbands, + npw, + &one, + levc, + npwk_max, + v_psi.get_pointer() + id * npwk_max * nbands, + npwk_max, + &zero, + pij_d, + nbands); - zgemm_(&transc, &transn, &nbands, &nbands, &npw, &ModuleBase::ONE, levc, &npwx, - prevc.data() + id * npwx * nbands, &npwx, &ModuleBase::ZERO, pij.data(), &nbands); + std::complex* pij_c = nullptr; + if(std::is_same::value) + { + pij_c = pij_d; + } + { + std::vector> pij_h(nbands * nbands); + syncmem_complex_d2h_op()(pij_h.data(), pij_d, nbands * nbands); + pij_c = pij_h.data(); + } + #ifdef __MPI - MPI_Allreduce(MPI_IN_PLACE, pij.data(), nbands * nbands, MPI_DOUBLE_COMPLEX, MPI_SUM, POOL_WORLD); + Parallel_Common::reduce_data(pij_c, nbands * nbands, POOL_WORLD); #endif - if (!gamma_only) { + if (!gamma_only) + { for (int ib = 0, ijb = 0; ib < nbands; ++ib) { for (int jb = ib + 1; jb < nbands; ++jb, ++ijb) { - pij2[ijb] += norm(pij[ib * nbands + jb]); + pij2[ijb] += static_cast(std::norm(pij_c[ib * nbands + jb])); } } -} + } } if (GlobalV::RANK_IN_POOL == 0) @@ -185,11 +231,20 @@ void EleCond::jjresponse_ks(const int ik, const int nt, const double dt, const d ct12[it] += tmct12 / 2.0; ct22[it] += tmct22 / 2.0; } + delmem_complex_op()(pij_d); return; } -void EleCond::calcondw(const int nt, const double dt, const int& smear_type, const double fwhmin, const double wcut, - const double dw_in, double* ct11, double* ct12, double* ct22) +template +void EleCond::calcondw(const int nt, + const double dt, + const int& smear_type, + const double fwhmin, + const double wcut, + const double dw_in, + double* ct11, + double* ct12, + double* ct22) { double factor = FACTOR; const int ndim = 3; @@ -259,4 +314,11 @@ void EleCond::calcondw(const int nt, const double dt, const int& smear_type, con std::cout << std::setprecision(6) << "Thermal conductivity: " << kappa0 << " W(mK)^-1" << std::endl; std::cout << std::setprecision(6) << "Lorenz number: " << Lorent0 << " k_B^2/e^2" << std::endl; ofscond.close(); -} \ No newline at end of file +} + +template class EleCond; +template class EleCond; +#if ((defined __CUDA) || (defined __ROCM)) +template class EleCond; +template class EleCond; +#endif \ No newline at end of file diff --git a/source/module_hamilt_pw/hamilt_pwdft/elecond.h b/source/module_hamilt_pw/hamilt_pwdft/elecond.h index a8c99b22dc..7d2fcb01a3 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/elecond.h +++ b/source/module_hamilt_pw/hamilt_pwdft/elecond.h @@ -9,11 +9,20 @@ #include "module_hamilt_pw/hamilt_pwdft/VNL_in_pw.h" #include "module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h" +template class EleCond { public: - EleCond(UnitCell* p_ucell_in, K_Vectors* p_kv_in, elecstate::ElecState* p_elec_in, ModulePW::PW_Basis_K* p_wfcpw_in, - psi::Psi>* p_psi_in, pseudopot_cell_vnl* p_ppcell_in); + using resmem_complex_op = base_device::memory::resize_memory_op, Device>; + using delmem_complex_op = base_device::memory::delete_memory_op, Device>; + using syncmem_complex_d2h_op = base_device::memory::synchronize_memory_op, Device, base_device::DEVICE_CPU>; + public: + EleCond(UnitCell* p_ucell_in, + K_Vectors* p_kv_in, + elecstate::ElecState* p_elec_in, + ModulePW::PW_Basis_K* p_wfcpw_in, + psi::Psi, Device>* p_psi_in, + pseudopot_cell_vnl* p_ppcell_in); ~EleCond(){}; /** @@ -27,16 +36,21 @@ class EleCond * @param nonlocal whether to include the nonlocal potential corrections for velocity operator * @param wg wg(ik,ib) occupation for the ib-th band in the ik-th kpoint */ - void KG(const int& smear_type, const double& fwhmin, const double& wcut, const double& dw_in, const double& dt_in, - const bool& nonlocal, ModuleBase::matrix& wg); + void KG(const int& smear_type, + const double& fwhmin, + const double& wcut, + const double& dw_in, + const double& dt_in, + const bool& nonlocal, + ModuleBase::matrix& wg); protected: - pseudopot_cell_vnl* p_ppcell = nullptr; ///< pointer to the pseudopotential - UnitCell* p_ucell = nullptr; ///< pointer to the unit cell - ModulePW::PW_Basis_K* p_wfcpw = nullptr; ///< pointer to the plane wave basis - K_Vectors* p_kv = nullptr; ///< pointer to the k vectors - elecstate::ElecState* p_elec = nullptr; ///< pointer to the electronic state - psi::Psi>* p_psi = nullptr; ///< pointer to the wavefunction + pseudopot_cell_vnl* p_ppcell = nullptr; ///< pointer to the pseudopotential + UnitCell* p_ucell = nullptr; ///< pointer to the unit cell + ModulePW::PW_Basis_K* p_wfcpw = nullptr; ///< pointer to the plane wave basis + K_Vectors* p_kv = nullptr; ///< pointer to the k vectors + elecstate::ElecState* p_elec = nullptr; ///< pointer to the electronic state + psi::Psi, Device>* p_psi = nullptr; ///< pointer to the wavefunction protected: /** @@ -52,8 +66,15 @@ class EleCond * @param ct12 C12(t) * @param ct22 C22(t) */ - void jjresponse_ks(const int ik, const int nt, const double dt, const double decut, ModuleBase::matrix& wg, - hamilt::Velocity& velop, double* ct11, double* ct12, double* ct22); + void jjresponse_ks(const int ik, + const int nt, + const double dt, + const double decut, + ModuleBase::matrix& wg, + hamilt::Velocity& velop, + double* ct11, + double* ct12, + double* ct22); /** * @brief Calculate the conductivity using the response function * @@ -67,8 +88,15 @@ class EleCond * @param ct12 C12 component of the response function * @param ct22 C22 component of the response function */ - void calcondw(const int nt, const double dt, const int& smear_type, const double fwhmin, const double wcut, - const double dw_in, double* ct11, double* ct12, double* ct22); + void calcondw(const int nt, + const double dt, + const int& smear_type, + const double fwhmin, + const double wcut, + const double dw_in, + double* ct11, + double* ct12, + double* ct22); }; #endif // ELECOND_H \ No newline at end of file diff --git a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp index bc2ef072ea..0a13ac7027 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp +++ b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp @@ -1,19 +1,19 @@ #include "velocity_pw.h" -#include "module_base/timer.h" + +#include "module_base/kernels/math_kernel_op.h" #include "module_base/parallel_reduce.h" +#include "module_base/timer.h" namespace hamilt { -Velocity::Velocity -( - const ModulePW::PW_Basis_K* wfcpw_in, - const int* isk_in, - pseudopot_cell_vnl* ppcell_in, - const UnitCell* ucell_in, - const bool nonlocal_in -) +template +Velocity::Velocity(const ModulePW::PW_Basis_K* wfcpw_in, + const int* isk_in, + pseudopot_cell_vnl* ppcell_in, + const UnitCell* ucell_in, + const bool nonlocal_in) { - if( wfcpw_in == nullptr || isk_in == nullptr || ppcell_in == nullptr || ucell_in == nullptr) + if (wfcpw_in == nullptr || isk_in == nullptr || ppcell_in == nullptr || ucell_in == nullptr) { ModuleBase::WARNING_QUIT("Velocity", "Constuctor of Operator::Velocity is failed, please check your code!"); } @@ -22,30 +22,97 @@ Velocity::Velocity this->ppcell = ppcell_in; this->ucell = ucell_in; this->nonlocal = nonlocal_in; - this->tpiba = ucell_in -> tpiba; - if(this->nonlocal) { this->ppcell->initgradq_vnl(*this->ucell); + this->tpiba = ucell_in->tpiba; + if (this->nonlocal) + { + this->ppcell->initgradq_vnl(*this->ucell); + } } + +template +Velocity::~Velocity() +{ + delmem_var_op()(this->gx_); + delmem_var_op()(this->gy_); + delmem_var_op()(this->gz_); + delmem_complex_op()(vkb_); + delmem_complex_op()(gradvkb_); + delmem_var_op()(deeq_); } -void Velocity::init(const int ik_in) +template +void Velocity::init(const int ik_in) { this->ik = ik_in; + // init G+K + const int npw = this->wfcpw->npwk[ik_in]; + const int npwk_max = this->wfcpw->npwk_max; + std::vector gtmp(npw); + std::vector gtmp_ptr = {this->gx_, this->gy_, this->gz_}; + for(int i=0; i<3; ++i) + { + resmem_var_op()(gtmp_ptr[i], npw); + for (int ig = 0; ig < npw; ++ig) + { + const ModuleBase::Vector3 tmpg = wfcpw->getgpluskcar(this->ik, ig); + gtmp[ig] = static_cast(tmpg[i] * tpiba); + } + syncmem_var_h2d_op()(gtmp_ptr[i], gtmp.data(), npw); + } + // Calculate nonlocal pseudopotential vkb - if(this->ppcell->nkb > 0 && this->nonlocal) - { - this->ppcell->getgradq_vnl(*this->ucell,ik_in); - } + if (this->ppcell->nkb > 0 && this->nonlocal) + { + this->ppcell->getgradq_vnl(*this->ucell, ik_in); + } + + // sync to device + if(std::is_same::value || std::is_same::value) + { + const int nkb = this->ppcell->nkb; + // vkb + resmem_complex_op()(vkb_, nkb * npwk_max); + for(int ib = 0; ib < nkb; ++ib) + { + castmem_complex_h2d_op()(vkb_ + ib * npw, this->ppcell->vkb.c + ib * npwk_max, npw); + } + + // gradvkb + resmem_complex_op()(gradvkb_, 3 * nkb * npwk_max); + for(int ib = 0; ib < 3 * nkb; ++ib) + { + castmem_complex_h2d_op()(gradvkb_ + ib * npw, this->ppcell->gradvkb.ptr + ib * npwk_max, npw); + } + + // deep + int dim_deeq = 0; + for (int it = 0; it < this->ucell->ntype; ++it) + { + const int Nprojs = this->ucell->atoms[it].ncpp.nh; + dim_deeq += Nprojs * Nprojs * this->ucell->atoms[it].na; + } + resmem_var_op()(deeq_, dim_deeq); + const int current_spin = this->isk[ik]; + int ipp = 0; + int iat = 0; + for (int it = 0; it < this->ucell->ntype; it++) + { + const int Nprojs = this->ucell->atoms[it].ncpp.nh; + const int Nprojs2 = Nprojs * Nprojs; + castmem_var_h2d_op()(deeq_ + ipp, &(this->ppcell->deeq(current_spin, iat, 0, 0)), Nprojs2); + iat += this->ucell->atoms[it].na; + ipp += Nprojs2; + } + } } -void Velocity::act -( - const psi::Psi> *psi_in, - const int n_npwx, //nbands * NPOL - const std::complex* psi0, - std::complex* vpsi, - const bool add -) const +template +void Velocity::act(const psi::Psi, Device>* psi_in, + const int n_npwx, + const std::complex* psi0, + std::complex* vpsi, + const bool add) const { ModuleBase::timer::tick("Operator", "Velocity"); @@ -53,83 +120,116 @@ void Velocity::act const int max_npw = psi_in->get_nbasis() / psi_in->get_npol(); const int npol = psi_in->get_npol(); - const std::complex* tmpsi_in = psi0; - std::complex* tmhpsi = vpsi; + + std::vector gtmp_ptr = {this->gx_, this->gy_, this->gz_}; // ------------- // p // ------------- - for (int ib = 0; ib < n_npwx; ++ib) + for (int id = 0; id < 3; ++id) { - for (int ig = 0; ig < npw; ++ig) + const Complex* tmpsi_in = psi0; + Complex* tmpvpsi = vpsi + id * n_npwx * max_npw; + for (int ib = 0; ib < n_npwx; ++ib) { - const ModuleBase::Vector3& tmpg = wfcpw->getgpluskcar(this->ik, ig); - if(add) - { - tmhpsi[ig] += tmpsi_in[ig] * tmpg.x * tpiba; - tmhpsi[ig + n_npwx * max_npw] += tmpsi_in[ig] * tmpg.y * tpiba; - tmhpsi[ig + 2 * n_npwx * max_npw]+= tmpsi_in[ig] * tmpg.z * tpiba; - } - else - { - tmhpsi[ig] = tmpsi_in[ig] * tmpg.x * tpiba; - tmhpsi[ig + n_npwx * max_npw] = tmpsi_in[ig] * tmpg.y * tpiba; - tmhpsi[ig + 2 * n_npwx * max_npw] = tmpsi_in[ig] * tmpg.z * tpiba; - } + ModuleBase::vector_mul_vector_op()(npw, tmpvpsi, tmpsi_in, gtmp_ptr[id], add); + tmpvpsi += max_npw; + tmpsi_in += max_npw; } - tmhpsi += max_npw; - tmpsi_in += max_npw; } // --------------------------------------------- - // i[V_NL, r] = (\nabla_q+\nabla_q')V_{NL}(q,q') + // i[V_NL, r] = (\nabla_q+\nabla_q')V_{NL}(q,q') // |\beta><\beta|\psi> // --------------------------------------------- - if (this->ppcell->nkb <= 0 || !this->nonlocal) + if (this->ppcell->nkb <= 0 || !this->nonlocal) { ModuleBase::timer::tick("Operator", "Velocity"); return; } - //1. <\beta|\psi> + // 1. <\beta|\psi> + Complex* becp1_ = nullptr; ///<[Device, n_npwx * nkb] <\beta|\psi> + Complex* becp2_ = nullptr; ///<[Device, n_npwx * 3*nkb] <\nabla\beta|\psi> + Complex* ps1_ = nullptr; ///<[Device, nkb * n_npwx] sum of becp1 + Complex* ps2_ = nullptr; ///<[Device, 3*nkb * n_npwx] sum of becp2 + resmem_complex_op()(ps1_, this->ppcell->nkb * n_npwx); + resmem_complex_op()(ps2_, 3 * this->ppcell->nkb * n_npwx); + resmem_complex_op()(becp1_, this->ppcell->nkb * n_npwx); + resmem_complex_op()(becp2_, 3 * this->ppcell->nkb * n_npwx); + const int nkb = this->ppcell->nkb; const int nkb3 = 3 * nkb; - ModuleBase::ComplexMatrix becp1(n_npwx, nkb, false); - ModuleBase::ComplexMatrix becp2(n_npwx, nkb3, false); - char transC = 'C'; - char transN = 'N'; - char transT = 'T'; - const int npm = n_npwx; + Complex one = 1.0; + Complex zero = 0.0; if (n_npwx == 1) { int inc = 1; - zgemv_(&transC, &npw, &nkb, - &ModuleBase::ONE, this->ppcell->vkb.c, &max_npw, psi0, &inc, - &ModuleBase::ZERO, becp1.c, &inc); - zgemv_(&transC, &npw, &nkb3, - &ModuleBase::ONE, this->ppcell->gradvkb.ptr, &max_npw, psi0, &inc, - &ModuleBase::ZERO, becp2.c, &inc); + ModuleBase::gemv_op()('C', npw, nkb, &one, vkb_, max_npw, psi0, inc, &zero, becp1_, inc); + ModuleBase::gemv_op()('C', npw, nkb3, &one, gradvkb_, max_npw, psi0, inc, &zero, becp2_, inc); } else { - zgemm_(&transC, &transN, &nkb, &n_npwx, &npw, - &ModuleBase::ONE, this->ppcell->vkb.c, &max_npw, psi0, &max_npw, - &ModuleBase::ZERO, becp1.c, &nkb); - zgemm_(&transC, &transN, &nkb3, &n_npwx, &npw, - &ModuleBase::ONE, this->ppcell->gradvkb.ptr, &max_npw, psi0, &max_npw, - &ModuleBase::ZERO, becp2.c, &nkb3); + ModuleBase::gemm_op()('C', + 'N', + nkb, + n_npwx, + npw, + &one, + vkb_, + max_npw, + psi0, + max_npw, + &zero, + becp1_, + nkb); + ModuleBase::gemm_op()('C', + 'N', + nkb3, + n_npwx, + npw, + &one, + gradvkb_, + max_npw, + psi0, + max_npw, + &zero, + becp2_, + nkb3); } - Parallel_Reduce::reduce_pool(becp1.c, nkb * n_npwx); - Parallel_Reduce::reduce_pool(becp2.c, nkb3 * n_npwx); - //2. <\beta \psi> tmp_space1, tmp_space2; + if(std::is_same::value) + { + tmp_space1.resize(nkb * n_npwx + nkb3 * n_npwx); + becp1_cpu = tmp_space1.data(); + becp2_cpu = becp1_cpu + nkb * n_npwx; + syncmem_complex_d2h_op()(becp1_cpu, becp1_, nkb * n_npwx); + syncmem_complex_d2h_op()(becp2_cpu, becp2_, nkb3 * n_npwx); + + tmp_space2.resize(nkb * n_npwx + nkb3 * n_npwx, 0.0); + ps1_cpu = tmp_space2.data(); + ps2_cpu = ps1_cpu + nkb * n_npwx; + } + else + { + Parallel_Reduce::reduce_pool(becp1_, nkb * n_npwx); + Parallel_Reduce::reduce_pool(becp2_, nkb3 * n_npwx); + becp1_cpu = becp1_; + becp2_cpu = becp2_; + ps1_cpu = ps1_; + ps2_cpu = ps2_; + } + // 2. <\beta \psi>isk[ik]; + const int current_spin = 0; for (int it = 0; it < this->ucell->ntype; it++) { const int nproj = this->ucell->atoms[it].ncpp.nh; @@ -144,10 +244,10 @@ void Velocity::act double dij = this->ppcell->deeq(current_spin, iat, ip, ip2); int sumip2 = sum + ip2; int sumip = sum + ip; - ps1(sumip2, ib) += dij * becp1(ib, sumip); - ps2(sumip2, ib) += dij * becp2(ib, sumip); - ps2(sumip2 + nkb, ib) += dij * becp2(ib, sumip + nkb); - ps2(sumip2 + 2*nkb, ib) += dij * becp2(ib , sumip + 2*nkb); + ps1_cpu[sumip2 * n_npwx + ib] += dij * becp1_cpu[ib * nkb + sumip]; + ps2_cpu[sumip2 * n_npwx + ib] += dij * becp2_cpu[ib * nkb3 + sumip]; + ps2_cpu[(sumip2 + nkb) * n_npwx + ib] += dij * becp2_cpu[ib * nkb3 + sumip + nkb]; + ps2_cpu[(sumip2 + 2 * nkb) * n_npwx + ib] += dij * becp2_cpu[ib * nkb3 + sumip + 2 * nkb]; } } } @@ -158,86 +258,95 @@ void Velocity::act } else { - for (int it = 0; it < this->ucell->ntype; it++) - { - const int nproj = this->ucell->atoms[it].ncpp.nh; - for (int ia = 0; ia < this->ucell->atoms[it].na; ia++) - { - for (int ip = 0; ip < nproj; ip++) - { - for (int ip2 = 0; ip2 < nproj; ip2++) - { - for (int ib = 0; ib < n_npwx; ib+=2) - { - int sumip2 = sum + ip2; - int sumip = sum + ip; - std::complex pol1becp1 = becp1(ib, sumip); - std::complex pol2becp1 = becp1(ib+1, sumip); - std::complex pol1becp2x = becp2(ib, sumip); - std::complex pol2becp2x = becp2(ib+1, sumip); - std::complex pol1becp2y = becp2(ib, sumip + nkb); - std::complex pol2becp2y = becp2(ib+1, sumip + nkb); - std::complex pol1becp2z = becp2(ib, sumip + 2 * nkb); - std::complex pol2becp2z = becp2(ib+1, sumip + 2 * nkb); - std::complex dij0 = this->ppcell->deeq_nc(0, iat, ip2, ip); - std::complex dij1 = this->ppcell->deeq_nc(1, iat, ip2, ip); - std::complex dij2 = this->ppcell->deeq_nc(2, iat, ip2, ip); - std::complex dij3 = this->ppcell->deeq_nc(3, iat, ip2, ip); - - ps1(sumip2, ib) += dij0 * pol1becp1 + dij1 * pol2becp1; - ps1(sumip2, ib+1) += dij2 * pol1becp1 + dij3 * pol2becp1; - ps2(sumip2, ib) += dij0 * pol1becp2x + dij1 * pol2becp2x; - ps2(sumip2, ib+1) += dij2 * pol1becp2x + dij3 * pol2becp2x; - ps2(sumip2 + nkb, ib) += dij0 * pol1becp2y + dij1 * pol2becp2y; - ps2(sumip2 + nkb, ib+1) += dij2 * pol1becp2y + dij3 * pol2becp2y; - ps2(sumip2 + 2*nkb, ib) += dij0 * pol1becp2z + dij1 * pol2becp2z; - ps2(sumip2 + 2*nkb, ib+1) += dij2 * pol1becp2z + dij3 * pol2becp2z; - } - } - } - sum += nproj; - ++iat; - } - } + ModuleBase::WARNING_QUIT("Velocity", "Velocity operator does not support the non-collinear case yet!"); + } + + if(std::is_same::value) + { + syncmem_complex_h2d_op()(ps1_, ps1_cpu, nkb * n_npwx); + syncmem_complex_h2d_op()(ps2_, ps2_cpu, nkb3 * n_npwx); } - if (n_npwx == 1) { int inc = 1; - for(int id = 0 ; id < 3 ; ++id) + for (int id = 0; id < 3; ++id) { int vkbshift = id * max_npw * nkb; int ps2shift = id * nkb; - int npwshift = id * max_npw ; - zgemv_(&transN, &npw, &nkb, - &ModuleBase::ONE, this->ppcell->gradvkb.ptr + vkbshift, &max_npw, ps1.c, &inc, - &ModuleBase::ONE, vpsi + npwshift, &inc); - zgemv_(&transN, &npw, &nkb, - &ModuleBase::ONE, this->ppcell->vkb.c, &max_npw, ps2.c + ps2shift, &inc, - &ModuleBase::ONE, vpsi + npwshift, &inc); + int npwshift = id * max_npw; + ModuleBase::gemv_op()('N', + npw, + nkb, + &one, + gradvkb_ + vkbshift, + max_npw, + ps1_, + inc, + &one, + vpsi + npwshift, + inc); + ModuleBase::gemv_op()('N', + npw, + nkb, + &one, + vkb_, + max_npw, + ps2_ + ps2shift, + inc, + &one, + vpsi + npwshift, + inc); } } else { - for(int id = 0 ; id < 3 ; ++id) + for (int id = 0; id < 3; ++id) { int vkbshift = id * max_npw * nkb; int ps2shift = id * n_npwx * nkb; int npwshift = id * max_npw * n_npwx; - zgemm_(&transN, &transT, &npw, &npm, &nkb, - &ModuleBase::ONE, this->ppcell->gradvkb.ptr + vkbshift, &max_npw, ps1.c, &n_npwx, - &ModuleBase::ONE, vpsi + npwshift, &max_npw); - zgemm_(&transN, &transT, &npw, &npm, &nkb, - &ModuleBase::ONE, this->ppcell->vkb.c, &max_npw, ps2.c + ps2shift, &n_npwx, - &ModuleBase::ONE, vpsi + npwshift, &max_npw); + ModuleBase::gemm_op()('N', + 'T', + npw, + n_npwx, + nkb, + &one, + gradvkb_ + vkbshift, + max_npw, + ps1_, + n_npwx, + &one, + vpsi + npwshift, + max_npw); + ModuleBase::gemm_op()('N', + 'T', + npw, + n_npwx, + nkb, + &one, + vkb_, + max_npw, + ps2_ + ps2shift, + n_npwx, + &one, + vpsi + npwshift, + max_npw); } } - - + delmem_complex_op()(ps1_); + delmem_complex_op()(ps2_); + delmem_complex_op()(becp1_); + delmem_complex_op()(becp2_); ModuleBase::timer::tick("Operator", "Velocity"); return; } +template class Velocity; +template class Velocity; +#if ((defined __CUDA) || (defined __ROCM)) +template class Velocity; +template class Velocity; +#endif -} \ No newline at end of file +} // namespace hamilt \ No newline at end of file diff --git a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h index a6752065b0..7e3fd52d35 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h +++ b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h @@ -8,6 +8,7 @@ namespace hamilt { //velocity operator mv = im/\hbar * [H,r] = p + im/\hbar [V_NL, r] +template class Velocity { public: @@ -19,7 +20,7 @@ class Velocity const bool nonlocal_in = true ); - ~Velocity(){}; + ~Velocity(); void init(const int ik_in); @@ -27,16 +28,16 @@ class Velocity * @brief calculate \hat{v}|\psi> * * @param psi_in Psi class which contains some information - * @param n_npwx i = 1 : n_npwx + * @param n_npwx nbands * NPOL * @param tmpsi_in |\psi_i> size: n_npwx*npwx - * @param tmhpsi \hat{v}|\psi> size: 3*n_npwx*npwx - * @param add true : tmhpsi = tmhpsi + v|\psi> false: tmhpsi = v|\psi> + * @param tmvpsi \hat{v}|\psi> size: 3*n_npwx*npwx + * @param add true : tmvpsi = tmvpsi + v|\psi> false: tmvpsi = v|\psi> * */ - void act(const psi::Psi>* psi_in, + void act(const psi::Psi, Device>* psi_in, const int n_npwx, - const std::complex* tmpsi_in, - std::complex* tmhpsi, + const std::complex* tmpsi_in, + std::complex* tmvpsi, const bool add = false) const; bool nonlocal = true; @@ -53,6 +54,26 @@ class Velocity int ik=0; double tpiba=0.0; + + private: + FPTYPE* gx_ = nullptr; ///<[Device, npwx] x component of G+K + FPTYPE* gy_ = nullptr; ///<[Device, npwx] y component of G+K + FPTYPE* gz_ = nullptr; ///<[Device, npwx] z component of G+K + std::complex* vkb_ = nullptr; ///<[Device, nkb * npwk_max] nonlocal pseudopotential vkb + std::complex* gradvkb_ = nullptr; ///<[Device, 3*nkb * npwk_max] gradient of nonlocal pseudopotential gradvkb + FPTYPE* deeq_ = nullptr; ///<[Device] D matrix for nonlocal pseudopotential + + using Complex = std::complex; + using resmem_var_op = base_device::memory::resize_memory_op; + using delmem_var_op = base_device::memory::delete_memory_op; + using syncmem_var_h2d_op = base_device::memory::synchronize_memory_op; + using castmem_var_h2d_op = base_device::memory::cast_memory_op; + using resmem_complex_op = base_device::memory::resize_memory_op, Device>; + using setmem_complex_op = base_device::memory::set_memory_op, Device>; + using delmem_complex_op = base_device::memory::delete_memory_op, Device>; + using castmem_complex_h2d_op = base_device::memory::cast_memory_op, std::complex, Device, base_device::DEVICE_CPU>; + using syncmem_complex_d2h_op = base_device::memory::synchronize_memory_op, Device, base_device::DEVICE_CPU>; + using syncmem_complex_h2d_op = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, Device>; }; } #endif \ No newline at end of file diff --git a/source/module_hamilt_pw/hamilt_stodft/sto_elecond.cpp b/source/module_hamilt_pw/hamilt_stodft/sto_elecond.cpp index fec8130f77..597c84041b 100644 --- a/source/module_hamilt_pw/hamilt_stodft/sto_elecond.cpp +++ b/source/module_hamilt_pw/hamilt_stodft/sto_elecond.cpp @@ -22,7 +22,7 @@ Sto_EleCond::Sto_EleCond(UnitCell* p_ucell_in, hamilt::Hamilt>* p_hamilt_in, StoChe& stoche, Stochastic_WF, base_device::DEVICE_CPU>* p_stowf_in) - : EleCond(p_ucell_in, p_kv_in, p_elec_in, p_wfcpw_in, p_psi_in, p_ppcell_in) + : EleCond(p_ucell_in, p_kv_in, p_elec_in, p_wfcpw_in, p_psi_in, p_ppcell_in) { this->p_hamilt = p_hamilt_in; this->p_hamilt_sto = static_cast>*>(p_hamilt_in); @@ -149,7 +149,7 @@ void Sto_EleCond::cal_jmatrix(const psi::Psi>& kspsi_all, const int& bsize_psi, std::vector>& j1, std::vector>& j2, - hamilt::Velocity& velop, + hamilt::Velocity& velop, const int& ik, const std::complex& factor, const int bandinfo[6]) @@ -580,7 +580,7 @@ void Sto_EleCond::sKG(const int& smear_type, // ik loop ModuleBase::timer::tick("Sto_EleCond", "kloop"); - hamilt::Velocity velop(p_wfcpw, p_kv->isk.data(), p_ppcell, p_ucell, nonlocal); + hamilt::Velocity velop(p_wfcpw, p_kv->isk.data(), p_ppcell, p_ucell, nonlocal); for (int ik = 0; ik < nk; ++ik) { velop.init(ik); diff --git a/source/module_hamilt_pw/hamilt_stodft/sto_elecond.h b/source/module_hamilt_pw/hamilt_stodft/sto_elecond.h index 77dccff792..4cb55ae328 100644 --- a/source/module_hamilt_pw/hamilt_stodft/sto_elecond.h +++ b/source/module_hamilt_pw/hamilt_stodft/sto_elecond.h @@ -6,7 +6,7 @@ #include "module_hamilt_pw/hamilt_stodft/sto_wf.h" #include "module_hsolver/hsolver_pw_sdft.h" -class Sto_EleCond : protected EleCond +class Sto_EleCond : protected EleCond { public: Sto_EleCond(UnitCell* p_ucell_in, @@ -90,7 +90,7 @@ class Sto_EleCond : protected EleCond const int& bsize_psi, std::vector>& j1, std::vector>& j2, - hamilt::Velocity& velop, + hamilt::Velocity& velop, const int& ik, const std::complex& factor, const int bandinfo[6]); From 4e7f2bf19001f5e7271b91271631e38b60266cc3 Mon Sep 17 00:00:00 2001 From: Qianruipku Date: Sat, 15 Mar 2025 23:32:53 +0800 Subject: [PATCH 2/4] fix bug add tests for KG-GPU --- .../module_hamilt_pw/hamilt_pwdft/elecond.cpp | 1 + .../module_hamilt_pw/hamilt_pwdft/elecond.h | 2 +- .../hamilt_pwdft/operator_pw/velocity_pw.cpp | 85 +- .../hamilt_pwdft/operator_pw/velocity_pw.h | 4 +- tests/integrate/186_PW_KG_100_GPU/INPUT | 37 + tests/integrate/186_PW_KG_100_GPU/KPT | 4 + tests/integrate/186_PW_KG_100_GPU/README | 9 + tests/integrate/186_PW_KG_100_GPU/STRU | 18 + .../186_PW_KG_100_GPU/refOnsager.txt | 1001 +++++++++++++++++ tests/integrate/186_PW_KG_100_GPU/result.ref | 7 + 10 files changed, 1115 insertions(+), 53 deletions(-) create mode 100644 tests/integrate/186_PW_KG_100_GPU/INPUT create mode 100644 tests/integrate/186_PW_KG_100_GPU/KPT create mode 100644 tests/integrate/186_PW_KG_100_GPU/README create mode 100644 tests/integrate/186_PW_KG_100_GPU/STRU create mode 100644 tests/integrate/186_PW_KG_100_GPU/refOnsager.txt create mode 100644 tests/integrate/186_PW_KG_100_GPU/result.ref diff --git a/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp b/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp index 7ce11dfae9..5997a139cf 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp +++ b/source/module_hamilt_pw/hamilt_pwdft/elecond.cpp @@ -159,6 +159,7 @@ void EleCond::jjresponse_ks(const int ik, { pij_c = pij_d; } + else { std::vector> pij_h(nbands * nbands); syncmem_complex_d2h_op()(pij_h.data(), pij_d, nbands * nbands); diff --git a/source/module_hamilt_pw/hamilt_pwdft/elecond.h b/source/module_hamilt_pw/hamilt_pwdft/elecond.h index 7d2fcb01a3..8ccc0a1408 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/elecond.h +++ b/source/module_hamilt_pw/hamilt_pwdft/elecond.h @@ -15,7 +15,7 @@ class EleCond public: using resmem_complex_op = base_device::memory::resize_memory_op, Device>; using delmem_complex_op = base_device::memory::delete_memory_op, Device>; - using syncmem_complex_d2h_op = base_device::memory::synchronize_memory_op, Device, base_device::DEVICE_CPU>; + using syncmem_complex_d2h_op = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, Device>; public: EleCond(UnitCell* p_ucell_in, K_Vectors* p_kv_in, diff --git a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp index 0a13ac7027..3998ef9b85 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp +++ b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.cpp @@ -37,7 +37,6 @@ Velocity::~Velocity() delmem_var_op()(this->gz_); delmem_complex_op()(vkb_); delmem_complex_op()(gradvkb_); - delmem_var_op()(deeq_); } template @@ -48,10 +47,12 @@ void Velocity::init(const int ik_in) const int npw = this->wfcpw->npwk[ik_in]; const int npwk_max = this->wfcpw->npwk_max; std::vector gtmp(npw); + resmem_var_op()(gx_, npw); + resmem_var_op()(gy_, npw); + resmem_var_op()(gz_, npw); std::vector gtmp_ptr = {this->gx_, this->gy_, this->gz_}; for(int i=0; i<3; ++i) { - resmem_var_op()(gtmp_ptr[i], npw); for (int ig = 0; ig < npw; ++ig) { const ModuleBase::Vector3 tmpg = wfcpw->getgpluskcar(this->ik, ig); @@ -64,47 +65,20 @@ void Velocity::init(const int ik_in) if (this->ppcell->nkb > 0 && this->nonlocal) { this->ppcell->getgradq_vnl(*this->ucell, ik_in); - } - // sync to device - if(std::is_same::value || std::is_same::value) - { - const int nkb = this->ppcell->nkb; - // vkb - resmem_complex_op()(vkb_, nkb * npwk_max); - for(int ib = 0; ib < nkb; ++ib) + // sync to device + if (std::is_same::value || std::is_same::value) { - castmem_complex_h2d_op()(vkb_ + ib * npw, this->ppcell->vkb.c + ib * npwk_max, npw); - } + const int nkb = this->ppcell->nkb; + // vkb + resmem_complex_op()(vkb_, nkb * npwk_max); + castmem_complex_h2d_op()(vkb_, this->ppcell->vkb.c, nkb * npwk_max); - // gradvkb - resmem_complex_op()(gradvkb_, 3 * nkb * npwk_max); - for(int ib = 0; ib < 3 * nkb; ++ib) - { - castmem_complex_h2d_op()(gradvkb_ + ib * npw, this->ppcell->gradvkb.ptr + ib * npwk_max, npw); - } - - // deep - int dim_deeq = 0; - for (int it = 0; it < this->ucell->ntype; ++it) - { - const int Nprojs = this->ucell->atoms[it].ncpp.nh; - dim_deeq += Nprojs * Nprojs * this->ucell->atoms[it].na; - } - resmem_var_op()(deeq_, dim_deeq); - const int current_spin = this->isk[ik]; - int ipp = 0; - int iat = 0; - for (int it = 0; it < this->ucell->ntype; it++) - { - const int Nprojs = this->ucell->atoms[it].ncpp.nh; - const int Nprojs2 = Nprojs * Nprojs; - castmem_var_h2d_op()(deeq_ + ipp, &(this->ppcell->deeq(current_spin, iat, 0, 0)), Nprojs2); - iat += this->ucell->atoms[it].na; - ipp += Nprojs2; + // gradvkb + resmem_complex_op()(gradvkb_, 3 * nkb * npwk_max); + castmem_complex_h2d_op()(gradvkb_, this->ppcell->gradvkb.ptr, 3 * nkb * npwk_max); } } - } template @@ -116,9 +90,8 @@ void Velocity::act(const psi::Psi, Device>* { ModuleBase::timer::tick("Operator", "Velocity"); - const int npw = psi_in->get_current_nbas(); - - const int max_npw = psi_in->get_nbasis() / psi_in->get_npol(); + const int npw = this->wfcpw->npwk[this->ik]; + const int max_npw = this->wfcpw->npwk_max; const int npol = psi_in->get_npol(); std::vector gtmp_ptr = {this->gx_, this->gy_, this->gz_}; @@ -161,11 +134,20 @@ void Velocity::act(const psi::Psi, Device>* const int nkb3 = 3 * nkb; Complex one = 1.0; Complex zero = 0.0; + + Complex* vkb_d = reinterpret_cast(this->ppcell->vkb.c); + Complex* gradvkb_d = reinterpret_cast(this->ppcell->gradvkb.ptr); + if (std::is_same::value || std::is_same::value) + { + vkb_d = vkb_; + gradvkb_d = gradvkb_; + } + if (n_npwx == 1) { int inc = 1; - ModuleBase::gemv_op()('C', npw, nkb, &one, vkb_, max_npw, psi0, inc, &zero, becp1_, inc); - ModuleBase::gemv_op()('C', npw, nkb3, &one, gradvkb_, max_npw, psi0, inc, &zero, becp2_, inc); + ModuleBase::gemv_op()('C', npw, nkb, &one, vkb_d, max_npw, psi0, inc, &zero, becp1_, inc); + ModuleBase::gemv_op()('C', npw, nkb3, &one, gradvkb_d, max_npw, psi0, inc, &zero, becp2_, inc); } else { @@ -175,7 +157,7 @@ void Velocity::act(const psi::Psi, Device>* n_npwx, npw, &one, - vkb_, + vkb_d, max_npw, psi0, max_npw, @@ -188,7 +170,7 @@ void Velocity::act(const psi::Psi, Device>* n_npwx, npw, &one, - gradvkb_, + gradvkb_d, max_npw, psi0, max_npw, @@ -220,6 +202,9 @@ void Velocity::act(const psi::Psi, Device>* Parallel_Reduce::reduce_pool(becp2_, nkb3 * n_npwx); becp1_cpu = becp1_; becp2_cpu = becp2_; + + setmem_complex_op()(ps1_, 0.0, nkb * n_npwx); + setmem_complex_op()(ps2_, 0.0, nkb3 * n_npwx); ps1_cpu = ps1_; ps2_cpu = ps2_; } @@ -241,7 +226,7 @@ void Velocity::act(const psi::Psi, Device>* { for (int ib = 0; ib < n_npwx; ++ib) { - double dij = this->ppcell->deeq(current_spin, iat, ip, ip2); + FPTYPE dij = static_cast(this->ppcell->deeq(current_spin, iat, ip, ip2)); int sumip2 = sum + ip2; int sumip = sum + ip; ps1_cpu[sumip2 * n_npwx + ib] += dij * becp1_cpu[ib * nkb + sumip]; @@ -279,7 +264,7 @@ void Velocity::act(const psi::Psi, Device>* npw, nkb, &one, - gradvkb_ + vkbshift, + gradvkb_d + vkbshift, max_npw, ps1_, inc, @@ -290,7 +275,7 @@ void Velocity::act(const psi::Psi, Device>* npw, nkb, &one, - vkb_, + vkb_d, max_npw, ps2_ + ps2shift, inc, @@ -312,7 +297,7 @@ void Velocity::act(const psi::Psi, Device>* n_npwx, nkb, &one, - gradvkb_ + vkbshift, + gradvkb_d + vkbshift, max_npw, ps1_, n_npwx, @@ -325,7 +310,7 @@ void Velocity::act(const psi::Psi, Device>* n_npwx, nkb, &one, - vkb_, + vkb_d, max_npw, ps2_ + ps2shift, n_npwx, diff --git a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h index 7e3fd52d35..14ef0799e9 100644 --- a/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h +++ b/source/module_hamilt_pw/hamilt_pwdft/operator_pw/velocity_pw.h @@ -72,8 +72,8 @@ class Velocity using setmem_complex_op = base_device::memory::set_memory_op, Device>; using delmem_complex_op = base_device::memory::delete_memory_op, Device>; using castmem_complex_h2d_op = base_device::memory::cast_memory_op, std::complex, Device, base_device::DEVICE_CPU>; - using syncmem_complex_d2h_op = base_device::memory::synchronize_memory_op, Device, base_device::DEVICE_CPU>; - using syncmem_complex_h2d_op = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, Device>; + using syncmem_complex_d2h_op = base_device::memory::synchronize_memory_op, base_device::DEVICE_CPU, Device>; + using syncmem_complex_h2d_op = base_device::memory::synchronize_memory_op, Device, base_device::DEVICE_CPU>; }; } #endif \ No newline at end of file diff --git a/tests/integrate/186_PW_KG_100_GPU/INPUT b/tests/integrate/186_PW_KG_100_GPU/INPUT new file mode 100644 index 0000000000..5276988907 --- /dev/null +++ b/tests/integrate/186_PW_KG_100_GPU/INPUT @@ -0,0 +1,37 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix autotest +calculation scf +esolver_type ksdft + +nbands 100 +pseudo_dir ../../PP_ORB +symmetry 1 +kpar 2 +device gpu + +#Parameters (2.Iteration) +ecutwfc 20 +scf_thr 1e-6 +scf_nmax 50 + + +#Parameters (3.Basis) +basis_type pw + +#Parameters (4.Smearing) +smearing_method fd +smearing_sigma 0.6 + +#Parameters (5.Mixing) +mixing_type broyden +mixing_beta 0.4 +mixing_gg0 0.0 + +cal_cond 1 +cond_fwhm 8 +cond_wcut 20 +cond_dw 0.02 +cond_dt 0.237464 +cond_dtbatch 1 +cond_nonlocal 1 diff --git a/tests/integrate/186_PW_KG_100_GPU/KPT b/tests/integrate/186_PW_KG_100_GPU/KPT new file mode 100644 index 0000000000..4fd38968a0 --- /dev/null +++ b/tests/integrate/186_PW_KG_100_GPU/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +2 2 1 0 0 0 diff --git a/tests/integrate/186_PW_KG_100_GPU/README b/tests/integrate/186_PW_KG_100_GPU/README new file mode 100644 index 0000000000..033d794f7f --- /dev/null +++ b/tests/integrate/186_PW_KG_100_GPU/README @@ -0,0 +1,9 @@ +This test for: +*KSDFT +*Al +*kpoints 2*2*1 +*100 KS +*kpar 2 +*bndpar 1 +*device gpu +*cal_cond 1 diff --git a/tests/integrate/186_PW_KG_100_GPU/STRU b/tests/integrate/186_PW_KG_100_GPU/STRU new file mode 100644 index 0000000000..0dbc74b343 --- /dev/null +++ b/tests/integrate/186_PW_KG_100_GPU/STRU @@ -0,0 +1,18 @@ +ATOMIC_SPECIES +Si 14 Si.pz-vbc.UPF + +LATTICE_CONSTANT +5 // add lattice constant + +LATTICE_VECTORS +1 0 0 +0 1 0 +0 0 1 + +ATOMIC_POSITIONS +Direct + +Si // Element type +0.0 // magnetism +1 +0.00 0.00 0.00 1 1 1 diff --git a/tests/integrate/186_PW_KG_100_GPU/refOnsager.txt b/tests/integrate/186_PW_KG_100_GPU/refOnsager.txt new file mode 100644 index 0000000000..e3a848b1b6 --- /dev/null +++ b/tests/integrate/186_PW_KG_100_GPU/refOnsager.txt @@ -0,0 +1,1001 @@ +## w(eV) sigma(Sm^-1) kappa(W(mK)^-1) L12/e(Am^-1) L22/e^2(Wm^-1) + 0.01 357706 628.635 -7.14858e+06 2.02413e+08 + 0.03 357703 628.627 -7.14854e+06 2.02412e+08 + 0.05 357696 628.611 -7.14846e+06 2.0241e+08 + 0.07 357686 628.586 -7.14833e+06 2.02406e+08 + 0.09 357673 628.554 -7.14816e+06 2.02402e+08 + 0.11 357657 628.514 -7.14795e+06 2.02396e+08 + 0.13 357637 628.466 -7.1477e+06 2.02389e+08 + 0.15 357615 628.41 -7.14741e+06 2.02381e+08 + 0.17 357589 628.346 -7.14707e+06 2.02372e+08 + 0.19 357559 628.273 -7.14669e+06 2.02362e+08 + 0.21 357527 628.193 -7.14627e+06 2.0235e+08 + 0.23 357491 628.105 -7.14581e+06 2.02338e+08 + 0.25 357452 628.008 -7.1453e+06 2.02324e+08 + 0.27 357410 627.904 -7.14476e+06 2.02309e+08 + 0.29 357364 627.792 -7.14417e+06 2.02293e+08 + 0.31 357316 627.672 -7.14354e+06 2.02276e+08 + 0.33 357264 627.543 -7.14286e+06 2.02258e+08 + 0.35 357209 627.407 -7.14215e+06 2.02238e+08 + 0.37 357150 627.263 -7.14139e+06 2.02218e+08 + 0.39 357088 627.111 -7.14059e+06 2.02196e+08 + 0.41 357023 626.951 -7.13975e+06 2.02173e+08 + 0.43 356955 626.782 -7.13887e+06 2.02149e+08 + 0.45 356884 626.606 -7.13794e+06 2.02124e+08 + 0.47 356809 626.422 -7.13697e+06 2.02098e+08 + 0.49 356731 626.23 -7.13596e+06 2.0207e+08 + 0.51 356650 626.031 -7.13491e+06 2.02042e+08 + 0.53 356566 625.823 -7.13382e+06 2.02012e+08 + 0.55 356478 625.607 -7.13268e+06 2.01981e+08 + 0.57 356388 625.384 -7.1315e+06 2.01949e+08 + 0.59 356294 625.152 -7.13028e+06 2.01916e+08 + 0.61 356196 624.913 -7.12902e+06 2.01882e+08 + 0.63 356096 624.666 -7.12772e+06 2.01847e+08 + 0.65 355992 624.41 -7.12637e+06 2.0181e+08 + 0.67 355885 624.148 -7.12498e+06 2.01772e+08 + 0.69 355775 623.877 -7.12355e+06 2.01734e+08 + 0.71 355662 623.598 -7.12208e+06 2.01694e+08 + 0.73 355545 623.312 -7.12056e+06 2.01653e+08 + 0.75 355426 623.018 -7.11901e+06 2.0161e+08 + 0.77 355303 622.716 -7.11741e+06 2.01567e+08 + 0.79 355177 622.406 -7.11577e+06 2.01522e+08 + 0.81 355047 622.089 -7.11408e+06 2.01477e+08 + 0.83 354915 621.764 -7.11236e+06 2.0143e+08 + 0.85 354779 621.431 -7.11059e+06 2.01382e+08 + 0.87 354640 621.09 -7.10878e+06 2.01333e+08 + 0.89 354498 620.742 -7.10693e+06 2.01283e+08 + 0.91 354353 620.386 -7.10503e+06 2.01232e+08 + 0.93 354205 620.022 -7.10309e+06 2.01179e+08 + 0.95 354053 619.651 -7.10112e+06 2.01126e+08 + 0.97 353899 619.272 -7.09909e+06 2.01071e+08 + 0.99 353741 618.885 -7.09703e+06 2.01015e+08 + 1.01 353580 618.491 -7.09493e+06 2.00958e+08 + 1.03 353415 618.089 -7.09278e+06 2.009e+08 + 1.05 353248 617.68 -7.09059e+06 2.00841e+08 + 1.07 353077 617.263 -7.08836e+06 2.0078e+08 + 1.09 352904 616.839 -7.08608e+06 2.00719e+08 + 1.11 352727 616.407 -7.08377e+06 2.00656e+08 + 1.13 352547 615.968 -7.08141e+06 2.00592e+08 + 1.15 352364 615.521 -7.07901e+06 2.00527e+08 + 1.17 352178 615.067 -7.07656e+06 2.00461e+08 + 1.19 351988 614.605 -7.07408e+06 2.00394e+08 + 1.21 351796 614.136 -7.07155e+06 2.00326e+08 + 1.23 351600 613.659 -7.06898e+06 2.00256e+08 + 1.25 351401 613.176 -7.06637e+06 2.00186e+08 + 1.27 351200 612.684 -7.06371e+06 2.00114e+08 + 1.29 350995 612.186 -7.06102e+06 2.00041e+08 + 1.31 350787 611.68 -7.05828e+06 1.99968e+08 + 1.33 350576 611.167 -7.0555e+06 1.99892e+08 + 1.35 350361 610.647 -7.05267e+06 1.99816e+08 + 1.37 350144 610.119 -7.04981e+06 1.99739e+08 + 1.39 349924 609.584 -7.0469e+06 1.99661e+08 + 1.41 349700 609.042 -7.04395e+06 1.99581e+08 + 1.43 349474 608.493 -7.04095e+06 1.995e+08 + 1.45 349244 607.937 -7.03792e+06 1.99419e+08 + 1.47 349011 607.373 -7.03484e+06 1.99336e+08 + 1.49 348776 606.803 -7.03172e+06 1.99252e+08 + 1.51 348537 606.225 -7.02856e+06 1.99166e+08 + 1.53 348295 605.64 -7.02535e+06 1.9908e+08 + 1.55 348050 605.049 -7.02211e+06 1.98993e+08 + 1.57 347802 604.45 -7.01882e+06 1.98904e+08 + 1.59 347551 603.845 -7.01549e+06 1.98815e+08 + 1.61 347297 603.232 -7.01211e+06 1.98724e+08 + 1.63 347040 602.613 -7.0087e+06 1.98632e+08 + 1.65 346780 601.986 -7.00524e+06 1.98539e+08 + 1.67 346517 601.353 -7.00174e+06 1.98445e+08 + 1.69 346251 600.713 -6.99819e+06 1.9835e+08 + 1.71 345982 600.066 -6.99461e+06 1.98253e+08 + 1.73 345711 599.412 -6.99098e+06 1.98156e+08 + 1.75 345436 598.752 -6.98731e+06 1.98057e+08 + 1.77 345158 598.085 -6.98359e+06 1.97958e+08 + 1.79 344877 597.411 -6.97984e+06 1.97857e+08 + 1.81 344593 596.731 -6.97604e+06 1.97755e+08 + 1.83 344306 596.043 -6.9722e+06 1.97652e+08 + 1.85 344016 595.35 -6.96832e+06 1.97548e+08 + 1.87 343723 594.649 -6.96439e+06 1.97442e+08 + 1.89 343428 593.942 -6.96042e+06 1.97336e+08 + 1.91 343129 593.229 -6.95641e+06 1.97229e+08 + 1.93 342828 592.509 -6.95236e+06 1.9712e+08 + 1.95 342523 591.783 -6.94827e+06 1.9701e+08 + 1.97 342216 591.05 -6.94413e+06 1.969e+08 + 1.99 341905 590.311 -6.93995e+06 1.96788e+08 + 2.01 341592 589.565 -6.93573e+06 1.96675e+08 + 2.03 341276 588.813 -6.93146e+06 1.96561e+08 + 2.05 340957 588.055 -6.92715e+06 1.96445e+08 + 2.07 340635 587.291 -6.92281e+06 1.96329e+08 + 2.09 340311 586.52 -6.91841e+06 1.96212e+08 + 2.11 339983 585.743 -6.91398e+06 1.96093e+08 + 2.13 339653 584.96 -6.9095e+06 1.95974e+08 + 2.15 339319 584.171 -6.90498e+06 1.95853e+08 + 2.17 338983 583.375 -6.90042e+06 1.95731e+08 + 2.19 338644 582.574 -6.89581e+06 1.95608e+08 + 2.21 338302 581.766 -6.89117e+06 1.95484e+08 + 2.23 337958 580.953 -6.88648e+06 1.95359e+08 + 2.25 337610 580.133 -6.88175e+06 1.95233e+08 + 2.27 337260 579.308 -6.87697e+06 1.95106e+08 + 2.29 336907 578.476 -6.87215e+06 1.94977e+08 + 2.31 336551 577.639 -6.86729e+06 1.94848e+08 + 2.33 336192 576.796 -6.86239e+06 1.94717e+08 + 2.35 335831 575.947 -6.85745e+06 1.94585e+08 + 2.37 335467 575.092 -6.85246e+06 1.94453e+08 + 2.39 335100 574.232 -6.84743e+06 1.94319e+08 + 2.41 334730 573.366 -6.84236e+06 1.94184e+08 + 2.43 334358 572.494 -6.83724e+06 1.94048e+08 + 2.45 333982 571.616 -6.83209e+06 1.93911e+08 + 2.47 333604 570.733 -6.82689e+06 1.93773e+08 + 2.49 333224 569.845 -6.82164e+06 1.93633e+08 + 2.51 332840 568.951 -6.81636e+06 1.93493e+08 + 2.53 332454 568.051 -6.81103e+06 1.93351e+08 + 2.55 332066 567.146 -6.80566e+06 1.93209e+08 + 2.57 331674 566.235 -6.80025e+06 1.93065e+08 + 2.59 331280 565.319 -6.7948e+06 1.9292e+08 + 2.61 330883 564.398 -6.7893e+06 1.92775e+08 + 2.63 330484 563.471 -6.78376e+06 1.92628e+08 + 2.65 330082 562.539 -6.77818e+06 1.9248e+08 + 2.67 329677 561.602 -6.77255e+06 1.92331e+08 + 2.69 329269 560.659 -6.76689e+06 1.9218e+08 + 2.71 328859 559.712 -6.76118e+06 1.92029e+08 + 2.73 328447 558.759 -6.75543e+06 1.91877e+08 + 2.75 328031 557.801 -6.74963e+06 1.91724e+08 + 2.77 327613 556.838 -6.74379e+06 1.91569e+08 + 2.79 327193 555.87 -6.73792e+06 1.91414e+08 + 2.81 326770 554.898 -6.73199e+06 1.91257e+08 + 2.83 326344 553.92 -6.72603e+06 1.91099e+08 + 2.85 325916 552.937 -6.72002e+06 1.90941e+08 + 2.87 325485 551.949 -6.71398e+06 1.90781e+08 + 2.89 325052 550.957 -6.70788e+06 1.9062e+08 + 2.91 324616 549.96 -6.70175e+06 1.90458e+08 + 2.93 324177 548.957 -6.69557e+06 1.90295e+08 + 2.95 323737 547.951 -6.68936e+06 1.90131e+08 + 2.97 323293 546.939 -6.6831e+06 1.89966e+08 + 2.99 322847 545.923 -6.67679e+06 1.89799e+08 + 3.01 322399 544.902 -6.67045e+06 1.89632e+08 + 3.03 321948 543.877 -6.66406e+06 1.89464e+08 + 3.05 321494 542.847 -6.65763e+06 1.89294e+08 + 3.07 321038 541.813 -6.65116e+06 1.89124e+08 + 3.09 320580 540.774 -6.64464e+06 1.88952e+08 + 3.11 320119 539.731 -6.63809e+06 1.88779e+08 + 3.13 319656 538.683 -6.63149e+06 1.88606e+08 + 3.15 319190 537.632 -6.62485e+06 1.88431e+08 + 3.17 318722 536.575 -6.61816e+06 1.88255e+08 + 3.19 318252 535.515 -6.61144e+06 1.88078e+08 + 3.21 317779 534.45 -6.60467e+06 1.879e+08 + 3.23 317303 533.381 -6.59786e+06 1.87721e+08 + 3.25 316826 532.308 -6.59101e+06 1.87541e+08 + 3.27 316346 531.231 -6.58411e+06 1.8736e+08 + 3.29 315863 530.15 -6.57718e+06 1.87178e+08 + 3.31 315378 529.065 -6.5702e+06 1.86995e+08 + 3.33 314891 527.976 -6.56318e+06 1.86811e+08 + 3.35 314402 526.882 -6.55612e+06 1.86625e+08 + 3.37 313910 525.785 -6.54901e+06 1.86439e+08 + 3.39 313416 524.684 -6.54187e+06 1.86252e+08 + 3.41 312920 523.58 -6.53468e+06 1.86063e+08 + 3.43 312421 522.471 -6.52745e+06 1.85874e+08 + 3.45 311920 521.359 -6.52018e+06 1.85683e+08 + 3.47 311417 520.243 -6.51286e+06 1.85492e+08 + 3.49 310911 519.123 -6.50551e+06 1.85299e+08 + 3.51 310404 518 -6.49811e+06 1.85105e+08 + 3.53 309894 516.873 -6.49067e+06 1.84911e+08 + 3.55 309381 515.742 -6.48319e+06 1.84715e+08 + 3.57 308867 514.608 -6.47566e+06 1.84518e+08 + 3.59 308350 513.471 -6.4681e+06 1.8432e+08 + 3.61 307831 512.33 -6.46049e+06 1.84121e+08 + 3.63 307310 511.186 -6.45284e+06 1.83921e+08 + 3.65 306787 510.038 -6.44515e+06 1.83721e+08 + 3.67 306262 508.887 -6.43742e+06 1.83519e+08 + 3.69 305734 507.733 -6.42965e+06 1.83316e+08 + 3.71 305204 506.576 -6.42183e+06 1.83112e+08 + 3.73 304673 505.415 -6.41398e+06 1.82906e+08 + 3.75 304139 504.251 -6.40608e+06 1.827e+08 + 3.77 303603 503.084 -6.39814e+06 1.82493e+08 + 3.79 303064 501.914 -6.39016e+06 1.82285e+08 + 3.81 302524 500.741 -6.38214e+06 1.82076e+08 + 3.83 301982 499.565 -6.37408e+06 1.81866e+08 + 3.85 301437 498.386 -6.36597e+06 1.81655e+08 + 3.87 300891 497.204 -6.35783e+06 1.81442e+08 + 3.89 300343 496.019 -6.34964e+06 1.81229e+08 + 3.91 299792 494.832 -6.34141e+06 1.81015e+08 + 3.93 299239 493.641 -6.33314e+06 1.80799e+08 + 3.95 298685 492.448 -6.32483e+06 1.80583e+08 + 3.97 298128 491.252 -6.31648e+06 1.80366e+08 + 3.99 297570 490.053 -6.30809e+06 1.80147e+08 + 4.01 297009 488.852 -6.29966e+06 1.79928e+08 + 4.03 296446 487.648 -6.29118e+06 1.79708e+08 + 4.05 295882 486.442 -6.28267e+06 1.79486e+08 + 4.07 295316 485.233 -6.27412e+06 1.79264e+08 + 4.09 294747 484.022 -6.26552e+06 1.7904e+08 + 4.11 294177 482.808 -6.25688e+06 1.78816e+08 + 4.13 293605 481.591 -6.24821e+06 1.78591e+08 + 4.15 293030 480.373 -6.23949e+06 1.78364e+08 + 4.17 292454 479.152 -6.23073e+06 1.78137e+08 + 4.19 291877 477.928 -6.22193e+06 1.77908e+08 + 4.21 291297 476.703 -6.21309e+06 1.77679e+08 + 4.23 290715 475.475 -6.20422e+06 1.77448e+08 + 4.25 290132 474.245 -6.1953e+06 1.77217e+08 + 4.27 289546 473.013 -6.18634e+06 1.76985e+08 + 4.29 288959 471.779 -6.17734e+06 1.76751e+08 + 4.31 288370 470.543 -6.1683e+06 1.76517e+08 + 4.33 287780 469.304 -6.15922e+06 1.76281e+08 + 4.35 287187 468.064 -6.1501e+06 1.76045e+08 + 4.37 286593 466.822 -6.14094e+06 1.75808e+08 + 4.39 285997 465.578 -6.13174e+06 1.75569e+08 + 4.41 285399 464.332 -6.1225e+06 1.7533e+08 + 4.43 284799 463.084 -6.11323e+06 1.7509e+08 + 4.45 284198 461.834 -6.10391e+06 1.74848e+08 + 4.47 283595 460.583 -6.09455e+06 1.74606e+08 + 4.49 282991 459.33 -6.08515e+06 1.74363e+08 + 4.51 282384 458.075 -6.07572e+06 1.74119e+08 + 4.53 281776 456.819 -6.06624e+06 1.73873e+08 + 4.55 281166 455.561 -6.05673e+06 1.73627e+08 + 4.57 280555 454.301 -6.04718e+06 1.7338e+08 + 4.59 279942 453.04 -6.03758e+06 1.73132e+08 + 4.61 279327 451.778 -6.02795e+06 1.72883e+08 + 4.63 278711 450.514 -6.01828e+06 1.72633e+08 + 4.65 278093 449.248 -6.00857e+06 1.72382e+08 + 4.67 277474 447.981 -5.99883e+06 1.7213e+08 + 4.69 276853 446.713 -5.98904e+06 1.71877e+08 + 4.71 276230 445.444 -5.97922e+06 1.71623e+08 + 4.73 275606 444.173 -5.96936e+06 1.71368e+08 + 4.75 274980 442.901 -5.95945e+06 1.71112e+08 + 4.77 274353 441.628 -5.94952e+06 1.70855e+08 + 4.79 273724 440.353 -5.93954e+06 1.70598e+08 + 4.81 273094 439.078 -5.92952e+06 1.70339e+08 + 4.83 272462 437.801 -5.91947e+06 1.70079e+08 + 4.85 271829 436.523 -5.90938e+06 1.69819e+08 + 4.87 271195 435.245 -5.89925e+06 1.69557e+08 + 4.89 270558 433.965 -5.88909e+06 1.69295e+08 + 4.91 269921 432.685 -5.87888e+06 1.69032e+08 + 4.93 269282 431.403 -5.86864e+06 1.68767e+08 + 4.95 268641 430.121 -5.85837e+06 1.68502e+08 + 4.97 268000 428.837 -5.84805e+06 1.68236e+08 + 4.99 267356 427.553 -5.8377e+06 1.67969e+08 + 5.01 266712 426.269 -5.82731e+06 1.67701e+08 + 5.03 266066 424.983 -5.81689e+06 1.67432e+08 + 5.05 265418 423.697 -5.80642e+06 1.67162e+08 + 5.07 264770 422.41 -5.79593e+06 1.66891e+08 + 5.09 264120 421.122 -5.78539e+06 1.6662e+08 + 5.11 263469 419.834 -5.77482e+06 1.66347e+08 + 5.13 262816 418.546 -5.76421e+06 1.66073e+08 + 5.15 262162 417.256 -5.75357e+06 1.65799e+08 + 5.17 261507 415.967 -5.74289e+06 1.65524e+08 + 5.19 260851 414.676 -5.73217e+06 1.65247e+08 + 5.21 260193 413.386 -5.72142e+06 1.6497e+08 + 5.23 259534 412.095 -5.71064e+06 1.64692e+08 + 5.25 258874 410.803 -5.69981e+06 1.64413e+08 + 5.27 258213 409.512 -5.68896e+06 1.64134e+08 + 5.29 257550 408.22 -5.67807e+06 1.63853e+08 + 5.31 256886 406.928 -5.66714e+06 1.63571e+08 + 5.33 256222 405.635 -5.65618e+06 1.63289e+08 + 5.35 255556 404.342 -5.64518e+06 1.63006e+08 + 5.37 254888 403.05 -5.63415e+06 1.62721e+08 + 5.39 254220 401.757 -5.62308e+06 1.62436e+08 + 5.41 253551 400.464 -5.61199e+06 1.6215e+08 + 5.43 252880 399.17 -5.60085e+06 1.61863e+08 + 5.45 252209 397.877 -5.58968e+06 1.61576e+08 + 5.47 251536 396.584 -5.57848e+06 1.61287e+08 + 5.49 250862 395.291 -5.56725e+06 1.60998e+08 + 5.51 250188 393.998 -5.55598e+06 1.60707e+08 + 5.53 249512 392.705 -5.54468e+06 1.60416e+08 + 5.55 248835 391.412 -5.53334e+06 1.60124e+08 + 5.57 248157 390.119 -5.52197e+06 1.59832e+08 + 5.59 247478 388.827 -5.51057e+06 1.59538e+08 + 5.61 246799 387.535 -5.49914e+06 1.59243e+08 + 5.63 246118 386.243 -5.48767e+06 1.58948e+08 + 5.65 245436 384.951 -5.47618e+06 1.58652e+08 + 5.67 244754 383.66 -5.46465e+06 1.58355e+08 + 5.69 244070 382.368 -5.45308e+06 1.58057e+08 + 5.71 243386 381.078 -5.44149e+06 1.57758e+08 + 5.73 242700 379.787 -5.42986e+06 1.57459e+08 + 5.75 242014 378.498 -5.41821e+06 1.57159e+08 + 5.77 241327 377.208 -5.40652e+06 1.56858e+08 + 5.79 240639 375.919 -5.3948e+06 1.56556e+08 + 5.81 239951 374.631 -5.38305e+06 1.56253e+08 + 5.83 239261 373.343 -5.37127e+06 1.5595e+08 + 5.85 238571 372.056 -5.35946e+06 1.55645e+08 + 5.87 237879 370.769 -5.34762e+06 1.5534e+08 + 5.89 237187 369.483 -5.33574e+06 1.55034e+08 + 5.91 236495 368.198 -5.32384e+06 1.54728e+08 + 5.93 235801 366.913 -5.31191e+06 1.5442e+08 + 5.95 235107 365.629 -5.29995e+06 1.54112e+08 + 5.97 234412 364.346 -5.28796e+06 1.53803e+08 + 5.99 233717 363.063 -5.27594e+06 1.53494e+08 + 6.01 233020 361.782 -5.26389e+06 1.53183e+08 + 6.03 232323 360.501 -5.25182e+06 1.52872e+08 + 6.05 231626 359.221 -5.23971e+06 1.5256e+08 + 6.07 230927 357.942 -5.22758e+06 1.52247e+08 + 6.09 230228 356.664 -5.21542e+06 1.51934e+08 + 6.11 229529 355.387 -5.20323e+06 1.51619e+08 + 6.13 228829 354.11 -5.19101e+06 1.51305e+08 + 6.15 228128 352.835 -5.17876e+06 1.50989e+08 + 6.17 227427 351.561 -5.16649e+06 1.50672e+08 + 6.19 226725 350.288 -5.15419e+06 1.50355e+08 + 6.21 226022 349.016 -5.14187e+06 1.50038e+08 + 6.23 225319 347.745 -5.12952e+06 1.49719e+08 + 6.25 224616 346.475 -5.11714e+06 1.494e+08 + 6.27 223912 345.206 -5.10474e+06 1.4908e+08 + 6.29 223207 343.939 -5.09231e+06 1.48759e+08 + 6.31 222503 342.673 -5.07985e+06 1.48438e+08 + 6.33 221797 341.408 -5.06737e+06 1.48116e+08 + 6.35 221091 340.144 -5.05486e+06 1.47793e+08 + 6.37 220385 338.881 -5.04233e+06 1.4747e+08 + 6.39 219678 337.62 -5.02978e+06 1.47146e+08 + 6.41 218971 336.36 -5.0172e+06 1.46821e+08 + 6.43 218264 335.102 -5.00459e+06 1.46496e+08 + 6.45 217556 333.845 -4.99196e+06 1.4617e+08 + 6.47 216848 332.589 -4.97931e+06 1.45843e+08 + 6.49 216140 331.335 -4.96664e+06 1.45516e+08 + 6.51 215431 330.082 -4.95394e+06 1.45188e+08 + 6.53 214722 328.83 -4.94122e+06 1.44859e+08 + 6.55 214012 327.58 -4.92848e+06 1.4453e+08 + 6.57 213303 326.332 -4.91571e+06 1.442e+08 + 6.59 212593 325.085 -4.90292e+06 1.4387e+08 + 6.61 211882 323.84 -4.89011e+06 1.43539e+08 + 6.63 211172 322.596 -4.87728e+06 1.43207e+08 + 6.65 210461 321.354 -4.86443e+06 1.42875e+08 + 6.67 209751 320.114 -4.85156e+06 1.42542e+08 + 6.69 209040 318.875 -4.83866e+06 1.42209e+08 + 6.71 208328 317.638 -4.82575e+06 1.41875e+08 + 6.73 207617 316.402 -4.81281e+06 1.4154e+08 + 6.75 206906 315.169 -4.79986e+06 1.41205e+08 + 6.77 206194 313.937 -4.78689e+06 1.4087e+08 + 6.79 205482 312.707 -4.77389e+06 1.40534e+08 + 6.81 204771 311.478 -4.76088e+06 1.40197e+08 + 6.83 204059 310.252 -4.74785e+06 1.3986e+08 + 6.85 203347 309.027 -4.7348e+06 1.39522e+08 + 6.87 202635 307.804 -4.72173e+06 1.39183e+08 + 6.89 201923 306.583 -4.70865e+06 1.38844e+08 + 6.91 201211 305.364 -4.69554e+06 1.38505e+08 + 6.93 200499 304.147 -4.68242e+06 1.38165e+08 + 6.95 199787 302.932 -4.66928e+06 1.37825e+08 + 6.97 199075 301.718 -4.65613e+06 1.37484e+08 + 6.99 198363 300.507 -4.64296e+06 1.37143e+08 + 7.01 197651 299.298 -4.62977e+06 1.36801e+08 + 7.03 196940 298.09 -4.61657e+06 1.36458e+08 + 7.05 196228 296.885 -4.60335e+06 1.36116e+08 + 7.07 195516 295.682 -4.59012e+06 1.35772e+08 + 7.09 194805 294.48 -4.57687e+06 1.35429e+08 + 7.11 194094 293.281 -4.56361e+06 1.35085e+08 + 7.13 193383 292.084 -4.55033e+06 1.3474e+08 + 7.15 192672 290.889 -4.53704e+06 1.34395e+08 + 7.17 191961 289.697 -4.52374e+06 1.3405e+08 + 7.19 191251 288.506 -4.51042e+06 1.33704e+08 + 7.21 190540 287.318 -4.49709e+06 1.33358e+08 + 7.23 189830 286.131 -4.48375e+06 1.33011e+08 + 7.25 189120 284.947 -4.47039e+06 1.32664e+08 + 7.27 188411 283.766 -4.45702e+06 1.32317e+08 + 7.29 187702 282.586 -4.44364e+06 1.31969e+08 + 7.31 186993 281.409 -4.43025e+06 1.31621e+08 + 7.33 186284 280.234 -4.41685e+06 1.31272e+08 + 7.35 185576 279.061 -4.40344e+06 1.30923e+08 + 7.37 184868 277.891 -4.39002e+06 1.30574e+08 + 7.39 184160 276.723 -4.37658e+06 1.30225e+08 + 7.41 183453 275.557 -4.36314e+06 1.29875e+08 + 7.43 182746 274.394 -4.34969e+06 1.29524e+08 + 7.45 182040 273.233 -4.33623e+06 1.29174e+08 + 7.47 181334 272.074 -4.32276e+06 1.28823e+08 + 7.49 180629 270.918 -4.30928e+06 1.28472e+08 + 7.51 179923 269.765 -4.2958e+06 1.28121e+08 + 7.53 179219 268.613 -4.2823e+06 1.27769e+08 + 7.55 178515 267.465 -4.2688e+06 1.27417e+08 + 7.57 177811 266.318 -4.25529e+06 1.27065e+08 + 7.59 177108 265.175 -4.24178e+06 1.26712e+08 + 7.61 176406 264.033 -4.22826e+06 1.26359e+08 + 7.63 175704 262.894 -4.21473e+06 1.26006e+08 + 7.65 175002 261.758 -4.2012e+06 1.25653e+08 + 7.67 174302 260.624 -4.18766e+06 1.253e+08 + 7.69 173602 259.493 -4.17412e+06 1.24946e+08 + 7.71 172902 258.365 -4.16058e+06 1.24592e+08 + 7.73 172203 257.239 -4.14703e+06 1.24238e+08 + 7.75 171505 256.115 -4.13347e+06 1.23884e+08 + 7.77 170807 254.995 -4.11991e+06 1.2353e+08 + 7.79 170110 253.876 -4.10635e+06 1.23175e+08 + 7.81 169414 252.761 -4.09279e+06 1.2282e+08 + 7.83 168719 251.648 -4.07922e+06 1.22465e+08 + 7.85 168024 250.538 -4.06566e+06 1.2211e+08 + 7.87 167330 249.43 -4.05209e+06 1.21755e+08 + 7.89 166636 248.326 -4.03852e+06 1.214e+08 + 7.91 165944 247.224 -4.02494e+06 1.21044e+08 + 7.93 165252 246.124 -4.01137e+06 1.20689e+08 + 7.95 164561 245.028 -3.9978e+06 1.20333e+08 + 7.97 163871 243.934 -3.98423e+06 1.19978e+08 + 7.99 163182 242.843 -3.97066e+06 1.19622e+08 + 8.01 162494 241.754 -3.95709e+06 1.19266e+08 + 8.03 161806 240.669 -3.94352e+06 1.1891e+08 + 8.05 161120 239.586 -3.92995e+06 1.18554e+08 + 8.07 160434 238.506 -3.91638e+06 1.18198e+08 + 8.09 159749 237.429 -3.90282e+06 1.17842e+08 + 8.11 159065 236.354 -3.88926e+06 1.17486e+08 + 8.13 158382 235.283 -3.8757e+06 1.1713e+08 + 8.15 157700 234.214 -3.86215e+06 1.16773e+08 + 8.17 157019 233.148 -3.8486e+06 1.16417e+08 + 8.19 156339 232.085 -3.83506e+06 1.16061e+08 + 8.21 155661 231.025 -3.82152e+06 1.15705e+08 + 8.23 154983 229.968 -3.80798e+06 1.15349e+08 + 8.25 154306 228.914 -3.79445e+06 1.14993e+08 + 8.27 153630 227.862 -3.78093e+06 1.14637e+08 + 8.29 152955 226.814 -3.76741e+06 1.14281e+08 + 8.31 152281 225.768 -3.7539e+06 1.13925e+08 + 8.33 151609 224.726 -3.74039e+06 1.13569e+08 + 8.35 150937 223.686 -3.7269e+06 1.13214e+08 + 8.37 150267 222.649 -3.71341e+06 1.12858e+08 + 8.39 149598 221.615 -3.69993e+06 1.12503e+08 + 8.41 148930 220.584 -3.68645e+06 1.12147e+08 + 8.43 148263 219.557 -3.67299e+06 1.11792e+08 + 8.45 147597 218.532 -3.65953e+06 1.11437e+08 + 8.47 146933 217.51 -3.64609e+06 1.11082e+08 + 8.49 146269 216.491 -3.63265e+06 1.10727e+08 + 8.51 145607 215.475 -3.61923e+06 1.10372e+08 + 8.53 144947 214.462 -3.60582e+06 1.10018e+08 + 8.55 144287 213.453 -3.59241e+06 1.09664e+08 + 8.57 143629 212.446 -3.57902e+06 1.09309e+08 + 8.59 142972 211.442 -3.56564e+06 1.08956e+08 + 8.61 142316 210.441 -3.55227e+06 1.08602e+08 + 8.63 141662 209.444 -3.53892e+06 1.08248e+08 + 8.65 141009 208.449 -3.52558e+06 1.07895e+08 + 8.67 140358 207.458 -3.51225e+06 1.07542e+08 + 8.69 139707 206.469 -3.49893e+06 1.07189e+08 + 8.71 139058 205.484 -3.48563e+06 1.06837e+08 + 8.73 138411 204.502 -3.47235e+06 1.06485e+08 + 8.75 137765 203.523 -3.45908e+06 1.06133e+08 + 8.77 137120 202.547 -3.44582e+06 1.05781e+08 + 8.79 136477 201.574 -3.43258e+06 1.0543e+08 + 8.81 135835 200.604 -3.41936e+06 1.05079e+08 + 8.83 135195 199.637 -3.40615e+06 1.04728e+08 + 8.85 134556 198.674 -3.39296e+06 1.04377e+08 + 8.87 133919 197.713 -3.37978e+06 1.04027e+08 + 8.89 133283 196.756 -3.36663e+06 1.03678e+08 + 8.91 132649 195.802 -3.35349e+06 1.03328e+08 + 8.93 132016 194.851 -3.34037e+06 1.02979e+08 + 8.95 131385 193.903 -3.32727e+06 1.02631e+08 + 8.97 130755 192.958 -3.31418e+06 1.02282e+08 + 8.99 130127 192.016 -3.30112e+06 1.01935e+08 + 9.01 129500 191.078 -3.28808e+06 1.01587e+08 + 9.03 128875 190.143 -3.27505e+06 1.0124e+08 + 9.05 128252 189.211 -3.26205e+06 1.00894e+08 + 9.07 127631 188.282 -3.24907e+06 1.00547e+08 + 9.09 127010 187.356 -3.23611e+06 1.00202e+08 + 9.11 126392 186.434 -3.22317e+06 9.98565e+07 + 9.13 125775 185.515 -3.21025e+06 9.95118e+07 + 9.15 125160 184.599 -3.19736e+06 9.91675e+07 + 9.17 124547 183.686 -3.18448e+06 9.88237e+07 + 9.19 123935 182.776 -3.17163e+06 9.84803e+07 + 9.21 123325 181.87 -3.15881e+06 9.81375e+07 + 9.23 122717 180.966 -3.14601e+06 9.77952e+07 + 9.25 122111 180.066 -3.13323e+06 9.74534e+07 + 9.27 121506 179.169 -3.12047e+06 9.71122e+07 + 9.29 120903 178.276 -3.10774e+06 9.67715e+07 + 9.31 120302 177.385 -3.09504e+06 9.64313e+07 + 9.33 119702 176.498 -3.08236e+06 9.60917e+07 + 9.35 119105 175.614 -3.06971e+06 9.57527e+07 + 9.37 118509 174.734 -3.05708e+06 9.54142e+07 + 9.39 117915 173.856 -3.04448e+06 9.50764e+07 + 9.41 117323 172.982 -3.03191e+06 9.47391e+07 + 9.43 116732 172.111 -3.01936e+06 9.44025e+07 + 9.45 116144 171.243 -3.00685e+06 9.40664e+07 + 9.47 115557 170.379 -2.99436e+06 9.3731e+07 + 9.49 114973 169.518 -2.98189e+06 9.33963e+07 + 9.51 114390 168.66 -2.96946e+06 9.30621e+07 + 9.53 113809 167.805 -2.95706e+06 9.27287e+07 + 9.55 113230 166.954 -2.94468e+06 9.23959e+07 + 9.57 112653 166.105 -2.93233e+06 9.20637e+07 + 9.59 112078 165.26 -2.92002e+06 9.17323e+07 + 9.61 111505 164.419 -2.90773e+06 9.14015e+07 + 9.63 110933 163.58 -2.89548e+06 9.10714e+07 + 9.65 110364 162.745 -2.88325e+06 9.07421e+07 + 9.67 109797 161.913 -2.87106e+06 9.04134e+07 + 9.69 109231 161.085 -2.8589e+06 9.00855e+07 + 9.71 108668 160.259 -2.84677e+06 8.97583e+07 + 9.73 108107 159.437 -2.83467e+06 8.94319e+07 + 9.75 107547 158.618 -2.8226e+06 8.91062e+07 + 9.77 106990 157.803 -2.81057e+06 8.87813e+07 + 9.79 106435 156.99 -2.79857e+06 8.84571e+07 + 9.81 105882 156.181 -2.78661e+06 8.81337e+07 + 9.83 105331 155.375 -2.77467e+06 8.78111e+07 + 9.85 104781 154.573 -2.76278e+06 8.74893e+07 + 9.87 104234 153.774 -2.75091e+06 8.71683e+07 + 9.89 103690 152.978 -2.73908e+06 8.68482e+07 + 9.91 103147 152.185 -2.72729e+06 8.65288e+07 + 9.93 102606 151.396 -2.71553e+06 8.62103e+07 + 9.95 102067 150.609 -2.70381e+06 8.58926e+07 + 9.97 101531 149.827 -2.69212e+06 8.55757e+07 + 9.99 100996 149.047 -2.68047e+06 8.52597e+07 + 10.01 100464 148.271 -2.66885e+06 8.49446e+07 + 10.03 99934 147.497 -2.65727e+06 8.46303e+07 + 10.05 99406.1 146.728 -2.64573e+06 8.43169e+07 + 10.07 98880.3 145.961 -2.63422e+06 8.40044e+07 + 10.09 98356.6 145.198 -2.62276e+06 8.36928e+07 + 10.11 97835.2 144.438 -2.61133e+06 8.33821e+07 + 10.13 97315.9 143.681 -2.59993e+06 8.30723e+07 + 10.15 96798.8 142.928 -2.58858e+06 8.27634e+07 + 10.17 96283.9 142.177 -2.57727e+06 8.24554e+07 + 10.19 95771.2 141.43 -2.56599e+06 8.21484e+07 + 10.21 95260.7 140.687 -2.55475e+06 8.18423e+07 + 10.23 94752.5 139.946 -2.54355e+06 8.15372e+07 + 10.25 94246.5 139.209 -2.5324e+06 8.1233e+07 + 10.27 93742.7 138.475 -2.52128e+06 8.09297e+07 + 10.29 93241.1 137.745 -2.5102e+06 8.06275e+07 + 10.31 92741.8 137.017 -2.49916e+06 8.03262e+07 + 10.33 92244.7 136.293 -2.48816e+06 8.00259e+07 + 10.35 91749.9 135.572 -2.47721e+06 7.97266e+07 + 10.37 91257.4 134.855 -2.46629e+06 7.94282e+07 + 10.39 90767.1 134.141 -2.45542e+06 7.91309e+07 + 10.41 90279.2 133.429 -2.44458e+06 7.88346e+07 + 10.43 89793.4 132.722 -2.43379e+06 7.85393e+07 + 10.45 89310 132.017 -2.42304e+06 7.82451e+07 + 10.47 88828.9 131.316 -2.41233e+06 7.79518e+07 + 10.49 88350.1 130.618 -2.40167e+06 7.76596e+07 + 10.51 87873.6 129.923 -2.39105e+06 7.73685e+07 + 10.53 87399.4 129.231 -2.38047e+06 7.70784e+07 + 10.55 86927.5 128.543 -2.36993e+06 7.67893e+07 + 10.57 86457.9 127.858 -2.35944e+06 7.65013e+07 + 10.59 85990.7 127.176 -2.34899e+06 7.62144e+07 + 10.61 85525.8 126.497 -2.33858e+06 7.59285e+07 + 10.63 85063.2 125.822 -2.32822e+06 7.56438e+07 + 10.65 84603 125.15 -2.3179e+06 7.53601e+07 + 10.67 84145.1 124.481 -2.30762e+06 7.50775e+07 + 10.69 83689.6 123.815 -2.29739e+06 7.4796e+07 + 10.71 83236.4 123.153 -2.28721e+06 7.45156e+07 + 10.73 82785.5 122.493 -2.27707e+06 7.42363e+07 + 10.75 82337.1 121.837 -2.26697e+06 7.39582e+07 + 10.77 81891 121.185 -2.25692e+06 7.36811e+07 + 10.79 81447.2 120.535 -2.24692e+06 7.34052e+07 + 10.81 81005.8 119.889 -2.23696e+06 7.31304e+07 + 10.83 80566.8 119.246 -2.22704e+06 7.28568e+07 + 10.85 80130.2 118.606 -2.21717e+06 7.25843e+07 + 10.87 79696 117.969 -2.20735e+06 7.23129e+07 + 10.89 79264.1 117.336 -2.19758e+06 7.20427e+07 + 10.91 78834.7 116.705 -2.18785e+06 7.17736e+07 + 10.93 78407.6 116.078 -2.17816e+06 7.15057e+07 + 10.95 77982.9 115.455 -2.16852e+06 7.1239e+07 + 10.97 77560.6 114.834 -2.15893e+06 7.09734e+07 + 10.99 77140.7 114.216 -2.14939e+06 7.0709e+07 + 11.01 76723.2 113.602 -2.13989e+06 7.04458e+07 + 11.03 76308 112.991 -2.13044e+06 7.01838e+07 + 11.05 75895.3 112.383 -2.12104e+06 6.99229e+07 + 11.07 75485 111.779 -2.11169e+06 6.96633e+07 + 11.09 75077.1 111.177 -2.10238e+06 6.94048e+07 + 11.11 74671.6 110.579 -2.09312e+06 6.91476e+07 + 11.13 74268.5 109.984 -2.08391e+06 6.88915e+07 + 11.15 73867.9 109.392 -2.07474e+06 6.86367e+07 + 11.17 73469.6 108.803 -2.06563e+06 6.83831e+07 + 11.19 73073.7 108.218 -2.05656e+06 6.81306e+07 + 11.21 72680.3 107.635 -2.04754e+06 6.78794e+07 + 11.23 72289.2 107.056 -2.03856e+06 6.76295e+07 + 11.25 71900.6 106.48 -2.02964e+06 6.73807e+07 + 11.27 71514.4 105.907 -2.02077e+06 6.71332e+07 + 11.29 71130.6 105.338 -2.01194e+06 6.68869e+07 + 11.31 70749.2 104.771 -2.00316e+06 6.66418e+07 + 11.33 70370.2 104.208 -1.99443e+06 6.6398e+07 + 11.35 69993.6 103.648 -1.98575e+06 6.61554e+07 + 11.37 69619.5 103.091 -1.97712e+06 6.59141e+07 + 11.39 69247.7 102.537 -1.96854e+06 6.5674e+07 + 11.41 68878.4 101.986 -1.96e+06 6.54352e+07 + 11.43 68511.5 101.439 -1.95152e+06 6.51976e+07 + 11.45 68147 100.894 -1.94308e+06 6.49613e+07 + 11.47 67784.9 100.353 -1.9347e+06 6.47262e+07 + 11.49 67425.2 99.8148 -1.92636e+06 6.44924e+07 + 11.51 67067.9 99.2799 -1.91807e+06 6.42598e+07 + 11.53 66713 98.7481 -1.90983e+06 6.40285e+07 + 11.55 66360.5 98.2195 -1.90164e+06 6.37985e+07 + 11.57 66010.5 97.694 -1.8935e+06 6.35698e+07 + 11.59 65662.8 97.1716 -1.88541e+06 6.33423e+07 + 11.61 65317.5 96.6524 -1.87737e+06 6.31161e+07 + 11.63 64974.6 96.1364 -1.86938e+06 6.28911e+07 + 11.65 64634.1 95.6234 -1.86144e+06 6.26674e+07 + 11.67 64296 95.1136 -1.85355e+06 6.24451e+07 + 11.69 63960.3 94.6069 -1.84571e+06 6.22239e+07 + 11.71 63627 94.1034 -1.83791e+06 6.20041e+07 + 11.73 63296.1 93.6029 -1.83017e+06 6.17855e+07 + 11.75 62967.6 93.1056 -1.82248e+06 6.15683e+07 + 11.77 62641.4 92.6115 -1.81483e+06 6.13523e+07 + 11.79 62317.6 92.1204 -1.80724e+06 6.11376e+07 + 11.81 61996.2 91.6325 -1.7997e+06 6.09241e+07 + 11.83 61677.2 91.1477 -1.7922e+06 6.0712e+07 + 11.85 61360.5 90.666 -1.78476e+06 6.05011e+07 + 11.87 61046.2 90.1874 -1.77736e+06 6.02916e+07 + 11.89 60734.2 89.7119 -1.77002e+06 6.00833e+07 + 11.91 60424.7 89.2396 -1.76272e+06 5.98763e+07 + 11.93 60117.4 88.7703 -1.75547e+06 5.96706e+07 + 11.95 59812.5 88.3042 -1.74828e+06 5.94662e+07 + 11.97 59510 87.8412 -1.74113e+06 5.9263e+07 + 11.99 59209.8 87.3813 -1.73403e+06 5.90612e+07 + 12.01 58912 86.9244 -1.72699e+06 5.88606e+07 + 12.03 58616.4 86.4707 -1.71999e+06 5.86614e+07 + 12.05 58323.3 86.0201 -1.71304e+06 5.84634e+07 + 12.07 58032.4 85.5726 -1.70614e+06 5.82667e+07 + 12.09 57743.9 85.1282 -1.69929e+06 5.80713e+07 + 12.11 57457.6 84.6868 -1.69249e+06 5.78772e+07 + 12.13 57173.7 84.2486 -1.68574e+06 5.76843e+07 + 12.15 56892.1 83.8135 -1.67904e+06 5.74928e+07 + 12.17 56612.8 83.3814 -1.67239e+06 5.73025e+07 + 12.19 56335.8 82.9524 -1.66578e+06 5.71135e+07 + 12.21 56061.1 82.5266 -1.65923e+06 5.69258e+07 + 12.23 55788.6 82.1038 -1.65272e+06 5.67394e+07 + 12.25 55518.5 81.6841 -1.64627e+06 5.65543e+07 + 12.27 55250.6 81.2674 -1.63986e+06 5.63704e+07 + 12.29 54985 80.8539 -1.6335e+06 5.61879e+07 + 12.31 54721.6 80.4434 -1.62719e+06 5.60066e+07 + 12.33 54460.6 80.0361 -1.62093e+06 5.58266e+07 + 12.35 54201.7 79.6317 -1.61472e+06 5.56478e+07 + 12.37 53945.1 79.2305 -1.60856e+06 5.54704e+07 + 12.39 53690.8 78.8323 -1.60244e+06 5.52942e+07 + 12.41 53438.7 78.4372 -1.59638e+06 5.51192e+07 + 12.43 53188.8 78.0452 -1.59036e+06 5.49456e+07 + 12.45 52941.1 77.6562 -1.58439e+06 5.47732e+07 + 12.47 52695.7 77.2703 -1.57847e+06 5.46021e+07 + 12.49 52452.4 76.8875 -1.57259e+06 5.44322e+07 + 12.51 52211.4 76.5077 -1.56677e+06 5.42636e+07 + 12.53 51972.6 76.131 -1.56099e+06 5.40963e+07 + 12.55 51735.9 75.7574 -1.55526e+06 5.39302e+07 + 12.57 51501.4 75.3867 -1.54958e+06 5.37654e+07 + 12.59 51269.1 75.0192 -1.54394e+06 5.36018e+07 + 12.61 51039 74.6547 -1.53836e+06 5.34395e+07 + 12.63 50811 74.2932 -1.53282e+06 5.32784e+07 + 12.65 50585.2 73.9348 -1.52732e+06 5.31186e+07 + 12.67 50361.6 73.5794 -1.52188e+06 5.296e+07 + 12.69 50140 73.2271 -1.51648e+06 5.28026e+07 + 12.71 49920.6 72.8778 -1.51113e+06 5.26465e+07 + 12.73 49703.4 72.5316 -1.50582e+06 5.24916e+07 + 12.75 49488.2 72.1883 -1.50056e+06 5.2338e+07 + 12.77 49275.2 71.8481 -1.49535e+06 5.21856e+07 + 12.79 49064.2 71.511 -1.49018e+06 5.20344e+07 + 12.81 48855.3 71.1768 -1.48506e+06 5.18844e+07 + 12.83 48648.6 70.8457 -1.47999e+06 5.17357e+07 + 12.85 48443.9 70.5176 -1.47496e+06 5.15881e+07 + 12.87 48241.3 70.1925 -1.46998e+06 5.14418e+07 + 12.89 48040.7 69.8705 -1.46504e+06 5.12967e+07 + 12.91 47842.2 69.5514 -1.46015e+06 5.11528e+07 + 12.93 47645.7 69.2353 -1.4553e+06 5.10101e+07 + 12.95 47451.3 68.9223 -1.4505e+06 5.08685e+07 + 12.97 47258.9 68.6122 -1.44575e+06 5.07282e+07 + 12.99 47068.5 68.3051 -1.44104e+06 5.05891e+07 + 13.01 46880.1 68.0011 -1.43637e+06 5.04512e+07 + 13.03 46693.8 67.7 -1.43175e+06 5.03144e+07 + 13.05 46509.4 67.4019 -1.42717e+06 5.01788e+07 + 13.07 46327 67.1068 -1.42264e+06 5.00444e+07 + 13.09 46146.6 66.8146 -1.41815e+06 4.99112e+07 + 13.11 45968.1 66.5254 -1.4137e+06 4.97791e+07 + 13.13 45791.7 66.2392 -1.4093e+06 4.96482e+07 + 13.15 45617.1 65.9559 -1.40494e+06 4.95185e+07 + 13.17 45444.5 65.6756 -1.40063e+06 4.93899e+07 + 13.19 45273.9 65.3983 -1.39636e+06 4.92625e+07 + 13.21 45105.1 65.1239 -1.39213e+06 4.91362e+07 + 13.23 44938.3 64.8524 -1.38794e+06 4.90111e+07 + 13.25 44773.4 64.5839 -1.3838e+06 4.88871e+07 + 13.27 44610.4 64.3183 -1.3797e+06 4.87642e+07 + 13.29 44449.2 64.0556 -1.37564e+06 4.86425e+07 + 13.31 44290 63.7959 -1.37163e+06 4.85218e+07 + 13.33 44132.6 63.539 -1.36765e+06 4.84023e+07 + 13.35 43977.1 63.2851 -1.36372e+06 4.8284e+07 + 13.37 43823.4 63.0341 -1.35983e+06 4.81667e+07 + 13.39 43671.5 62.7859 -1.35598e+06 4.80505e+07 + 13.41 43521.5 62.5406 -1.35217e+06 4.79355e+07 + 13.43 43373.3 62.2983 -1.34841e+06 4.78215e+07 + 13.45 43227 62.0588 -1.34468e+06 4.77086e+07 + 13.47 43082.4 61.8221 -1.341e+06 4.75968e+07 + 13.49 42939.6 61.5883 -1.33735e+06 4.74861e+07 + 13.51 42798.6 61.3574 -1.33375e+06 4.73765e+07 + 13.53 42659.4 61.1293 -1.33018e+06 4.72679e+07 + 13.55 42521.9 60.9041 -1.32666e+06 4.71604e+07 + 13.57 42386.2 60.6817 -1.32317e+06 4.7054e+07 + 13.59 42252.2 60.4621 -1.31972e+06 4.69486e+07 + 13.61 42120 60.2453 -1.31632e+06 4.68442e+07 + 13.63 41989.5 60.0313 -1.31295e+06 4.6741e+07 + 13.65 41860.7 59.8201 -1.30962e+06 4.66387e+07 + 13.67 41733.6 59.6117 -1.30633e+06 4.65375e+07 + 13.69 41608.2 59.406 -1.30308e+06 4.64373e+07 + 13.71 41484.5 59.2032 -1.29987e+06 4.63381e+07 + 13.73 41362.5 59.003 -1.29669e+06 4.624e+07 + 13.75 41242.1 58.8057 -1.29355e+06 4.61429e+07 + 13.77 41123.4 58.611 -1.29045e+06 4.60467e+07 + 13.79 41006.3 58.4191 -1.28739e+06 4.59516e+07 + 13.81 40890.9 58.23 -1.28436e+06 4.58575e+07 + 13.83 40777 58.0435 -1.28137e+06 4.57644e+07 + 13.85 40664.8 57.8597 -1.27842e+06 4.56722e+07 + 13.87 40554.2 57.6786 -1.27551e+06 4.5581e+07 + 13.89 40445.2 57.5002 -1.27263e+06 4.54908e+07 + 13.91 40337.8 57.3244 -1.26978e+06 4.54016e+07 + 13.93 40232 57.1513 -1.26697e+06 4.53133e+07 + 13.95 40127.7 56.9808 -1.2642e+06 4.5226e+07 + 13.97 40025 56.813 -1.26147e+06 4.51396e+07 + 13.99 39923.8 56.6477 -1.25876e+06 4.50542e+07 + 14.01 39824.1 56.4851 -1.2561e+06 4.49697e+07 + 14.03 39726 56.3251 -1.25347e+06 4.48862e+07 + 14.05 39629.4 56.1676 -1.25087e+06 4.48036e+07 + 14.07 39534.3 56.0127 -1.24831e+06 4.47219e+07 + 14.09 39440.7 55.8604 -1.24578e+06 4.46411e+07 + 14.11 39348.5 55.7105 -1.24328e+06 4.45612e+07 + 14.13 39257.9 55.5633 -1.24082e+06 4.44822e+07 + 14.15 39168.7 55.4185 -1.23839e+06 4.44041e+07 + 14.17 39080.9 55.2762 -1.236e+06 4.43269e+07 + 14.19 38994.6 55.1364 -1.23364e+06 4.42506e+07 + 14.21 38909.7 54.9991 -1.23131e+06 4.41752e+07 + 14.23 38826.3 54.8643 -1.22901e+06 4.41007e+07 + 14.25 38744.3 54.7319 -1.22675e+06 4.4027e+07 + 14.27 38663.6 54.6019 -1.22451e+06 4.39542e+07 + 14.29 38584.4 54.4743 -1.22231e+06 4.38822e+07 + 14.31 38506.5 54.3491 -1.22015e+06 4.38111e+07 + 14.33 38430 54.2263 -1.21801e+06 4.37408e+07 + 14.35 38354.9 54.1059 -1.2159e+06 4.36714e+07 + 14.37 38281.1 53.9878 -1.21383e+06 4.36028e+07 + 14.39 38208.6 53.872 -1.21178e+06 4.3535e+07 + 14.41 38137.5 53.7586 -1.20977e+06 4.3468e+07 + 14.43 38067.7 53.6475 -1.20778e+06 4.34018e+07 + 14.45 37999.2 53.5387 -1.20583e+06 4.33365e+07 + 14.47 37932.1 53.4321 -1.20391e+06 4.32719e+07 + 14.49 37866.2 53.3278 -1.20201e+06 4.32082e+07 + 14.51 37801.5 53.2257 -1.20015e+06 4.31452e+07 + 14.53 37738.2 53.1259 -1.19831e+06 4.3083e+07 + 14.55 37676.1 53.0282 -1.1965e+06 4.30216e+07 + 14.57 37615.3 52.9328 -1.19473e+06 4.2961e+07 + 14.59 37555.7 52.8395 -1.19298e+06 4.29011e+07 + 14.61 37497.3 52.7483 -1.19125e+06 4.28419e+07 + 14.63 37440.2 52.6594 -1.18956e+06 4.27836e+07 + 14.65 37384.2 52.5725 -1.18789e+06 4.27259e+07 + 14.67 37329.5 52.4877 -1.18626e+06 4.2669e+07 + 14.69 37276 52.405 -1.18464e+06 4.26129e+07 + 14.71 37223.6 52.3244 -1.18306e+06 4.25574e+07 + 14.73 37172.4 52.2458 -1.1815e+06 4.25027e+07 + 14.75 37122.4 52.1693 -1.17997e+06 4.24487e+07 + 14.77 37073.5 52.0947 -1.17847e+06 4.23954e+07 + 14.79 37025.8 52.0222 -1.17699e+06 4.23428e+07 + 14.81 36979.1 51.9516 -1.17554e+06 4.22909e+07 + 14.83 36933.7 51.883 -1.17411e+06 4.22397e+07 + 14.85 36889.3 51.8164 -1.17271e+06 4.21892e+07 + 14.87 36846 51.7516 -1.17133e+06 4.21393e+07 + 14.89 36803.8 51.6888 -1.16998e+06 4.20901e+07 + 14.91 36762.7 51.6278 -1.16866e+06 4.20416e+07 + 14.93 36722.7 51.5687 -1.16736e+06 4.19937e+07 + 14.95 36683.8 51.5115 -1.16608e+06 4.19465e+07 + 14.97 36645.9 51.456 -1.16483e+06 4.18999e+07 + 14.99 36609 51.4024 -1.1636e+06 4.1854e+07 + 15.01 36573.2 51.3506 -1.1624e+06 4.18087e+07 + 15.03 36538.4 51.3005 -1.16121e+06 4.1764e+07 + 15.05 36504.6 51.2522 -1.16006e+06 4.172e+07 + 15.07 36471.8 51.2056 -1.15892e+06 4.16765e+07 + 15.09 36440.1 51.1608 -1.15781e+06 4.16337e+07 + 15.11 36409.3 51.1176 -1.15672e+06 4.15915e+07 + 15.13 36379.5 51.0761 -1.15565e+06 4.15499e+07 + 15.15 36350.7 51.0363 -1.15461e+06 4.15088e+07 + 15.17 36322.8 50.9981 -1.15359e+06 4.14684e+07 + 15.19 36295.9 50.9615 -1.15259e+06 4.14285e+07 + 15.21 36269.9 50.9265 -1.15161e+06 4.13892e+07 + 15.23 36244.9 50.8931 -1.15065e+06 4.13505e+07 + 15.25 36220.8 50.8612 -1.14971e+06 4.13123e+07 + 15.27 36197.6 50.8309 -1.1488e+06 4.12747e+07 + 15.29 36175.3 50.8021 -1.1479e+06 4.12376e+07 + 15.31 36153.9 50.7748 -1.14703e+06 4.12011e+07 + 15.33 36133.4 50.749 -1.14618e+06 4.11651e+07 + 15.35 36113.8 50.7246 -1.14534e+06 4.11296e+07 + 15.37 36095 50.7017 -1.14453e+06 4.10947e+07 + 15.39 36077.1 50.6802 -1.14373e+06 4.10603e+07 + 15.41 36060.1 50.6602 -1.14296e+06 4.10264e+07 + 15.43 36043.9 50.6415 -1.1422e+06 4.0993e+07 + 15.45 36028.6 50.6241 -1.14147e+06 4.09601e+07 + 15.47 36014 50.6082 -1.14075e+06 4.09278e+07 + 15.49 36000.3 50.5935 -1.14005e+06 4.08959e+07 + 15.51 35987.4 50.5802 -1.13937e+06 4.08645e+07 + 15.53 35975.4 50.5681 -1.13871e+06 4.08335e+07 + 15.55 35964.1 50.5573 -1.13807e+06 4.08031e+07 + 15.57 35953.6 50.5478 -1.13744e+06 4.07731e+07 + 15.59 35943.8 50.5395 -1.13683e+06 4.07436e+07 + 15.61 35934.9 50.5324 -1.13624e+06 4.07145e+07 + 15.63 35926.7 50.5266 -1.13567e+06 4.06859e+07 + 15.65 35919.3 50.5219 -1.13511e+06 4.06577e+07 + 15.67 35912.6 50.5183 -1.13457e+06 4.063e+07 + 15.69 35906.6 50.5159 -1.13405e+06 4.06027e+07 + 15.71 35901.4 50.5146 -1.13355e+06 4.05759e+07 + 15.73 35896.9 50.5145 -1.13306e+06 4.05494e+07 + 15.75 35893.1 50.5154 -1.13258e+06 4.05234e+07 + 15.77 35890 50.5173 -1.13213e+06 4.04978e+07 + 15.79 35887.6 50.5204 -1.13168e+06 4.04726e+07 + 15.81 35885.9 50.5244 -1.13126e+06 4.04479e+07 + 15.83 35884.9 50.5295 -1.13085e+06 4.04235e+07 + 15.85 35884.5 50.5356 -1.13045e+06 4.03995e+07 + 15.87 35884.8 50.5426 -1.13007e+06 4.03759e+07 + 15.89 35885.8 50.5506 -1.12971e+06 4.03527e+07 + 15.91 35887.4 50.5595 -1.12936e+06 4.03298e+07 + 15.93 35889.7 50.5694 -1.12902e+06 4.03073e+07 + 15.95 35892.6 50.5802 -1.1287e+06 4.02852e+07 + 15.97 35896.1 50.5918 -1.12839e+06 4.02635e+07 + 15.99 35900.3 50.6044 -1.1281e+06 4.02421e+07 + 16.01 35905.1 50.6178 -1.12782e+06 4.02211e+07 + 16.03 35910.4 50.632 -1.12755e+06 4.02004e+07 + 16.05 35916.4 50.6471 -1.1273e+06 4.01801e+07 + 16.07 35923 50.6629 -1.12706e+06 4.01601e+07 + 16.09 35930.1 50.6796 -1.12683e+06 4.01404e+07 + 16.11 35937.9 50.697 -1.12662e+06 4.0121e+07 + 16.13 35946.2 50.7152 -1.12642e+06 4.0102e+07 + 16.15 35955 50.7341 -1.12623e+06 4.00833e+07 + 16.17 35964.4 50.7537 -1.12605e+06 4.00649e+07 + 16.19 35974.4 50.774 -1.12589e+06 4.00469e+07 + 16.21 35984.9 50.7951 -1.12574e+06 4.00291e+07 + 16.23 35996 50.8168 -1.1256e+06 4.00116e+07 + 16.25 36007.5 50.8391 -1.12547e+06 3.99944e+07 + 16.27 36019.6 50.8621 -1.12535e+06 3.99776e+07 + 16.29 36032.2 50.8858 -1.12525e+06 3.9961e+07 + 16.31 36045.3 50.91 -1.12516e+06 3.99446e+07 + 16.33 36059 50.9348 -1.12507e+06 3.99286e+07 + 16.35 36073.1 50.9602 -1.125e+06 3.99128e+07 + 16.37 36087.7 50.9862 -1.12494e+06 3.98973e+07 + 16.39 36102.8 51.0128 -1.12489e+06 3.98821e+07 + 16.41 36118.3 51.0398 -1.12485e+06 3.98671e+07 + 16.43 36134.3 51.0674 -1.12482e+06 3.98524e+07 + 16.45 36150.8 51.0955 -1.12481e+06 3.98379e+07 + 16.47 36167.8 51.1241 -1.1248e+06 3.98237e+07 + 16.49 36185.2 51.1532 -1.1248e+06 3.98097e+07 + 16.51 36203 51.1827 -1.12481e+06 3.97959e+07 + 16.53 36221.3 51.2127 -1.12483e+06 3.97824e+07 + 16.55 36240 51.2431 -1.12486e+06 3.97691e+07 + 16.57 36259.2 51.274 -1.1249e+06 3.97561e+07 + 16.59 36278.7 51.3052 -1.12495e+06 3.97432e+07 + 16.61 36298.7 51.3369 -1.12501e+06 3.97306e+07 + 16.63 36319.1 51.3689 -1.12507e+06 3.97182e+07 + 16.65 36339.8 51.4013 -1.12515e+06 3.9706e+07 + 16.67 36361 51.4341 -1.12523e+06 3.9694e+07 + 16.69 36382.6 51.4671 -1.12532e+06 3.96822e+07 + 16.71 36404.5 51.5006 -1.12542e+06 3.96706e+07 + 16.73 36426.8 51.5343 -1.12553e+06 3.96592e+07 + 16.75 36449.5 51.5683 -1.12565e+06 3.9648e+07 + 16.77 36472.6 51.6027 -1.12577e+06 3.96369e+07 + 16.79 36496 51.6373 -1.12591e+06 3.96261e+07 + 16.81 36519.8 51.6722 -1.12605e+06 3.96154e+07 + 16.83 36543.9 51.7073 -1.12619e+06 3.96049e+07 + 16.85 36568.4 51.7427 -1.12635e+06 3.95946e+07 + 16.87 36593.2 51.7783 -1.12651e+06 3.95845e+07 + 16.89 36618.4 51.8141 -1.12668e+06 3.95745e+07 + 16.91 36643.9 51.8501 -1.12686e+06 3.95646e+07 + 16.93 36669.7 51.8864 -1.12704e+06 3.9555e+07 + 16.95 36695.8 51.9228 -1.12723e+06 3.95455e+07 + 16.97 36722.2 51.9594 -1.12743e+06 3.95361e+07 + 16.99 36748.9 51.9961 -1.12763e+06 3.95269e+07 + 17.01 36776 52.033 -1.12784e+06 3.95178e+07 + 17.03 36803.3 52.0701 -1.12806e+06 3.95088e+07 + 17.05 36830.9 52.1072 -1.12828e+06 3.95e+07 + 17.07 36858.9 52.1445 -1.12851e+06 3.94914e+07 + 17.09 36887.1 52.1819 -1.12874e+06 3.94828e+07 + 17.11 36915.5 52.2194 -1.12898e+06 3.94744e+07 + 17.13 36944.3 52.257 -1.12923e+06 3.94661e+07 + 17.15 36973.3 52.2947 -1.12948e+06 3.9458e+07 + 17.17 37002.5 52.3324 -1.12974e+06 3.94499e+07 + 17.19 37032.1 52.3702 -1.13e+06 3.9442e+07 + 17.21 37061.9 52.408 -1.13027e+06 3.94342e+07 + 17.23 37091.9 52.4459 -1.13054e+06 3.94264e+07 + 17.25 37122.2 52.4838 -1.13082e+06 3.94188e+07 + 17.27 37152.7 52.5217 -1.1311e+06 3.94113e+07 + 17.29 37183.4 52.5596 -1.13138e+06 3.94039e+07 + 17.31 37214.4 52.5976 -1.13168e+06 3.93966e+07 + 17.33 37245.6 52.6355 -1.13197e+06 3.93894e+07 + 17.35 37277 52.6734 -1.13227e+06 3.93822e+07 + 17.37 37308.6 52.7113 -1.13258e+06 3.93752e+07 + 17.39 37340.4 52.7492 -1.13289e+06 3.93682e+07 + 17.41 37372.5 52.787 -1.1332e+06 3.93614e+07 + 17.43 37404.7 52.8247 -1.13352e+06 3.93546e+07 + 17.45 37437.2 52.8625 -1.13384e+06 3.93478e+07 + 17.47 37469.8 52.9001 -1.13417e+06 3.93412e+07 + 17.49 37502.6 52.9377 -1.1345e+06 3.93346e+07 + 17.51 37535.6 52.9751 -1.13483e+06 3.93281e+07 + 17.53 37568.8 53.0125 -1.13516e+06 3.93217e+07 + 17.55 37602.2 53.0498 -1.1355e+06 3.93153e+07 + 17.57 37635.7 53.087 -1.13585e+06 3.9309e+07 + 17.59 37669.4 53.1241 -1.13619e+06 3.93027e+07 + 17.61 37703.3 53.161 -1.13654e+06 3.92965e+07 + 17.63 37737.3 53.1979 -1.1369e+06 3.92904e+07 + 17.65 37771.5 53.2346 -1.13725e+06 3.92843e+07 + 17.67 37805.8 53.2711 -1.13761e+06 3.92783e+07 + 17.69 37840.3 53.3075 -1.13797e+06 3.92723e+07 + 17.71 37874.9 53.3438 -1.13834e+06 3.92663e+07 + 17.73 37909.6 53.3798 -1.1387e+06 3.92604e+07 + 17.75 37944.5 53.4158 -1.13907e+06 3.92545e+07 + 17.77 37979.5 53.4515 -1.13944e+06 3.92487e+07 + 17.79 38014.7 53.4871 -1.13982e+06 3.92429e+07 + 17.81 38049.9 53.5224 -1.14019e+06 3.92371e+07 + 17.83 38085.3 53.5576 -1.14057e+06 3.92314e+07 + 17.85 38120.8 53.5926 -1.14095e+06 3.92257e+07 + 17.87 38156.4 53.6273 -1.14134e+06 3.922e+07 + 17.89 38192.1 53.6619 -1.14172e+06 3.92143e+07 + 17.91 38228 53.6962 -1.14211e+06 3.92087e+07 + 17.93 38263.9 53.7304 -1.1425e+06 3.92031e+07 + 17.95 38299.9 53.7643 -1.14289e+06 3.91975e+07 + 17.97 38336 53.7979 -1.14328e+06 3.91919e+07 + 17.99 38372.2 53.8313 -1.14367e+06 3.91863e+07 + 18.01 38408.4 53.8645 -1.14406e+06 3.91807e+07 + 18.03 38444.8 53.8974 -1.14446e+06 3.91752e+07 + 18.05 38481.2 53.9301 -1.14486e+06 3.91697e+07 + 18.07 38517.7 53.9625 -1.14526e+06 3.91641e+07 + 18.09 38554.3 53.9946 -1.14566e+06 3.91586e+07 + 18.11 38590.9 54.0265 -1.14606e+06 3.91531e+07 + 18.13 38627.6 54.0581 -1.14646e+06 3.91475e+07 + 18.15 38664.4 54.0894 -1.14686e+06 3.9142e+07 + 18.17 38701.2 54.1204 -1.14726e+06 3.91365e+07 + 18.19 38738.1 54.1512 -1.14767e+06 3.9131e+07 + 18.21 38775 54.1816 -1.14807e+06 3.91254e+07 + 18.23 38812 54.2118 -1.14848e+06 3.91199e+07 + 18.25 38849 54.2416 -1.14888e+06 3.91143e+07 + 18.27 38886 54.2712 -1.14929e+06 3.91087e+07 + 18.29 38923.1 54.3004 -1.14969e+06 3.91032e+07 + 18.31 38960.2 54.3293 -1.1501e+06 3.90976e+07 + 18.33 38997.3 54.358 -1.15051e+06 3.90919e+07 + 18.35 39034.5 54.3862 -1.15091e+06 3.90863e+07 + 18.37 39071.6 54.4142 -1.15132e+06 3.90806e+07 + 18.39 39108.8 54.4418 -1.15173e+06 3.9075e+07 + 18.41 39146 54.4692 -1.15213e+06 3.90693e+07 + 18.43 39183.3 54.4961 -1.15254e+06 3.90636e+07 + 18.45 39220.5 54.5228 -1.15295e+06 3.90578e+07 + 18.47 39257.7 54.549 -1.15335e+06 3.9052e+07 + 18.49 39294.9 54.575 -1.15376e+06 3.90462e+07 + 18.51 39332.2 54.6006 -1.15417e+06 3.90404e+07 + 18.53 39369.4 54.6259 -1.15457e+06 3.90345e+07 + 18.55 39406.6 54.6507 -1.15498e+06 3.90286e+07 + 18.57 39443.8 54.6753 -1.15538e+06 3.90227e+07 + 18.59 39481 54.6995 -1.15578e+06 3.90167e+07 + 18.61 39518.1 54.7233 -1.15619e+06 3.90107e+07 + 18.63 39555.3 54.7467 -1.15659e+06 3.90046e+07 + 18.65 39592.4 54.7698 -1.15699e+06 3.89985e+07 + 18.67 39629.5 54.7926 -1.15739e+06 3.89924e+07 + 18.69 39666.5 54.8149 -1.15779e+06 3.89862e+07 + 18.71 39703.5 54.8369 -1.15818e+06 3.898e+07 + 18.73 39740.5 54.8585 -1.15858e+06 3.89737e+07 + 18.75 39777.4 54.8797 -1.15898e+06 3.89674e+07 + 18.77 39814.3 54.9005 -1.15937e+06 3.89611e+07 + 18.79 39851.1 54.921 -1.15976e+06 3.89546e+07 + 18.81 39887.9 54.9411 -1.16015e+06 3.89482e+07 + 18.83 39924.7 54.9607 -1.16054e+06 3.89417e+07 + 18.85 39961.3 54.98 -1.16093e+06 3.89351e+07 + 18.87 39997.9 54.9989 -1.16132e+06 3.89285e+07 + 18.89 40034.5 55.0174 -1.1617e+06 3.89218e+07 + 18.91 40071 55.0356 -1.16209e+06 3.8915e+07 + 18.93 40107.4 55.0533 -1.16247e+06 3.89082e+07 + 18.95 40143.7 55.0706 -1.16285e+06 3.89014e+07 + 18.97 40180 55.0875 -1.16323e+06 3.88945e+07 + 18.99 40216.1 55.104 -1.1636e+06 3.88875e+07 + 19.01 40252.2 55.1202 -1.16398e+06 3.88804e+07 + 19.03 40288.2 55.1359 -1.16435e+06 3.88733e+07 + 19.05 40324.1 55.1512 -1.16472e+06 3.88662e+07 + 19.07 40360 55.1661 -1.16508e+06 3.88589e+07 + 19.09 40395.7 55.1806 -1.16545e+06 3.88516e+07 + 19.11 40431.3 55.1947 -1.16581e+06 3.88442e+07 + 19.13 40466.8 55.2084 -1.16617e+06 3.88368e+07 + 19.15 40502.2 55.2216 -1.16653e+06 3.88292e+07 + 19.17 40537.5 55.2345 -1.16689e+06 3.88216e+07 + 19.19 40572.7 55.247 -1.16724e+06 3.8814e+07 + 19.21 40607.8 55.259 -1.16759e+06 3.88062e+07 + 19.23 40642.8 55.2706 -1.16794e+06 3.87984e+07 + 19.25 40677.6 55.2818 -1.16828e+06 3.87905e+07 + 19.27 40712.3 55.2926 -1.16862e+06 3.87825e+07 + 19.29 40746.9 55.303 -1.16896e+06 3.87745e+07 + 19.31 40781.4 55.3129 -1.1693e+06 3.87664e+07 + 19.33 40815.7 55.3225 -1.16963e+06 3.87581e+07 + 19.35 40849.9 55.3316 -1.16996e+06 3.87498e+07 + 19.37 40883.9 55.3403 -1.17029e+06 3.87415e+07 + 19.39 40917.8 55.3486 -1.17061e+06 3.8733e+07 + 19.41 40951.6 55.3564 -1.17093e+06 3.87244e+07 + 19.43 40985.2 55.3639 -1.17125e+06 3.87158e+07 + 19.45 41018.6 55.3709 -1.17156e+06 3.87071e+07 + 19.47 41051.9 55.3775 -1.17187e+06 3.86983e+07 + 19.49 41085.1 55.3837 -1.17218e+06 3.86894e+07 + 19.51 41118 55.3895 -1.17248e+06 3.86804e+07 + 19.53 41150.8 55.3948 -1.17278e+06 3.86713e+07 + 19.55 41183.5 55.3997 -1.17307e+06 3.86621e+07 + 19.57 41215.9 55.4042 -1.17337e+06 3.86528e+07 + 19.59 41248.2 55.4083 -1.17365e+06 3.86435e+07 + 19.61 41280.4 55.4119 -1.17394e+06 3.8634e+07 + 19.63 41312.3 55.4152 -1.17422e+06 3.86244e+07 + 19.65 41344 55.418 -1.1745e+06 3.86148e+07 + 19.67 41375.6 55.4204 -1.17477e+06 3.8605e+07 + 19.69 41407 55.4223 -1.17504e+06 3.85951e+07 + 19.71 41438.1 55.4239 -1.1753e+06 3.85852e+07 + 19.73 41469.1 55.425 -1.17556e+06 3.85751e+07 + 19.75 41499.9 55.4257 -1.17582e+06 3.8565e+07 + 19.77 41530.5 55.426 -1.17607e+06 3.85547e+07 + 19.79 41560.8 55.4258 -1.17631e+06 3.85443e+07 + 19.81 41591 55.4253 -1.17656e+06 3.85338e+07 + 19.83 41620.9 55.4243 -1.17679e+06 3.85232e+07 + 19.85 41650.7 55.4229 -1.17703e+06 3.85125e+07 + 19.87 41680.2 55.421 -1.17726e+06 3.85017e+07 + 19.89 41709.5 55.4188 -1.17748e+06 3.84908e+07 + 19.91 41738.5 55.4161 -1.1777e+06 3.84798e+07 + 19.93 41767.4 55.413 -1.17791e+06 3.84686e+07 + 19.95 41796 55.4095 -1.17812e+06 3.84574e+07 + 19.97 41824.3 55.4056 -1.17833e+06 3.8446e+07 + 19.99 41852.5 55.4013 -1.17853e+06 3.84345e+07 diff --git a/tests/integrate/186_PW_KG_100_GPU/result.ref b/tests/integrate/186_PW_KG_100_GPU/result.ref new file mode 100644 index 0000000000..13c9a5365f --- /dev/null +++ b/tests/integrate/186_PW_KG_100_GPU/result.ref @@ -0,0 +1,7 @@ +etotref -150.4802165653093 +etotperatomref -150.4802165653 +CompareH_Failed 0 +pointgroupref O_h +spacegroupref O_h +nksibzref 3 +totaltimeref 5.10 From 5575a3bbd6735692c516ab03b5b970930d51e0e2 Mon Sep 17 00:00:00 2001 From: Qianruipku Date: Sun, 16 Mar 2025 14:10:04 +0800 Subject: [PATCH 3/4] add tests --- tests/integrate/CASES_GPU.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/integrate/CASES_GPU.txt b/tests/integrate/CASES_GPU.txt index c41f06d83b..b034e955e2 100644 --- a/tests/integrate/CASES_GPU.txt +++ b/tests/integrate/CASES_GPU.txt @@ -2,6 +2,7 @@ 102_PW_DA_davidson_GPU 102_PW_BPCG_GPU 107_PW_outWfcPw_GPU +186_PW_KG_100_GPU 187_PW_SDFT_ALL_GPU 187_PW_SDFT_MALL_GPU 187_PW_SDFT_MALL_BPCG_GPU From 9ca9cb8b0794e4cba7dc36708c483e688353327d Mon Sep 17 00:00:00 2001 From: Qianruipku Date: Mon, 17 Mar 2025 15:03:18 +0800 Subject: [PATCH 4/4] modify reference Onsager.txt --- tests/integrate/186_PW_KG_100_GPU/INPUT | 4 +- .../186_PW_KG_100_GPU/refOnsager.txt | 1010 +---------------- 2 files changed, 12 insertions(+), 1002 deletions(-) diff --git a/tests/integrate/186_PW_KG_100_GPU/INPUT b/tests/integrate/186_PW_KG_100_GPU/INPUT index 5276988907..1d34d5335d 100644 --- a/tests/integrate/186_PW_KG_100_GPU/INPUT +++ b/tests/integrate/186_PW_KG_100_GPU/INPUT @@ -30,8 +30,8 @@ mixing_gg0 0.0 cal_cond 1 cond_fwhm 8 -cond_wcut 20 -cond_dw 0.02 +cond_wcut 10 +cond_dw 1 cond_dt 0.237464 cond_dtbatch 1 cond_nonlocal 1 diff --git a/tests/integrate/186_PW_KG_100_GPU/refOnsager.txt b/tests/integrate/186_PW_KG_100_GPU/refOnsager.txt index e3a848b1b6..4f850b65d2 100644 --- a/tests/integrate/186_PW_KG_100_GPU/refOnsager.txt +++ b/tests/integrate/186_PW_KG_100_GPU/refOnsager.txt @@ -1,1001 +1,11 @@ ## w(eV) sigma(Sm^-1) kappa(W(mK)^-1) L12/e(Am^-1) L22/e^2(Wm^-1) - 0.01 357706 628.635 -7.14858e+06 2.02413e+08 - 0.03 357703 628.627 -7.14854e+06 2.02412e+08 - 0.05 357696 628.611 -7.14846e+06 2.0241e+08 - 0.07 357686 628.586 -7.14833e+06 2.02406e+08 - 0.09 357673 628.554 -7.14816e+06 2.02402e+08 - 0.11 357657 628.514 -7.14795e+06 2.02396e+08 - 0.13 357637 628.466 -7.1477e+06 2.02389e+08 - 0.15 357615 628.41 -7.14741e+06 2.02381e+08 - 0.17 357589 628.346 -7.14707e+06 2.02372e+08 - 0.19 357559 628.273 -7.14669e+06 2.02362e+08 - 0.21 357527 628.193 -7.14627e+06 2.0235e+08 - 0.23 357491 628.105 -7.14581e+06 2.02338e+08 - 0.25 357452 628.008 -7.1453e+06 2.02324e+08 - 0.27 357410 627.904 -7.14476e+06 2.02309e+08 - 0.29 357364 627.792 -7.14417e+06 2.02293e+08 - 0.31 357316 627.672 -7.14354e+06 2.02276e+08 - 0.33 357264 627.543 -7.14286e+06 2.02258e+08 - 0.35 357209 627.407 -7.14215e+06 2.02238e+08 - 0.37 357150 627.263 -7.14139e+06 2.02218e+08 - 0.39 357088 627.111 -7.14059e+06 2.02196e+08 - 0.41 357023 626.951 -7.13975e+06 2.02173e+08 - 0.43 356955 626.782 -7.13887e+06 2.02149e+08 - 0.45 356884 626.606 -7.13794e+06 2.02124e+08 - 0.47 356809 626.422 -7.13697e+06 2.02098e+08 - 0.49 356731 626.23 -7.13596e+06 2.0207e+08 - 0.51 356650 626.031 -7.13491e+06 2.02042e+08 - 0.53 356566 625.823 -7.13382e+06 2.02012e+08 - 0.55 356478 625.607 -7.13268e+06 2.01981e+08 - 0.57 356388 625.384 -7.1315e+06 2.01949e+08 - 0.59 356294 625.152 -7.13028e+06 2.01916e+08 - 0.61 356196 624.913 -7.12902e+06 2.01882e+08 - 0.63 356096 624.666 -7.12772e+06 2.01847e+08 - 0.65 355992 624.41 -7.12637e+06 2.0181e+08 - 0.67 355885 624.148 -7.12498e+06 2.01772e+08 - 0.69 355775 623.877 -7.12355e+06 2.01734e+08 - 0.71 355662 623.598 -7.12208e+06 2.01694e+08 - 0.73 355545 623.312 -7.12056e+06 2.01653e+08 - 0.75 355426 623.018 -7.11901e+06 2.0161e+08 - 0.77 355303 622.716 -7.11741e+06 2.01567e+08 - 0.79 355177 622.406 -7.11577e+06 2.01522e+08 - 0.81 355047 622.089 -7.11408e+06 2.01477e+08 - 0.83 354915 621.764 -7.11236e+06 2.0143e+08 - 0.85 354779 621.431 -7.11059e+06 2.01382e+08 - 0.87 354640 621.09 -7.10878e+06 2.01333e+08 - 0.89 354498 620.742 -7.10693e+06 2.01283e+08 - 0.91 354353 620.386 -7.10503e+06 2.01232e+08 - 0.93 354205 620.022 -7.10309e+06 2.01179e+08 - 0.95 354053 619.651 -7.10112e+06 2.01126e+08 - 0.97 353899 619.272 -7.09909e+06 2.01071e+08 - 0.99 353741 618.885 -7.09703e+06 2.01015e+08 - 1.01 353580 618.491 -7.09493e+06 2.00958e+08 - 1.03 353415 618.089 -7.09278e+06 2.009e+08 - 1.05 353248 617.68 -7.09059e+06 2.00841e+08 - 1.07 353077 617.263 -7.08836e+06 2.0078e+08 - 1.09 352904 616.839 -7.08608e+06 2.00719e+08 - 1.11 352727 616.407 -7.08377e+06 2.00656e+08 - 1.13 352547 615.968 -7.08141e+06 2.00592e+08 - 1.15 352364 615.521 -7.07901e+06 2.00527e+08 - 1.17 352178 615.067 -7.07656e+06 2.00461e+08 - 1.19 351988 614.605 -7.07408e+06 2.00394e+08 - 1.21 351796 614.136 -7.07155e+06 2.00326e+08 - 1.23 351600 613.659 -7.06898e+06 2.00256e+08 - 1.25 351401 613.176 -7.06637e+06 2.00186e+08 - 1.27 351200 612.684 -7.06371e+06 2.00114e+08 - 1.29 350995 612.186 -7.06102e+06 2.00041e+08 - 1.31 350787 611.68 -7.05828e+06 1.99968e+08 - 1.33 350576 611.167 -7.0555e+06 1.99892e+08 - 1.35 350361 610.647 -7.05267e+06 1.99816e+08 - 1.37 350144 610.119 -7.04981e+06 1.99739e+08 - 1.39 349924 609.584 -7.0469e+06 1.99661e+08 - 1.41 349700 609.042 -7.04395e+06 1.99581e+08 - 1.43 349474 608.493 -7.04095e+06 1.995e+08 - 1.45 349244 607.937 -7.03792e+06 1.99419e+08 - 1.47 349011 607.373 -7.03484e+06 1.99336e+08 - 1.49 348776 606.803 -7.03172e+06 1.99252e+08 - 1.51 348537 606.225 -7.02856e+06 1.99166e+08 - 1.53 348295 605.64 -7.02535e+06 1.9908e+08 - 1.55 348050 605.049 -7.02211e+06 1.98993e+08 - 1.57 347802 604.45 -7.01882e+06 1.98904e+08 - 1.59 347551 603.845 -7.01549e+06 1.98815e+08 - 1.61 347297 603.232 -7.01211e+06 1.98724e+08 - 1.63 347040 602.613 -7.0087e+06 1.98632e+08 - 1.65 346780 601.986 -7.00524e+06 1.98539e+08 - 1.67 346517 601.353 -7.00174e+06 1.98445e+08 - 1.69 346251 600.713 -6.99819e+06 1.9835e+08 - 1.71 345982 600.066 -6.99461e+06 1.98253e+08 - 1.73 345711 599.412 -6.99098e+06 1.98156e+08 - 1.75 345436 598.752 -6.98731e+06 1.98057e+08 - 1.77 345158 598.085 -6.98359e+06 1.97958e+08 - 1.79 344877 597.411 -6.97984e+06 1.97857e+08 - 1.81 344593 596.731 -6.97604e+06 1.97755e+08 - 1.83 344306 596.043 -6.9722e+06 1.97652e+08 - 1.85 344016 595.35 -6.96832e+06 1.97548e+08 - 1.87 343723 594.649 -6.96439e+06 1.97442e+08 - 1.89 343428 593.942 -6.96042e+06 1.97336e+08 - 1.91 343129 593.229 -6.95641e+06 1.97229e+08 - 1.93 342828 592.509 -6.95236e+06 1.9712e+08 - 1.95 342523 591.783 -6.94827e+06 1.9701e+08 - 1.97 342216 591.05 -6.94413e+06 1.969e+08 - 1.99 341905 590.311 -6.93995e+06 1.96788e+08 - 2.01 341592 589.565 -6.93573e+06 1.96675e+08 - 2.03 341276 588.813 -6.93146e+06 1.96561e+08 - 2.05 340957 588.055 -6.92715e+06 1.96445e+08 - 2.07 340635 587.291 -6.92281e+06 1.96329e+08 - 2.09 340311 586.52 -6.91841e+06 1.96212e+08 - 2.11 339983 585.743 -6.91398e+06 1.96093e+08 - 2.13 339653 584.96 -6.9095e+06 1.95974e+08 - 2.15 339319 584.171 -6.90498e+06 1.95853e+08 - 2.17 338983 583.375 -6.90042e+06 1.95731e+08 - 2.19 338644 582.574 -6.89581e+06 1.95608e+08 - 2.21 338302 581.766 -6.89117e+06 1.95484e+08 - 2.23 337958 580.953 -6.88648e+06 1.95359e+08 - 2.25 337610 580.133 -6.88175e+06 1.95233e+08 - 2.27 337260 579.308 -6.87697e+06 1.95106e+08 - 2.29 336907 578.476 -6.87215e+06 1.94977e+08 - 2.31 336551 577.639 -6.86729e+06 1.94848e+08 - 2.33 336192 576.796 -6.86239e+06 1.94717e+08 - 2.35 335831 575.947 -6.85745e+06 1.94585e+08 - 2.37 335467 575.092 -6.85246e+06 1.94453e+08 - 2.39 335100 574.232 -6.84743e+06 1.94319e+08 - 2.41 334730 573.366 -6.84236e+06 1.94184e+08 - 2.43 334358 572.494 -6.83724e+06 1.94048e+08 - 2.45 333982 571.616 -6.83209e+06 1.93911e+08 - 2.47 333604 570.733 -6.82689e+06 1.93773e+08 - 2.49 333224 569.845 -6.82164e+06 1.93633e+08 - 2.51 332840 568.951 -6.81636e+06 1.93493e+08 - 2.53 332454 568.051 -6.81103e+06 1.93351e+08 - 2.55 332066 567.146 -6.80566e+06 1.93209e+08 - 2.57 331674 566.235 -6.80025e+06 1.93065e+08 - 2.59 331280 565.319 -6.7948e+06 1.9292e+08 - 2.61 330883 564.398 -6.7893e+06 1.92775e+08 - 2.63 330484 563.471 -6.78376e+06 1.92628e+08 - 2.65 330082 562.539 -6.77818e+06 1.9248e+08 - 2.67 329677 561.602 -6.77255e+06 1.92331e+08 - 2.69 329269 560.659 -6.76689e+06 1.9218e+08 - 2.71 328859 559.712 -6.76118e+06 1.92029e+08 - 2.73 328447 558.759 -6.75543e+06 1.91877e+08 - 2.75 328031 557.801 -6.74963e+06 1.91724e+08 - 2.77 327613 556.838 -6.74379e+06 1.91569e+08 - 2.79 327193 555.87 -6.73792e+06 1.91414e+08 - 2.81 326770 554.898 -6.73199e+06 1.91257e+08 - 2.83 326344 553.92 -6.72603e+06 1.91099e+08 - 2.85 325916 552.937 -6.72002e+06 1.90941e+08 - 2.87 325485 551.949 -6.71398e+06 1.90781e+08 - 2.89 325052 550.957 -6.70788e+06 1.9062e+08 - 2.91 324616 549.96 -6.70175e+06 1.90458e+08 - 2.93 324177 548.957 -6.69557e+06 1.90295e+08 - 2.95 323737 547.951 -6.68936e+06 1.90131e+08 - 2.97 323293 546.939 -6.6831e+06 1.89966e+08 - 2.99 322847 545.923 -6.67679e+06 1.89799e+08 - 3.01 322399 544.902 -6.67045e+06 1.89632e+08 - 3.03 321948 543.877 -6.66406e+06 1.89464e+08 - 3.05 321494 542.847 -6.65763e+06 1.89294e+08 - 3.07 321038 541.813 -6.65116e+06 1.89124e+08 - 3.09 320580 540.774 -6.64464e+06 1.88952e+08 - 3.11 320119 539.731 -6.63809e+06 1.88779e+08 - 3.13 319656 538.683 -6.63149e+06 1.88606e+08 - 3.15 319190 537.632 -6.62485e+06 1.88431e+08 - 3.17 318722 536.575 -6.61816e+06 1.88255e+08 - 3.19 318252 535.515 -6.61144e+06 1.88078e+08 - 3.21 317779 534.45 -6.60467e+06 1.879e+08 - 3.23 317303 533.381 -6.59786e+06 1.87721e+08 - 3.25 316826 532.308 -6.59101e+06 1.87541e+08 - 3.27 316346 531.231 -6.58411e+06 1.8736e+08 - 3.29 315863 530.15 -6.57718e+06 1.87178e+08 - 3.31 315378 529.065 -6.5702e+06 1.86995e+08 - 3.33 314891 527.976 -6.56318e+06 1.86811e+08 - 3.35 314402 526.882 -6.55612e+06 1.86625e+08 - 3.37 313910 525.785 -6.54901e+06 1.86439e+08 - 3.39 313416 524.684 -6.54187e+06 1.86252e+08 - 3.41 312920 523.58 -6.53468e+06 1.86063e+08 - 3.43 312421 522.471 -6.52745e+06 1.85874e+08 - 3.45 311920 521.359 -6.52018e+06 1.85683e+08 - 3.47 311417 520.243 -6.51286e+06 1.85492e+08 - 3.49 310911 519.123 -6.50551e+06 1.85299e+08 - 3.51 310404 518 -6.49811e+06 1.85105e+08 - 3.53 309894 516.873 -6.49067e+06 1.84911e+08 - 3.55 309381 515.742 -6.48319e+06 1.84715e+08 - 3.57 308867 514.608 -6.47566e+06 1.84518e+08 - 3.59 308350 513.471 -6.4681e+06 1.8432e+08 - 3.61 307831 512.33 -6.46049e+06 1.84121e+08 - 3.63 307310 511.186 -6.45284e+06 1.83921e+08 - 3.65 306787 510.038 -6.44515e+06 1.83721e+08 - 3.67 306262 508.887 -6.43742e+06 1.83519e+08 - 3.69 305734 507.733 -6.42965e+06 1.83316e+08 - 3.71 305204 506.576 -6.42183e+06 1.83112e+08 - 3.73 304673 505.415 -6.41398e+06 1.82906e+08 - 3.75 304139 504.251 -6.40608e+06 1.827e+08 - 3.77 303603 503.084 -6.39814e+06 1.82493e+08 - 3.79 303064 501.914 -6.39016e+06 1.82285e+08 - 3.81 302524 500.741 -6.38214e+06 1.82076e+08 - 3.83 301982 499.565 -6.37408e+06 1.81866e+08 - 3.85 301437 498.386 -6.36597e+06 1.81655e+08 - 3.87 300891 497.204 -6.35783e+06 1.81442e+08 - 3.89 300343 496.019 -6.34964e+06 1.81229e+08 - 3.91 299792 494.832 -6.34141e+06 1.81015e+08 - 3.93 299239 493.641 -6.33314e+06 1.80799e+08 - 3.95 298685 492.448 -6.32483e+06 1.80583e+08 - 3.97 298128 491.252 -6.31648e+06 1.80366e+08 - 3.99 297570 490.053 -6.30809e+06 1.80147e+08 - 4.01 297009 488.852 -6.29966e+06 1.79928e+08 - 4.03 296446 487.648 -6.29118e+06 1.79708e+08 - 4.05 295882 486.442 -6.28267e+06 1.79486e+08 - 4.07 295316 485.233 -6.27412e+06 1.79264e+08 - 4.09 294747 484.022 -6.26552e+06 1.7904e+08 - 4.11 294177 482.808 -6.25688e+06 1.78816e+08 - 4.13 293605 481.591 -6.24821e+06 1.78591e+08 - 4.15 293030 480.373 -6.23949e+06 1.78364e+08 - 4.17 292454 479.152 -6.23073e+06 1.78137e+08 - 4.19 291877 477.928 -6.22193e+06 1.77908e+08 - 4.21 291297 476.703 -6.21309e+06 1.77679e+08 - 4.23 290715 475.475 -6.20422e+06 1.77448e+08 - 4.25 290132 474.245 -6.1953e+06 1.77217e+08 - 4.27 289546 473.013 -6.18634e+06 1.76985e+08 - 4.29 288959 471.779 -6.17734e+06 1.76751e+08 - 4.31 288370 470.543 -6.1683e+06 1.76517e+08 - 4.33 287780 469.304 -6.15922e+06 1.76281e+08 - 4.35 287187 468.064 -6.1501e+06 1.76045e+08 - 4.37 286593 466.822 -6.14094e+06 1.75808e+08 - 4.39 285997 465.578 -6.13174e+06 1.75569e+08 - 4.41 285399 464.332 -6.1225e+06 1.7533e+08 - 4.43 284799 463.084 -6.11323e+06 1.7509e+08 - 4.45 284198 461.834 -6.10391e+06 1.74848e+08 - 4.47 283595 460.583 -6.09455e+06 1.74606e+08 - 4.49 282991 459.33 -6.08515e+06 1.74363e+08 - 4.51 282384 458.075 -6.07572e+06 1.74119e+08 - 4.53 281776 456.819 -6.06624e+06 1.73873e+08 - 4.55 281166 455.561 -6.05673e+06 1.73627e+08 - 4.57 280555 454.301 -6.04718e+06 1.7338e+08 - 4.59 279942 453.04 -6.03758e+06 1.73132e+08 - 4.61 279327 451.778 -6.02795e+06 1.72883e+08 - 4.63 278711 450.514 -6.01828e+06 1.72633e+08 - 4.65 278093 449.248 -6.00857e+06 1.72382e+08 - 4.67 277474 447.981 -5.99883e+06 1.7213e+08 - 4.69 276853 446.713 -5.98904e+06 1.71877e+08 - 4.71 276230 445.444 -5.97922e+06 1.71623e+08 - 4.73 275606 444.173 -5.96936e+06 1.71368e+08 - 4.75 274980 442.901 -5.95945e+06 1.71112e+08 - 4.77 274353 441.628 -5.94952e+06 1.70855e+08 - 4.79 273724 440.353 -5.93954e+06 1.70598e+08 - 4.81 273094 439.078 -5.92952e+06 1.70339e+08 - 4.83 272462 437.801 -5.91947e+06 1.70079e+08 - 4.85 271829 436.523 -5.90938e+06 1.69819e+08 - 4.87 271195 435.245 -5.89925e+06 1.69557e+08 - 4.89 270558 433.965 -5.88909e+06 1.69295e+08 - 4.91 269921 432.685 -5.87888e+06 1.69032e+08 - 4.93 269282 431.403 -5.86864e+06 1.68767e+08 - 4.95 268641 430.121 -5.85837e+06 1.68502e+08 - 4.97 268000 428.837 -5.84805e+06 1.68236e+08 - 4.99 267356 427.553 -5.8377e+06 1.67969e+08 - 5.01 266712 426.269 -5.82731e+06 1.67701e+08 - 5.03 266066 424.983 -5.81689e+06 1.67432e+08 - 5.05 265418 423.697 -5.80642e+06 1.67162e+08 - 5.07 264770 422.41 -5.79593e+06 1.66891e+08 - 5.09 264120 421.122 -5.78539e+06 1.6662e+08 - 5.11 263469 419.834 -5.77482e+06 1.66347e+08 - 5.13 262816 418.546 -5.76421e+06 1.66073e+08 - 5.15 262162 417.256 -5.75357e+06 1.65799e+08 - 5.17 261507 415.967 -5.74289e+06 1.65524e+08 - 5.19 260851 414.676 -5.73217e+06 1.65247e+08 - 5.21 260193 413.386 -5.72142e+06 1.6497e+08 - 5.23 259534 412.095 -5.71064e+06 1.64692e+08 - 5.25 258874 410.803 -5.69981e+06 1.64413e+08 - 5.27 258213 409.512 -5.68896e+06 1.64134e+08 - 5.29 257550 408.22 -5.67807e+06 1.63853e+08 - 5.31 256886 406.928 -5.66714e+06 1.63571e+08 - 5.33 256222 405.635 -5.65618e+06 1.63289e+08 - 5.35 255556 404.342 -5.64518e+06 1.63006e+08 - 5.37 254888 403.05 -5.63415e+06 1.62721e+08 - 5.39 254220 401.757 -5.62308e+06 1.62436e+08 - 5.41 253551 400.464 -5.61199e+06 1.6215e+08 - 5.43 252880 399.17 -5.60085e+06 1.61863e+08 - 5.45 252209 397.877 -5.58968e+06 1.61576e+08 - 5.47 251536 396.584 -5.57848e+06 1.61287e+08 - 5.49 250862 395.291 -5.56725e+06 1.60998e+08 - 5.51 250188 393.998 -5.55598e+06 1.60707e+08 - 5.53 249512 392.705 -5.54468e+06 1.60416e+08 - 5.55 248835 391.412 -5.53334e+06 1.60124e+08 - 5.57 248157 390.119 -5.52197e+06 1.59832e+08 - 5.59 247478 388.827 -5.51057e+06 1.59538e+08 - 5.61 246799 387.535 -5.49914e+06 1.59243e+08 - 5.63 246118 386.243 -5.48767e+06 1.58948e+08 - 5.65 245436 384.951 -5.47618e+06 1.58652e+08 - 5.67 244754 383.66 -5.46465e+06 1.58355e+08 - 5.69 244070 382.368 -5.45308e+06 1.58057e+08 - 5.71 243386 381.078 -5.44149e+06 1.57758e+08 - 5.73 242700 379.787 -5.42986e+06 1.57459e+08 - 5.75 242014 378.498 -5.41821e+06 1.57159e+08 - 5.77 241327 377.208 -5.40652e+06 1.56858e+08 - 5.79 240639 375.919 -5.3948e+06 1.56556e+08 - 5.81 239951 374.631 -5.38305e+06 1.56253e+08 - 5.83 239261 373.343 -5.37127e+06 1.5595e+08 - 5.85 238571 372.056 -5.35946e+06 1.55645e+08 - 5.87 237879 370.769 -5.34762e+06 1.5534e+08 - 5.89 237187 369.483 -5.33574e+06 1.55034e+08 - 5.91 236495 368.198 -5.32384e+06 1.54728e+08 - 5.93 235801 366.913 -5.31191e+06 1.5442e+08 - 5.95 235107 365.629 -5.29995e+06 1.54112e+08 - 5.97 234412 364.346 -5.28796e+06 1.53803e+08 - 5.99 233717 363.063 -5.27594e+06 1.53494e+08 - 6.01 233020 361.782 -5.26389e+06 1.53183e+08 - 6.03 232323 360.501 -5.25182e+06 1.52872e+08 - 6.05 231626 359.221 -5.23971e+06 1.5256e+08 - 6.07 230927 357.942 -5.22758e+06 1.52247e+08 - 6.09 230228 356.664 -5.21542e+06 1.51934e+08 - 6.11 229529 355.387 -5.20323e+06 1.51619e+08 - 6.13 228829 354.11 -5.19101e+06 1.51305e+08 - 6.15 228128 352.835 -5.17876e+06 1.50989e+08 - 6.17 227427 351.561 -5.16649e+06 1.50672e+08 - 6.19 226725 350.288 -5.15419e+06 1.50355e+08 - 6.21 226022 349.016 -5.14187e+06 1.50038e+08 - 6.23 225319 347.745 -5.12952e+06 1.49719e+08 - 6.25 224616 346.475 -5.11714e+06 1.494e+08 - 6.27 223912 345.206 -5.10474e+06 1.4908e+08 - 6.29 223207 343.939 -5.09231e+06 1.48759e+08 - 6.31 222503 342.673 -5.07985e+06 1.48438e+08 - 6.33 221797 341.408 -5.06737e+06 1.48116e+08 - 6.35 221091 340.144 -5.05486e+06 1.47793e+08 - 6.37 220385 338.881 -5.04233e+06 1.4747e+08 - 6.39 219678 337.62 -5.02978e+06 1.47146e+08 - 6.41 218971 336.36 -5.0172e+06 1.46821e+08 - 6.43 218264 335.102 -5.00459e+06 1.46496e+08 - 6.45 217556 333.845 -4.99196e+06 1.4617e+08 - 6.47 216848 332.589 -4.97931e+06 1.45843e+08 - 6.49 216140 331.335 -4.96664e+06 1.45516e+08 - 6.51 215431 330.082 -4.95394e+06 1.45188e+08 - 6.53 214722 328.83 -4.94122e+06 1.44859e+08 - 6.55 214012 327.58 -4.92848e+06 1.4453e+08 - 6.57 213303 326.332 -4.91571e+06 1.442e+08 - 6.59 212593 325.085 -4.90292e+06 1.4387e+08 - 6.61 211882 323.84 -4.89011e+06 1.43539e+08 - 6.63 211172 322.596 -4.87728e+06 1.43207e+08 - 6.65 210461 321.354 -4.86443e+06 1.42875e+08 - 6.67 209751 320.114 -4.85156e+06 1.42542e+08 - 6.69 209040 318.875 -4.83866e+06 1.42209e+08 - 6.71 208328 317.638 -4.82575e+06 1.41875e+08 - 6.73 207617 316.402 -4.81281e+06 1.4154e+08 - 6.75 206906 315.169 -4.79986e+06 1.41205e+08 - 6.77 206194 313.937 -4.78689e+06 1.4087e+08 - 6.79 205482 312.707 -4.77389e+06 1.40534e+08 - 6.81 204771 311.478 -4.76088e+06 1.40197e+08 - 6.83 204059 310.252 -4.74785e+06 1.3986e+08 - 6.85 203347 309.027 -4.7348e+06 1.39522e+08 - 6.87 202635 307.804 -4.72173e+06 1.39183e+08 - 6.89 201923 306.583 -4.70865e+06 1.38844e+08 - 6.91 201211 305.364 -4.69554e+06 1.38505e+08 - 6.93 200499 304.147 -4.68242e+06 1.38165e+08 - 6.95 199787 302.932 -4.66928e+06 1.37825e+08 - 6.97 199075 301.718 -4.65613e+06 1.37484e+08 - 6.99 198363 300.507 -4.64296e+06 1.37143e+08 - 7.01 197651 299.298 -4.62977e+06 1.36801e+08 - 7.03 196940 298.09 -4.61657e+06 1.36458e+08 - 7.05 196228 296.885 -4.60335e+06 1.36116e+08 - 7.07 195516 295.682 -4.59012e+06 1.35772e+08 - 7.09 194805 294.48 -4.57687e+06 1.35429e+08 - 7.11 194094 293.281 -4.56361e+06 1.35085e+08 - 7.13 193383 292.084 -4.55033e+06 1.3474e+08 - 7.15 192672 290.889 -4.53704e+06 1.34395e+08 - 7.17 191961 289.697 -4.52374e+06 1.3405e+08 - 7.19 191251 288.506 -4.51042e+06 1.33704e+08 - 7.21 190540 287.318 -4.49709e+06 1.33358e+08 - 7.23 189830 286.131 -4.48375e+06 1.33011e+08 - 7.25 189120 284.947 -4.47039e+06 1.32664e+08 - 7.27 188411 283.766 -4.45702e+06 1.32317e+08 - 7.29 187702 282.586 -4.44364e+06 1.31969e+08 - 7.31 186993 281.409 -4.43025e+06 1.31621e+08 - 7.33 186284 280.234 -4.41685e+06 1.31272e+08 - 7.35 185576 279.061 -4.40344e+06 1.30923e+08 - 7.37 184868 277.891 -4.39002e+06 1.30574e+08 - 7.39 184160 276.723 -4.37658e+06 1.30225e+08 - 7.41 183453 275.557 -4.36314e+06 1.29875e+08 - 7.43 182746 274.394 -4.34969e+06 1.29524e+08 - 7.45 182040 273.233 -4.33623e+06 1.29174e+08 - 7.47 181334 272.074 -4.32276e+06 1.28823e+08 - 7.49 180629 270.918 -4.30928e+06 1.28472e+08 - 7.51 179923 269.765 -4.2958e+06 1.28121e+08 - 7.53 179219 268.613 -4.2823e+06 1.27769e+08 - 7.55 178515 267.465 -4.2688e+06 1.27417e+08 - 7.57 177811 266.318 -4.25529e+06 1.27065e+08 - 7.59 177108 265.175 -4.24178e+06 1.26712e+08 - 7.61 176406 264.033 -4.22826e+06 1.26359e+08 - 7.63 175704 262.894 -4.21473e+06 1.26006e+08 - 7.65 175002 261.758 -4.2012e+06 1.25653e+08 - 7.67 174302 260.624 -4.18766e+06 1.253e+08 - 7.69 173602 259.493 -4.17412e+06 1.24946e+08 - 7.71 172902 258.365 -4.16058e+06 1.24592e+08 - 7.73 172203 257.239 -4.14703e+06 1.24238e+08 - 7.75 171505 256.115 -4.13347e+06 1.23884e+08 - 7.77 170807 254.995 -4.11991e+06 1.2353e+08 - 7.79 170110 253.876 -4.10635e+06 1.23175e+08 - 7.81 169414 252.761 -4.09279e+06 1.2282e+08 - 7.83 168719 251.648 -4.07922e+06 1.22465e+08 - 7.85 168024 250.538 -4.06566e+06 1.2211e+08 - 7.87 167330 249.43 -4.05209e+06 1.21755e+08 - 7.89 166636 248.326 -4.03852e+06 1.214e+08 - 7.91 165944 247.224 -4.02494e+06 1.21044e+08 - 7.93 165252 246.124 -4.01137e+06 1.20689e+08 - 7.95 164561 245.028 -3.9978e+06 1.20333e+08 - 7.97 163871 243.934 -3.98423e+06 1.19978e+08 - 7.99 163182 242.843 -3.97066e+06 1.19622e+08 - 8.01 162494 241.754 -3.95709e+06 1.19266e+08 - 8.03 161806 240.669 -3.94352e+06 1.1891e+08 - 8.05 161120 239.586 -3.92995e+06 1.18554e+08 - 8.07 160434 238.506 -3.91638e+06 1.18198e+08 - 8.09 159749 237.429 -3.90282e+06 1.17842e+08 - 8.11 159065 236.354 -3.88926e+06 1.17486e+08 - 8.13 158382 235.283 -3.8757e+06 1.1713e+08 - 8.15 157700 234.214 -3.86215e+06 1.16773e+08 - 8.17 157019 233.148 -3.8486e+06 1.16417e+08 - 8.19 156339 232.085 -3.83506e+06 1.16061e+08 - 8.21 155661 231.025 -3.82152e+06 1.15705e+08 - 8.23 154983 229.968 -3.80798e+06 1.15349e+08 - 8.25 154306 228.914 -3.79445e+06 1.14993e+08 - 8.27 153630 227.862 -3.78093e+06 1.14637e+08 - 8.29 152955 226.814 -3.76741e+06 1.14281e+08 - 8.31 152281 225.768 -3.7539e+06 1.13925e+08 - 8.33 151609 224.726 -3.74039e+06 1.13569e+08 - 8.35 150937 223.686 -3.7269e+06 1.13214e+08 - 8.37 150267 222.649 -3.71341e+06 1.12858e+08 - 8.39 149598 221.615 -3.69993e+06 1.12503e+08 - 8.41 148930 220.584 -3.68645e+06 1.12147e+08 - 8.43 148263 219.557 -3.67299e+06 1.11792e+08 - 8.45 147597 218.532 -3.65953e+06 1.11437e+08 - 8.47 146933 217.51 -3.64609e+06 1.11082e+08 - 8.49 146269 216.491 -3.63265e+06 1.10727e+08 - 8.51 145607 215.475 -3.61923e+06 1.10372e+08 - 8.53 144947 214.462 -3.60582e+06 1.10018e+08 - 8.55 144287 213.453 -3.59241e+06 1.09664e+08 - 8.57 143629 212.446 -3.57902e+06 1.09309e+08 - 8.59 142972 211.442 -3.56564e+06 1.08956e+08 - 8.61 142316 210.441 -3.55227e+06 1.08602e+08 - 8.63 141662 209.444 -3.53892e+06 1.08248e+08 - 8.65 141009 208.449 -3.52558e+06 1.07895e+08 - 8.67 140358 207.458 -3.51225e+06 1.07542e+08 - 8.69 139707 206.469 -3.49893e+06 1.07189e+08 - 8.71 139058 205.484 -3.48563e+06 1.06837e+08 - 8.73 138411 204.502 -3.47235e+06 1.06485e+08 - 8.75 137765 203.523 -3.45908e+06 1.06133e+08 - 8.77 137120 202.547 -3.44582e+06 1.05781e+08 - 8.79 136477 201.574 -3.43258e+06 1.0543e+08 - 8.81 135835 200.604 -3.41936e+06 1.05079e+08 - 8.83 135195 199.637 -3.40615e+06 1.04728e+08 - 8.85 134556 198.674 -3.39296e+06 1.04377e+08 - 8.87 133919 197.713 -3.37978e+06 1.04027e+08 - 8.89 133283 196.756 -3.36663e+06 1.03678e+08 - 8.91 132649 195.802 -3.35349e+06 1.03328e+08 - 8.93 132016 194.851 -3.34037e+06 1.02979e+08 - 8.95 131385 193.903 -3.32727e+06 1.02631e+08 - 8.97 130755 192.958 -3.31418e+06 1.02282e+08 - 8.99 130127 192.016 -3.30112e+06 1.01935e+08 - 9.01 129500 191.078 -3.28808e+06 1.01587e+08 - 9.03 128875 190.143 -3.27505e+06 1.0124e+08 - 9.05 128252 189.211 -3.26205e+06 1.00894e+08 - 9.07 127631 188.282 -3.24907e+06 1.00547e+08 - 9.09 127010 187.356 -3.23611e+06 1.00202e+08 - 9.11 126392 186.434 -3.22317e+06 9.98565e+07 - 9.13 125775 185.515 -3.21025e+06 9.95118e+07 - 9.15 125160 184.599 -3.19736e+06 9.91675e+07 - 9.17 124547 183.686 -3.18448e+06 9.88237e+07 - 9.19 123935 182.776 -3.17163e+06 9.84803e+07 - 9.21 123325 181.87 -3.15881e+06 9.81375e+07 - 9.23 122717 180.966 -3.14601e+06 9.77952e+07 - 9.25 122111 180.066 -3.13323e+06 9.74534e+07 - 9.27 121506 179.169 -3.12047e+06 9.71122e+07 - 9.29 120903 178.276 -3.10774e+06 9.67715e+07 - 9.31 120302 177.385 -3.09504e+06 9.64313e+07 - 9.33 119702 176.498 -3.08236e+06 9.60917e+07 - 9.35 119105 175.614 -3.06971e+06 9.57527e+07 - 9.37 118509 174.734 -3.05708e+06 9.54142e+07 - 9.39 117915 173.856 -3.04448e+06 9.50764e+07 - 9.41 117323 172.982 -3.03191e+06 9.47391e+07 - 9.43 116732 172.111 -3.01936e+06 9.44025e+07 - 9.45 116144 171.243 -3.00685e+06 9.40664e+07 - 9.47 115557 170.379 -2.99436e+06 9.3731e+07 - 9.49 114973 169.518 -2.98189e+06 9.33963e+07 - 9.51 114390 168.66 -2.96946e+06 9.30621e+07 - 9.53 113809 167.805 -2.95706e+06 9.27287e+07 - 9.55 113230 166.954 -2.94468e+06 9.23959e+07 - 9.57 112653 166.105 -2.93233e+06 9.20637e+07 - 9.59 112078 165.26 -2.92002e+06 9.17323e+07 - 9.61 111505 164.419 -2.90773e+06 9.14015e+07 - 9.63 110933 163.58 -2.89548e+06 9.10714e+07 - 9.65 110364 162.745 -2.88325e+06 9.07421e+07 - 9.67 109797 161.913 -2.87106e+06 9.04134e+07 - 9.69 109231 161.085 -2.8589e+06 9.00855e+07 - 9.71 108668 160.259 -2.84677e+06 8.97583e+07 - 9.73 108107 159.437 -2.83467e+06 8.94319e+07 - 9.75 107547 158.618 -2.8226e+06 8.91062e+07 - 9.77 106990 157.803 -2.81057e+06 8.87813e+07 - 9.79 106435 156.99 -2.79857e+06 8.84571e+07 - 9.81 105882 156.181 -2.78661e+06 8.81337e+07 - 9.83 105331 155.375 -2.77467e+06 8.78111e+07 - 9.85 104781 154.573 -2.76278e+06 8.74893e+07 - 9.87 104234 153.774 -2.75091e+06 8.71683e+07 - 9.89 103690 152.978 -2.73908e+06 8.68482e+07 - 9.91 103147 152.185 -2.72729e+06 8.65288e+07 - 9.93 102606 151.396 -2.71553e+06 8.62103e+07 - 9.95 102067 150.609 -2.70381e+06 8.58926e+07 - 9.97 101531 149.827 -2.69212e+06 8.55757e+07 - 9.99 100996 149.047 -2.68047e+06 8.52597e+07 - 10.01 100464 148.271 -2.66885e+06 8.49446e+07 - 10.03 99934 147.497 -2.65727e+06 8.46303e+07 - 10.05 99406.1 146.728 -2.64573e+06 8.43169e+07 - 10.07 98880.3 145.961 -2.63422e+06 8.40044e+07 - 10.09 98356.6 145.198 -2.62276e+06 8.36928e+07 - 10.11 97835.2 144.438 -2.61133e+06 8.33821e+07 - 10.13 97315.9 143.681 -2.59993e+06 8.30723e+07 - 10.15 96798.8 142.928 -2.58858e+06 8.27634e+07 - 10.17 96283.9 142.177 -2.57727e+06 8.24554e+07 - 10.19 95771.2 141.43 -2.56599e+06 8.21484e+07 - 10.21 95260.7 140.687 -2.55475e+06 8.18423e+07 - 10.23 94752.5 139.946 -2.54355e+06 8.15372e+07 - 10.25 94246.5 139.209 -2.5324e+06 8.1233e+07 - 10.27 93742.7 138.475 -2.52128e+06 8.09297e+07 - 10.29 93241.1 137.745 -2.5102e+06 8.06275e+07 - 10.31 92741.8 137.017 -2.49916e+06 8.03262e+07 - 10.33 92244.7 136.293 -2.48816e+06 8.00259e+07 - 10.35 91749.9 135.572 -2.47721e+06 7.97266e+07 - 10.37 91257.4 134.855 -2.46629e+06 7.94282e+07 - 10.39 90767.1 134.141 -2.45542e+06 7.91309e+07 - 10.41 90279.2 133.429 -2.44458e+06 7.88346e+07 - 10.43 89793.4 132.722 -2.43379e+06 7.85393e+07 - 10.45 89310 132.017 -2.42304e+06 7.82451e+07 - 10.47 88828.9 131.316 -2.41233e+06 7.79518e+07 - 10.49 88350.1 130.618 -2.40167e+06 7.76596e+07 - 10.51 87873.6 129.923 -2.39105e+06 7.73685e+07 - 10.53 87399.4 129.231 -2.38047e+06 7.70784e+07 - 10.55 86927.5 128.543 -2.36993e+06 7.67893e+07 - 10.57 86457.9 127.858 -2.35944e+06 7.65013e+07 - 10.59 85990.7 127.176 -2.34899e+06 7.62144e+07 - 10.61 85525.8 126.497 -2.33858e+06 7.59285e+07 - 10.63 85063.2 125.822 -2.32822e+06 7.56438e+07 - 10.65 84603 125.15 -2.3179e+06 7.53601e+07 - 10.67 84145.1 124.481 -2.30762e+06 7.50775e+07 - 10.69 83689.6 123.815 -2.29739e+06 7.4796e+07 - 10.71 83236.4 123.153 -2.28721e+06 7.45156e+07 - 10.73 82785.5 122.493 -2.27707e+06 7.42363e+07 - 10.75 82337.1 121.837 -2.26697e+06 7.39582e+07 - 10.77 81891 121.185 -2.25692e+06 7.36811e+07 - 10.79 81447.2 120.535 -2.24692e+06 7.34052e+07 - 10.81 81005.8 119.889 -2.23696e+06 7.31304e+07 - 10.83 80566.8 119.246 -2.22704e+06 7.28568e+07 - 10.85 80130.2 118.606 -2.21717e+06 7.25843e+07 - 10.87 79696 117.969 -2.20735e+06 7.23129e+07 - 10.89 79264.1 117.336 -2.19758e+06 7.20427e+07 - 10.91 78834.7 116.705 -2.18785e+06 7.17736e+07 - 10.93 78407.6 116.078 -2.17816e+06 7.15057e+07 - 10.95 77982.9 115.455 -2.16852e+06 7.1239e+07 - 10.97 77560.6 114.834 -2.15893e+06 7.09734e+07 - 10.99 77140.7 114.216 -2.14939e+06 7.0709e+07 - 11.01 76723.2 113.602 -2.13989e+06 7.04458e+07 - 11.03 76308 112.991 -2.13044e+06 7.01838e+07 - 11.05 75895.3 112.383 -2.12104e+06 6.99229e+07 - 11.07 75485 111.779 -2.11169e+06 6.96633e+07 - 11.09 75077.1 111.177 -2.10238e+06 6.94048e+07 - 11.11 74671.6 110.579 -2.09312e+06 6.91476e+07 - 11.13 74268.5 109.984 -2.08391e+06 6.88915e+07 - 11.15 73867.9 109.392 -2.07474e+06 6.86367e+07 - 11.17 73469.6 108.803 -2.06563e+06 6.83831e+07 - 11.19 73073.7 108.218 -2.05656e+06 6.81306e+07 - 11.21 72680.3 107.635 -2.04754e+06 6.78794e+07 - 11.23 72289.2 107.056 -2.03856e+06 6.76295e+07 - 11.25 71900.6 106.48 -2.02964e+06 6.73807e+07 - 11.27 71514.4 105.907 -2.02077e+06 6.71332e+07 - 11.29 71130.6 105.338 -2.01194e+06 6.68869e+07 - 11.31 70749.2 104.771 -2.00316e+06 6.66418e+07 - 11.33 70370.2 104.208 -1.99443e+06 6.6398e+07 - 11.35 69993.6 103.648 -1.98575e+06 6.61554e+07 - 11.37 69619.5 103.091 -1.97712e+06 6.59141e+07 - 11.39 69247.7 102.537 -1.96854e+06 6.5674e+07 - 11.41 68878.4 101.986 -1.96e+06 6.54352e+07 - 11.43 68511.5 101.439 -1.95152e+06 6.51976e+07 - 11.45 68147 100.894 -1.94308e+06 6.49613e+07 - 11.47 67784.9 100.353 -1.9347e+06 6.47262e+07 - 11.49 67425.2 99.8148 -1.92636e+06 6.44924e+07 - 11.51 67067.9 99.2799 -1.91807e+06 6.42598e+07 - 11.53 66713 98.7481 -1.90983e+06 6.40285e+07 - 11.55 66360.5 98.2195 -1.90164e+06 6.37985e+07 - 11.57 66010.5 97.694 -1.8935e+06 6.35698e+07 - 11.59 65662.8 97.1716 -1.88541e+06 6.33423e+07 - 11.61 65317.5 96.6524 -1.87737e+06 6.31161e+07 - 11.63 64974.6 96.1364 -1.86938e+06 6.28911e+07 - 11.65 64634.1 95.6234 -1.86144e+06 6.26674e+07 - 11.67 64296 95.1136 -1.85355e+06 6.24451e+07 - 11.69 63960.3 94.6069 -1.84571e+06 6.22239e+07 - 11.71 63627 94.1034 -1.83791e+06 6.20041e+07 - 11.73 63296.1 93.6029 -1.83017e+06 6.17855e+07 - 11.75 62967.6 93.1056 -1.82248e+06 6.15683e+07 - 11.77 62641.4 92.6115 -1.81483e+06 6.13523e+07 - 11.79 62317.6 92.1204 -1.80724e+06 6.11376e+07 - 11.81 61996.2 91.6325 -1.7997e+06 6.09241e+07 - 11.83 61677.2 91.1477 -1.7922e+06 6.0712e+07 - 11.85 61360.5 90.666 -1.78476e+06 6.05011e+07 - 11.87 61046.2 90.1874 -1.77736e+06 6.02916e+07 - 11.89 60734.2 89.7119 -1.77002e+06 6.00833e+07 - 11.91 60424.7 89.2396 -1.76272e+06 5.98763e+07 - 11.93 60117.4 88.7703 -1.75547e+06 5.96706e+07 - 11.95 59812.5 88.3042 -1.74828e+06 5.94662e+07 - 11.97 59510 87.8412 -1.74113e+06 5.9263e+07 - 11.99 59209.8 87.3813 -1.73403e+06 5.90612e+07 - 12.01 58912 86.9244 -1.72699e+06 5.88606e+07 - 12.03 58616.4 86.4707 -1.71999e+06 5.86614e+07 - 12.05 58323.3 86.0201 -1.71304e+06 5.84634e+07 - 12.07 58032.4 85.5726 -1.70614e+06 5.82667e+07 - 12.09 57743.9 85.1282 -1.69929e+06 5.80713e+07 - 12.11 57457.6 84.6868 -1.69249e+06 5.78772e+07 - 12.13 57173.7 84.2486 -1.68574e+06 5.76843e+07 - 12.15 56892.1 83.8135 -1.67904e+06 5.74928e+07 - 12.17 56612.8 83.3814 -1.67239e+06 5.73025e+07 - 12.19 56335.8 82.9524 -1.66578e+06 5.71135e+07 - 12.21 56061.1 82.5266 -1.65923e+06 5.69258e+07 - 12.23 55788.6 82.1038 -1.65272e+06 5.67394e+07 - 12.25 55518.5 81.6841 -1.64627e+06 5.65543e+07 - 12.27 55250.6 81.2674 -1.63986e+06 5.63704e+07 - 12.29 54985 80.8539 -1.6335e+06 5.61879e+07 - 12.31 54721.6 80.4434 -1.62719e+06 5.60066e+07 - 12.33 54460.6 80.0361 -1.62093e+06 5.58266e+07 - 12.35 54201.7 79.6317 -1.61472e+06 5.56478e+07 - 12.37 53945.1 79.2305 -1.60856e+06 5.54704e+07 - 12.39 53690.8 78.8323 -1.60244e+06 5.52942e+07 - 12.41 53438.7 78.4372 -1.59638e+06 5.51192e+07 - 12.43 53188.8 78.0452 -1.59036e+06 5.49456e+07 - 12.45 52941.1 77.6562 -1.58439e+06 5.47732e+07 - 12.47 52695.7 77.2703 -1.57847e+06 5.46021e+07 - 12.49 52452.4 76.8875 -1.57259e+06 5.44322e+07 - 12.51 52211.4 76.5077 -1.56677e+06 5.42636e+07 - 12.53 51972.6 76.131 -1.56099e+06 5.40963e+07 - 12.55 51735.9 75.7574 -1.55526e+06 5.39302e+07 - 12.57 51501.4 75.3867 -1.54958e+06 5.37654e+07 - 12.59 51269.1 75.0192 -1.54394e+06 5.36018e+07 - 12.61 51039 74.6547 -1.53836e+06 5.34395e+07 - 12.63 50811 74.2932 -1.53282e+06 5.32784e+07 - 12.65 50585.2 73.9348 -1.52732e+06 5.31186e+07 - 12.67 50361.6 73.5794 -1.52188e+06 5.296e+07 - 12.69 50140 73.2271 -1.51648e+06 5.28026e+07 - 12.71 49920.6 72.8778 -1.51113e+06 5.26465e+07 - 12.73 49703.4 72.5316 -1.50582e+06 5.24916e+07 - 12.75 49488.2 72.1883 -1.50056e+06 5.2338e+07 - 12.77 49275.2 71.8481 -1.49535e+06 5.21856e+07 - 12.79 49064.2 71.511 -1.49018e+06 5.20344e+07 - 12.81 48855.3 71.1768 -1.48506e+06 5.18844e+07 - 12.83 48648.6 70.8457 -1.47999e+06 5.17357e+07 - 12.85 48443.9 70.5176 -1.47496e+06 5.15881e+07 - 12.87 48241.3 70.1925 -1.46998e+06 5.14418e+07 - 12.89 48040.7 69.8705 -1.46504e+06 5.12967e+07 - 12.91 47842.2 69.5514 -1.46015e+06 5.11528e+07 - 12.93 47645.7 69.2353 -1.4553e+06 5.10101e+07 - 12.95 47451.3 68.9223 -1.4505e+06 5.08685e+07 - 12.97 47258.9 68.6122 -1.44575e+06 5.07282e+07 - 12.99 47068.5 68.3051 -1.44104e+06 5.05891e+07 - 13.01 46880.1 68.0011 -1.43637e+06 5.04512e+07 - 13.03 46693.8 67.7 -1.43175e+06 5.03144e+07 - 13.05 46509.4 67.4019 -1.42717e+06 5.01788e+07 - 13.07 46327 67.1068 -1.42264e+06 5.00444e+07 - 13.09 46146.6 66.8146 -1.41815e+06 4.99112e+07 - 13.11 45968.1 66.5254 -1.4137e+06 4.97791e+07 - 13.13 45791.7 66.2392 -1.4093e+06 4.96482e+07 - 13.15 45617.1 65.9559 -1.40494e+06 4.95185e+07 - 13.17 45444.5 65.6756 -1.40063e+06 4.93899e+07 - 13.19 45273.9 65.3983 -1.39636e+06 4.92625e+07 - 13.21 45105.1 65.1239 -1.39213e+06 4.91362e+07 - 13.23 44938.3 64.8524 -1.38794e+06 4.90111e+07 - 13.25 44773.4 64.5839 -1.3838e+06 4.88871e+07 - 13.27 44610.4 64.3183 -1.3797e+06 4.87642e+07 - 13.29 44449.2 64.0556 -1.37564e+06 4.86425e+07 - 13.31 44290 63.7959 -1.37163e+06 4.85218e+07 - 13.33 44132.6 63.539 -1.36765e+06 4.84023e+07 - 13.35 43977.1 63.2851 -1.36372e+06 4.8284e+07 - 13.37 43823.4 63.0341 -1.35983e+06 4.81667e+07 - 13.39 43671.5 62.7859 -1.35598e+06 4.80505e+07 - 13.41 43521.5 62.5406 -1.35217e+06 4.79355e+07 - 13.43 43373.3 62.2983 -1.34841e+06 4.78215e+07 - 13.45 43227 62.0588 -1.34468e+06 4.77086e+07 - 13.47 43082.4 61.8221 -1.341e+06 4.75968e+07 - 13.49 42939.6 61.5883 -1.33735e+06 4.74861e+07 - 13.51 42798.6 61.3574 -1.33375e+06 4.73765e+07 - 13.53 42659.4 61.1293 -1.33018e+06 4.72679e+07 - 13.55 42521.9 60.9041 -1.32666e+06 4.71604e+07 - 13.57 42386.2 60.6817 -1.32317e+06 4.7054e+07 - 13.59 42252.2 60.4621 -1.31972e+06 4.69486e+07 - 13.61 42120 60.2453 -1.31632e+06 4.68442e+07 - 13.63 41989.5 60.0313 -1.31295e+06 4.6741e+07 - 13.65 41860.7 59.8201 -1.30962e+06 4.66387e+07 - 13.67 41733.6 59.6117 -1.30633e+06 4.65375e+07 - 13.69 41608.2 59.406 -1.30308e+06 4.64373e+07 - 13.71 41484.5 59.2032 -1.29987e+06 4.63381e+07 - 13.73 41362.5 59.003 -1.29669e+06 4.624e+07 - 13.75 41242.1 58.8057 -1.29355e+06 4.61429e+07 - 13.77 41123.4 58.611 -1.29045e+06 4.60467e+07 - 13.79 41006.3 58.4191 -1.28739e+06 4.59516e+07 - 13.81 40890.9 58.23 -1.28436e+06 4.58575e+07 - 13.83 40777 58.0435 -1.28137e+06 4.57644e+07 - 13.85 40664.8 57.8597 -1.27842e+06 4.56722e+07 - 13.87 40554.2 57.6786 -1.27551e+06 4.5581e+07 - 13.89 40445.2 57.5002 -1.27263e+06 4.54908e+07 - 13.91 40337.8 57.3244 -1.26978e+06 4.54016e+07 - 13.93 40232 57.1513 -1.26697e+06 4.53133e+07 - 13.95 40127.7 56.9808 -1.2642e+06 4.5226e+07 - 13.97 40025 56.813 -1.26147e+06 4.51396e+07 - 13.99 39923.8 56.6477 -1.25876e+06 4.50542e+07 - 14.01 39824.1 56.4851 -1.2561e+06 4.49697e+07 - 14.03 39726 56.3251 -1.25347e+06 4.48862e+07 - 14.05 39629.4 56.1676 -1.25087e+06 4.48036e+07 - 14.07 39534.3 56.0127 -1.24831e+06 4.47219e+07 - 14.09 39440.7 55.8604 -1.24578e+06 4.46411e+07 - 14.11 39348.5 55.7105 -1.24328e+06 4.45612e+07 - 14.13 39257.9 55.5633 -1.24082e+06 4.44822e+07 - 14.15 39168.7 55.4185 -1.23839e+06 4.44041e+07 - 14.17 39080.9 55.2762 -1.236e+06 4.43269e+07 - 14.19 38994.6 55.1364 -1.23364e+06 4.42506e+07 - 14.21 38909.7 54.9991 -1.23131e+06 4.41752e+07 - 14.23 38826.3 54.8643 -1.22901e+06 4.41007e+07 - 14.25 38744.3 54.7319 -1.22675e+06 4.4027e+07 - 14.27 38663.6 54.6019 -1.22451e+06 4.39542e+07 - 14.29 38584.4 54.4743 -1.22231e+06 4.38822e+07 - 14.31 38506.5 54.3491 -1.22015e+06 4.38111e+07 - 14.33 38430 54.2263 -1.21801e+06 4.37408e+07 - 14.35 38354.9 54.1059 -1.2159e+06 4.36714e+07 - 14.37 38281.1 53.9878 -1.21383e+06 4.36028e+07 - 14.39 38208.6 53.872 -1.21178e+06 4.3535e+07 - 14.41 38137.5 53.7586 -1.20977e+06 4.3468e+07 - 14.43 38067.7 53.6475 -1.20778e+06 4.34018e+07 - 14.45 37999.2 53.5387 -1.20583e+06 4.33365e+07 - 14.47 37932.1 53.4321 -1.20391e+06 4.32719e+07 - 14.49 37866.2 53.3278 -1.20201e+06 4.32082e+07 - 14.51 37801.5 53.2257 -1.20015e+06 4.31452e+07 - 14.53 37738.2 53.1259 -1.19831e+06 4.3083e+07 - 14.55 37676.1 53.0282 -1.1965e+06 4.30216e+07 - 14.57 37615.3 52.9328 -1.19473e+06 4.2961e+07 - 14.59 37555.7 52.8395 -1.19298e+06 4.29011e+07 - 14.61 37497.3 52.7483 -1.19125e+06 4.28419e+07 - 14.63 37440.2 52.6594 -1.18956e+06 4.27836e+07 - 14.65 37384.2 52.5725 -1.18789e+06 4.27259e+07 - 14.67 37329.5 52.4877 -1.18626e+06 4.2669e+07 - 14.69 37276 52.405 -1.18464e+06 4.26129e+07 - 14.71 37223.6 52.3244 -1.18306e+06 4.25574e+07 - 14.73 37172.4 52.2458 -1.1815e+06 4.25027e+07 - 14.75 37122.4 52.1693 -1.17997e+06 4.24487e+07 - 14.77 37073.5 52.0947 -1.17847e+06 4.23954e+07 - 14.79 37025.8 52.0222 -1.17699e+06 4.23428e+07 - 14.81 36979.1 51.9516 -1.17554e+06 4.22909e+07 - 14.83 36933.7 51.883 -1.17411e+06 4.22397e+07 - 14.85 36889.3 51.8164 -1.17271e+06 4.21892e+07 - 14.87 36846 51.7516 -1.17133e+06 4.21393e+07 - 14.89 36803.8 51.6888 -1.16998e+06 4.20901e+07 - 14.91 36762.7 51.6278 -1.16866e+06 4.20416e+07 - 14.93 36722.7 51.5687 -1.16736e+06 4.19937e+07 - 14.95 36683.8 51.5115 -1.16608e+06 4.19465e+07 - 14.97 36645.9 51.456 -1.16483e+06 4.18999e+07 - 14.99 36609 51.4024 -1.1636e+06 4.1854e+07 - 15.01 36573.2 51.3506 -1.1624e+06 4.18087e+07 - 15.03 36538.4 51.3005 -1.16121e+06 4.1764e+07 - 15.05 36504.6 51.2522 -1.16006e+06 4.172e+07 - 15.07 36471.8 51.2056 -1.15892e+06 4.16765e+07 - 15.09 36440.1 51.1608 -1.15781e+06 4.16337e+07 - 15.11 36409.3 51.1176 -1.15672e+06 4.15915e+07 - 15.13 36379.5 51.0761 -1.15565e+06 4.15499e+07 - 15.15 36350.7 51.0363 -1.15461e+06 4.15088e+07 - 15.17 36322.8 50.9981 -1.15359e+06 4.14684e+07 - 15.19 36295.9 50.9615 -1.15259e+06 4.14285e+07 - 15.21 36269.9 50.9265 -1.15161e+06 4.13892e+07 - 15.23 36244.9 50.8931 -1.15065e+06 4.13505e+07 - 15.25 36220.8 50.8612 -1.14971e+06 4.13123e+07 - 15.27 36197.6 50.8309 -1.1488e+06 4.12747e+07 - 15.29 36175.3 50.8021 -1.1479e+06 4.12376e+07 - 15.31 36153.9 50.7748 -1.14703e+06 4.12011e+07 - 15.33 36133.4 50.749 -1.14618e+06 4.11651e+07 - 15.35 36113.8 50.7246 -1.14534e+06 4.11296e+07 - 15.37 36095 50.7017 -1.14453e+06 4.10947e+07 - 15.39 36077.1 50.6802 -1.14373e+06 4.10603e+07 - 15.41 36060.1 50.6602 -1.14296e+06 4.10264e+07 - 15.43 36043.9 50.6415 -1.1422e+06 4.0993e+07 - 15.45 36028.6 50.6241 -1.14147e+06 4.09601e+07 - 15.47 36014 50.6082 -1.14075e+06 4.09278e+07 - 15.49 36000.3 50.5935 -1.14005e+06 4.08959e+07 - 15.51 35987.4 50.5802 -1.13937e+06 4.08645e+07 - 15.53 35975.4 50.5681 -1.13871e+06 4.08335e+07 - 15.55 35964.1 50.5573 -1.13807e+06 4.08031e+07 - 15.57 35953.6 50.5478 -1.13744e+06 4.07731e+07 - 15.59 35943.8 50.5395 -1.13683e+06 4.07436e+07 - 15.61 35934.9 50.5324 -1.13624e+06 4.07145e+07 - 15.63 35926.7 50.5266 -1.13567e+06 4.06859e+07 - 15.65 35919.3 50.5219 -1.13511e+06 4.06577e+07 - 15.67 35912.6 50.5183 -1.13457e+06 4.063e+07 - 15.69 35906.6 50.5159 -1.13405e+06 4.06027e+07 - 15.71 35901.4 50.5146 -1.13355e+06 4.05759e+07 - 15.73 35896.9 50.5145 -1.13306e+06 4.05494e+07 - 15.75 35893.1 50.5154 -1.13258e+06 4.05234e+07 - 15.77 35890 50.5173 -1.13213e+06 4.04978e+07 - 15.79 35887.6 50.5204 -1.13168e+06 4.04726e+07 - 15.81 35885.9 50.5244 -1.13126e+06 4.04479e+07 - 15.83 35884.9 50.5295 -1.13085e+06 4.04235e+07 - 15.85 35884.5 50.5356 -1.13045e+06 4.03995e+07 - 15.87 35884.8 50.5426 -1.13007e+06 4.03759e+07 - 15.89 35885.8 50.5506 -1.12971e+06 4.03527e+07 - 15.91 35887.4 50.5595 -1.12936e+06 4.03298e+07 - 15.93 35889.7 50.5694 -1.12902e+06 4.03073e+07 - 15.95 35892.6 50.5802 -1.1287e+06 4.02852e+07 - 15.97 35896.1 50.5918 -1.12839e+06 4.02635e+07 - 15.99 35900.3 50.6044 -1.1281e+06 4.02421e+07 - 16.01 35905.1 50.6178 -1.12782e+06 4.02211e+07 - 16.03 35910.4 50.632 -1.12755e+06 4.02004e+07 - 16.05 35916.4 50.6471 -1.1273e+06 4.01801e+07 - 16.07 35923 50.6629 -1.12706e+06 4.01601e+07 - 16.09 35930.1 50.6796 -1.12683e+06 4.01404e+07 - 16.11 35937.9 50.697 -1.12662e+06 4.0121e+07 - 16.13 35946.2 50.7152 -1.12642e+06 4.0102e+07 - 16.15 35955 50.7341 -1.12623e+06 4.00833e+07 - 16.17 35964.4 50.7537 -1.12605e+06 4.00649e+07 - 16.19 35974.4 50.774 -1.12589e+06 4.00469e+07 - 16.21 35984.9 50.7951 -1.12574e+06 4.00291e+07 - 16.23 35996 50.8168 -1.1256e+06 4.00116e+07 - 16.25 36007.5 50.8391 -1.12547e+06 3.99944e+07 - 16.27 36019.6 50.8621 -1.12535e+06 3.99776e+07 - 16.29 36032.2 50.8858 -1.12525e+06 3.9961e+07 - 16.31 36045.3 50.91 -1.12516e+06 3.99446e+07 - 16.33 36059 50.9348 -1.12507e+06 3.99286e+07 - 16.35 36073.1 50.9602 -1.125e+06 3.99128e+07 - 16.37 36087.7 50.9862 -1.12494e+06 3.98973e+07 - 16.39 36102.8 51.0128 -1.12489e+06 3.98821e+07 - 16.41 36118.3 51.0398 -1.12485e+06 3.98671e+07 - 16.43 36134.3 51.0674 -1.12482e+06 3.98524e+07 - 16.45 36150.8 51.0955 -1.12481e+06 3.98379e+07 - 16.47 36167.8 51.1241 -1.1248e+06 3.98237e+07 - 16.49 36185.2 51.1532 -1.1248e+06 3.98097e+07 - 16.51 36203 51.1827 -1.12481e+06 3.97959e+07 - 16.53 36221.3 51.2127 -1.12483e+06 3.97824e+07 - 16.55 36240 51.2431 -1.12486e+06 3.97691e+07 - 16.57 36259.2 51.274 -1.1249e+06 3.97561e+07 - 16.59 36278.7 51.3052 -1.12495e+06 3.97432e+07 - 16.61 36298.7 51.3369 -1.12501e+06 3.97306e+07 - 16.63 36319.1 51.3689 -1.12507e+06 3.97182e+07 - 16.65 36339.8 51.4013 -1.12515e+06 3.9706e+07 - 16.67 36361 51.4341 -1.12523e+06 3.9694e+07 - 16.69 36382.6 51.4671 -1.12532e+06 3.96822e+07 - 16.71 36404.5 51.5006 -1.12542e+06 3.96706e+07 - 16.73 36426.8 51.5343 -1.12553e+06 3.96592e+07 - 16.75 36449.5 51.5683 -1.12565e+06 3.9648e+07 - 16.77 36472.6 51.6027 -1.12577e+06 3.96369e+07 - 16.79 36496 51.6373 -1.12591e+06 3.96261e+07 - 16.81 36519.8 51.6722 -1.12605e+06 3.96154e+07 - 16.83 36543.9 51.7073 -1.12619e+06 3.96049e+07 - 16.85 36568.4 51.7427 -1.12635e+06 3.95946e+07 - 16.87 36593.2 51.7783 -1.12651e+06 3.95845e+07 - 16.89 36618.4 51.8141 -1.12668e+06 3.95745e+07 - 16.91 36643.9 51.8501 -1.12686e+06 3.95646e+07 - 16.93 36669.7 51.8864 -1.12704e+06 3.9555e+07 - 16.95 36695.8 51.9228 -1.12723e+06 3.95455e+07 - 16.97 36722.2 51.9594 -1.12743e+06 3.95361e+07 - 16.99 36748.9 51.9961 -1.12763e+06 3.95269e+07 - 17.01 36776 52.033 -1.12784e+06 3.95178e+07 - 17.03 36803.3 52.0701 -1.12806e+06 3.95088e+07 - 17.05 36830.9 52.1072 -1.12828e+06 3.95e+07 - 17.07 36858.9 52.1445 -1.12851e+06 3.94914e+07 - 17.09 36887.1 52.1819 -1.12874e+06 3.94828e+07 - 17.11 36915.5 52.2194 -1.12898e+06 3.94744e+07 - 17.13 36944.3 52.257 -1.12923e+06 3.94661e+07 - 17.15 36973.3 52.2947 -1.12948e+06 3.9458e+07 - 17.17 37002.5 52.3324 -1.12974e+06 3.94499e+07 - 17.19 37032.1 52.3702 -1.13e+06 3.9442e+07 - 17.21 37061.9 52.408 -1.13027e+06 3.94342e+07 - 17.23 37091.9 52.4459 -1.13054e+06 3.94264e+07 - 17.25 37122.2 52.4838 -1.13082e+06 3.94188e+07 - 17.27 37152.7 52.5217 -1.1311e+06 3.94113e+07 - 17.29 37183.4 52.5596 -1.13138e+06 3.94039e+07 - 17.31 37214.4 52.5976 -1.13168e+06 3.93966e+07 - 17.33 37245.6 52.6355 -1.13197e+06 3.93894e+07 - 17.35 37277 52.6734 -1.13227e+06 3.93822e+07 - 17.37 37308.6 52.7113 -1.13258e+06 3.93752e+07 - 17.39 37340.4 52.7492 -1.13289e+06 3.93682e+07 - 17.41 37372.5 52.787 -1.1332e+06 3.93614e+07 - 17.43 37404.7 52.8247 -1.13352e+06 3.93546e+07 - 17.45 37437.2 52.8625 -1.13384e+06 3.93478e+07 - 17.47 37469.8 52.9001 -1.13417e+06 3.93412e+07 - 17.49 37502.6 52.9377 -1.1345e+06 3.93346e+07 - 17.51 37535.6 52.9751 -1.13483e+06 3.93281e+07 - 17.53 37568.8 53.0125 -1.13516e+06 3.93217e+07 - 17.55 37602.2 53.0498 -1.1355e+06 3.93153e+07 - 17.57 37635.7 53.087 -1.13585e+06 3.9309e+07 - 17.59 37669.4 53.1241 -1.13619e+06 3.93027e+07 - 17.61 37703.3 53.161 -1.13654e+06 3.92965e+07 - 17.63 37737.3 53.1979 -1.1369e+06 3.92904e+07 - 17.65 37771.5 53.2346 -1.13725e+06 3.92843e+07 - 17.67 37805.8 53.2711 -1.13761e+06 3.92783e+07 - 17.69 37840.3 53.3075 -1.13797e+06 3.92723e+07 - 17.71 37874.9 53.3438 -1.13834e+06 3.92663e+07 - 17.73 37909.6 53.3798 -1.1387e+06 3.92604e+07 - 17.75 37944.5 53.4158 -1.13907e+06 3.92545e+07 - 17.77 37979.5 53.4515 -1.13944e+06 3.92487e+07 - 17.79 38014.7 53.4871 -1.13982e+06 3.92429e+07 - 17.81 38049.9 53.5224 -1.14019e+06 3.92371e+07 - 17.83 38085.3 53.5576 -1.14057e+06 3.92314e+07 - 17.85 38120.8 53.5926 -1.14095e+06 3.92257e+07 - 17.87 38156.4 53.6273 -1.14134e+06 3.922e+07 - 17.89 38192.1 53.6619 -1.14172e+06 3.92143e+07 - 17.91 38228 53.6962 -1.14211e+06 3.92087e+07 - 17.93 38263.9 53.7304 -1.1425e+06 3.92031e+07 - 17.95 38299.9 53.7643 -1.14289e+06 3.91975e+07 - 17.97 38336 53.7979 -1.14328e+06 3.91919e+07 - 17.99 38372.2 53.8313 -1.14367e+06 3.91863e+07 - 18.01 38408.4 53.8645 -1.14406e+06 3.91807e+07 - 18.03 38444.8 53.8974 -1.14446e+06 3.91752e+07 - 18.05 38481.2 53.9301 -1.14486e+06 3.91697e+07 - 18.07 38517.7 53.9625 -1.14526e+06 3.91641e+07 - 18.09 38554.3 53.9946 -1.14566e+06 3.91586e+07 - 18.11 38590.9 54.0265 -1.14606e+06 3.91531e+07 - 18.13 38627.6 54.0581 -1.14646e+06 3.91475e+07 - 18.15 38664.4 54.0894 -1.14686e+06 3.9142e+07 - 18.17 38701.2 54.1204 -1.14726e+06 3.91365e+07 - 18.19 38738.1 54.1512 -1.14767e+06 3.9131e+07 - 18.21 38775 54.1816 -1.14807e+06 3.91254e+07 - 18.23 38812 54.2118 -1.14848e+06 3.91199e+07 - 18.25 38849 54.2416 -1.14888e+06 3.91143e+07 - 18.27 38886 54.2712 -1.14929e+06 3.91087e+07 - 18.29 38923.1 54.3004 -1.14969e+06 3.91032e+07 - 18.31 38960.2 54.3293 -1.1501e+06 3.90976e+07 - 18.33 38997.3 54.358 -1.15051e+06 3.90919e+07 - 18.35 39034.5 54.3862 -1.15091e+06 3.90863e+07 - 18.37 39071.6 54.4142 -1.15132e+06 3.90806e+07 - 18.39 39108.8 54.4418 -1.15173e+06 3.9075e+07 - 18.41 39146 54.4692 -1.15213e+06 3.90693e+07 - 18.43 39183.3 54.4961 -1.15254e+06 3.90636e+07 - 18.45 39220.5 54.5228 -1.15295e+06 3.90578e+07 - 18.47 39257.7 54.549 -1.15335e+06 3.9052e+07 - 18.49 39294.9 54.575 -1.15376e+06 3.90462e+07 - 18.51 39332.2 54.6006 -1.15417e+06 3.90404e+07 - 18.53 39369.4 54.6259 -1.15457e+06 3.90345e+07 - 18.55 39406.6 54.6507 -1.15498e+06 3.90286e+07 - 18.57 39443.8 54.6753 -1.15538e+06 3.90227e+07 - 18.59 39481 54.6995 -1.15578e+06 3.90167e+07 - 18.61 39518.1 54.7233 -1.15619e+06 3.90107e+07 - 18.63 39555.3 54.7467 -1.15659e+06 3.90046e+07 - 18.65 39592.4 54.7698 -1.15699e+06 3.89985e+07 - 18.67 39629.5 54.7926 -1.15739e+06 3.89924e+07 - 18.69 39666.5 54.8149 -1.15779e+06 3.89862e+07 - 18.71 39703.5 54.8369 -1.15818e+06 3.898e+07 - 18.73 39740.5 54.8585 -1.15858e+06 3.89737e+07 - 18.75 39777.4 54.8797 -1.15898e+06 3.89674e+07 - 18.77 39814.3 54.9005 -1.15937e+06 3.89611e+07 - 18.79 39851.1 54.921 -1.15976e+06 3.89546e+07 - 18.81 39887.9 54.9411 -1.16015e+06 3.89482e+07 - 18.83 39924.7 54.9607 -1.16054e+06 3.89417e+07 - 18.85 39961.3 54.98 -1.16093e+06 3.89351e+07 - 18.87 39997.9 54.9989 -1.16132e+06 3.89285e+07 - 18.89 40034.5 55.0174 -1.1617e+06 3.89218e+07 - 18.91 40071 55.0356 -1.16209e+06 3.8915e+07 - 18.93 40107.4 55.0533 -1.16247e+06 3.89082e+07 - 18.95 40143.7 55.0706 -1.16285e+06 3.89014e+07 - 18.97 40180 55.0875 -1.16323e+06 3.88945e+07 - 18.99 40216.1 55.104 -1.1636e+06 3.88875e+07 - 19.01 40252.2 55.1202 -1.16398e+06 3.88804e+07 - 19.03 40288.2 55.1359 -1.16435e+06 3.88733e+07 - 19.05 40324.1 55.1512 -1.16472e+06 3.88662e+07 - 19.07 40360 55.1661 -1.16508e+06 3.88589e+07 - 19.09 40395.7 55.1806 -1.16545e+06 3.88516e+07 - 19.11 40431.3 55.1947 -1.16581e+06 3.88442e+07 - 19.13 40466.8 55.2084 -1.16617e+06 3.88368e+07 - 19.15 40502.2 55.2216 -1.16653e+06 3.88292e+07 - 19.17 40537.5 55.2345 -1.16689e+06 3.88216e+07 - 19.19 40572.7 55.247 -1.16724e+06 3.8814e+07 - 19.21 40607.8 55.259 -1.16759e+06 3.88062e+07 - 19.23 40642.8 55.2706 -1.16794e+06 3.87984e+07 - 19.25 40677.6 55.2818 -1.16828e+06 3.87905e+07 - 19.27 40712.3 55.2926 -1.16862e+06 3.87825e+07 - 19.29 40746.9 55.303 -1.16896e+06 3.87745e+07 - 19.31 40781.4 55.3129 -1.1693e+06 3.87664e+07 - 19.33 40815.7 55.3225 -1.16963e+06 3.87581e+07 - 19.35 40849.9 55.3316 -1.16996e+06 3.87498e+07 - 19.37 40883.9 55.3403 -1.17029e+06 3.87415e+07 - 19.39 40917.8 55.3486 -1.17061e+06 3.8733e+07 - 19.41 40951.6 55.3564 -1.17093e+06 3.87244e+07 - 19.43 40985.2 55.3639 -1.17125e+06 3.87158e+07 - 19.45 41018.6 55.3709 -1.17156e+06 3.87071e+07 - 19.47 41051.9 55.3775 -1.17187e+06 3.86983e+07 - 19.49 41085.1 55.3837 -1.17218e+06 3.86894e+07 - 19.51 41118 55.3895 -1.17248e+06 3.86804e+07 - 19.53 41150.8 55.3948 -1.17278e+06 3.86713e+07 - 19.55 41183.5 55.3997 -1.17307e+06 3.86621e+07 - 19.57 41215.9 55.4042 -1.17337e+06 3.86528e+07 - 19.59 41248.2 55.4083 -1.17365e+06 3.86435e+07 - 19.61 41280.4 55.4119 -1.17394e+06 3.8634e+07 - 19.63 41312.3 55.4152 -1.17422e+06 3.86244e+07 - 19.65 41344 55.418 -1.1745e+06 3.86148e+07 - 19.67 41375.6 55.4204 -1.17477e+06 3.8605e+07 - 19.69 41407 55.4223 -1.17504e+06 3.85951e+07 - 19.71 41438.1 55.4239 -1.1753e+06 3.85852e+07 - 19.73 41469.1 55.425 -1.17556e+06 3.85751e+07 - 19.75 41499.9 55.4257 -1.17582e+06 3.8565e+07 - 19.77 41530.5 55.426 -1.17607e+06 3.85547e+07 - 19.79 41560.8 55.4258 -1.17631e+06 3.85443e+07 - 19.81 41591 55.4253 -1.17656e+06 3.85338e+07 - 19.83 41620.9 55.4243 -1.17679e+06 3.85232e+07 - 19.85 41650.7 55.4229 -1.17703e+06 3.85125e+07 - 19.87 41680.2 55.421 -1.17726e+06 3.85017e+07 - 19.89 41709.5 55.4188 -1.17748e+06 3.84908e+07 - 19.91 41738.5 55.4161 -1.1777e+06 3.84798e+07 - 19.93 41767.4 55.413 -1.17791e+06 3.84686e+07 - 19.95 41796 55.4095 -1.17812e+06 3.84574e+07 - 19.97 41824.3 55.4056 -1.17833e+06 3.8446e+07 - 19.99 41852.5 55.4013 -1.17853e+06 3.84345e+07 + 0.5 356691 626.131 -7.13544e+06 2.02056e+08 + 1.5 348656 606.514 -7.03014e+06 1.99209e+08 + 2.5 333032 569.396 -6.81899e+06 1.93563e+08 + 3.5 310656 518.557 -6.50176e+06 1.85201e+08 + 4.5 282683 458.689 -6.08031e+06 1.74236e+08 + 5.5 250512 394.607 -5.56125e+06 1.60839e+08 + 6.5 215751 330.615 -4.95931e+06 1.45316e+08 + 7.5 180190 270.122 -4.3001e+06 1.28208e+08 + 8.5 145738 215.497 -3.62025e+06 1.10345e+08 + 9.5 114241 168.083 -2.96321e+06 9.27832e+07