From c4676b08b05b08d538da05955873ce1e1acdd396 Mon Sep 17 00:00:00 2001 From: liiutao <3158793232@qq.com> Date: Thu, 2 Jan 2025 18:41:19 +0800 Subject: [PATCH 1/7] update the update_pos_taud --- .../test/support/mock_unitcell.cpp | 1 - .../module_cell/test/unitcell_test_para.cpp | 3 +- source/module_cell/unitcell.cpp | 19 - source/module_cell/unitcell.h | 1 - source/module_cell/update_cell.cpp | 32 +- source/module_cell/update_cell.h | 25 + source/module_relax/relax_new/relax.cpp | 2 +- .../relax_new/test/relax_test.cpp | 42 +- .../module_relax/relax_new/test/relax_test.h | 17 - .../relax_new/test/support/result_ref.txt | 845 +++++++++++------- 10 files changed, 610 insertions(+), 377 deletions(-) diff --git a/source/module_cell/test/support/mock_unitcell.cpp b/source/module_cell/test/support/mock_unitcell.cpp index c335a181a98..9b844b18261 100644 --- a/source/module_cell/test/support/mock_unitcell.cpp +++ b/source/module_cell/test/support/mock_unitcell.cpp @@ -33,7 +33,6 @@ bool UnitCell::read_atom_positions(std::ifstream& ifpos, std::ofstream& ofs_warning) { return true; } -void UnitCell::update_pos_taud(double* posd_in) {} void UnitCell::update_pos_taud(const ModuleBase::Vector3* posd_in) {} void UnitCell::update_vel(const ModuleBase::Vector3* vel_in) {} void UnitCell::bcast_atoms_tau() {} diff --git a/source/module_cell/test/unitcell_test_para.cpp b/source/module_cell/test/unitcell_test_para.cpp index 11f629d7072..76f3b28429f 100644 --- a/source/module_cell/test/unitcell_test_para.cpp +++ b/source/module_cell/test/unitcell_test_para.cpp @@ -167,7 +167,8 @@ TEST_F(UcellTest, UpdatePosTaud) ucell->iat2iait(iat, &ia, &it); tmp[iat] = ucell->atoms[it].taud[ia]; } - ucell->update_pos_taud(pos_in); + unitcell::update_pos_taud(ucell->lat,pos_in,ucell->ntype, + ucell->nat,ucell->atoms); for (int iat = 0; iat < ucell->nat; ++iat) { int it, ia; diff --git a/source/module_cell/unitcell.cpp b/source/module_cell/unitcell.cpp index c7bbbe9cd69..f09c2b93d8a 100755 --- a/source/module_cell/unitcell.cpp +++ b/source/module_cell/unitcell.cpp @@ -314,25 +314,6 @@ std::vector> UnitCell::get_constrain() const return constrain; } - - -void UnitCell::update_pos_taud(double* posd_in) { - int iat = 0; - for (int it = 0; it < this->ntype; it++) { - Atom* atom = &this->atoms[it]; - for (int ia = 0; ia < atom->na; ia++) { - for (int ik = 0; ik < 3; ++ik) { - atom->taud[ia][ik] += posd_in[3 * iat + ik]; - atom->dis[ia][ik] = posd_in[3 * iat + ik]; - } - iat++; - } - } - assert(iat == this->nat); - unitcell::periodic_boundary_adjustment(this->atoms,this->latvec, this->ntype); - this->bcast_atoms_tau(); -} - // posd_in is atomic displacements here liuyu 2023-03-22 void UnitCell::update_pos_taud(const ModuleBase::Vector3* posd_in) { int iat = 0; diff --git a/source/module_cell/unitcell.h b/source/module_cell/unitcell.h index e6f2fa96f0a..852f3cd3969 100644 --- a/source/module_cell/unitcell.h +++ b/source/module_cell/unitcell.h @@ -201,7 +201,6 @@ class UnitCell { void print_cell_xyz(const std::string& fn) const; void update_pos_taud(const ModuleBase::Vector3* posd_in); - void update_pos_taud(double* posd_in); void update_vel(const ModuleBase::Vector3* vel_in); void bcast_atoms_tau(); bool judge_big_cell() const; diff --git a/source/module_cell/update_cell.cpp b/source/module_cell/update_cell.cpp index 1ea761afba7..a222ec9abab 100644 --- a/source/module_cell/update_cell.cpp +++ b/source/module_cell/update_cell.cpp @@ -374,6 +374,32 @@ void update_pos_tau(const Lattice& lat, bcast_atoms_tau(atoms, ntype); } +void update_pos_taud(const Lattice& lat, + const double* posd_in, + const int ntype, + const int nat, + Atom* atoms) +{ + int iat = 0; + for (int it = 0; it < ntype; it++) + { + Atom* atom = &atoms[it]; + for (int ia = 0; ia < atom->na; ia++) + { + for (int ik = 0; ik < 3; ++ik) + { + atom->taud[ia][ik] += posd_in[3 * iat + ik]; + atom->dis[ia][ik] = posd_in[3 * iat + ik]; + } + iat++; + } + } + assert(iat == nat); + periodic_boundary_adjustment(atoms,lat.latvec,ntype); + bcast_atoms_tau(atoms, ntype); +} + + void periodic_boundary_adjustment(Atom* atoms, const ModuleBase::Matrix3& latvec, const int ntype) @@ -384,12 +410,6 @@ void periodic_boundary_adjustment(Atom* atoms, // first adjust direct coordinates, // then update them into cartesian coordinates, //---------------------------------------------- - for (int i=0;ina;j++) { - printf("the taud is %f %f %f\n",atom->taud[j].x,atom->taud[j].y,atom->taud[j].z); - } - } for (int it = 0; it < ntype; it++) { Atom* atom = &atoms[it]; for (int ia = 0; ia < atom->na; ia++) { diff --git a/source/module_cell/update_cell.h b/source/module_cell/update_cell.h index d7105535dc7..21e48b9ae78 100644 --- a/source/module_cell/update_cell.h +++ b/source/module_cell/update_cell.h @@ -48,6 +48,31 @@ namespace unitcell const int ntype, const int nat, Atom* atoms); + + /** + * @brief update the position and tau of the atoms + * + * @param lat: the lattice of the atoms [in] + * @param pos_in: the position of the atoms in direct coordinate system [in] + * @param ntype: the number of types of the atoms [in] + * @param nat: the number of atoms [in] + * @param atoms: the atoms to be updated [out] + */ + void update_pos_taud(const Lattice& lat, + const double* posd_in, + const int ntype, + const int nat, + Atom* atoms); + /** + * @brief update the velocity of the atoms + * + * @param lat: the lattice of the atoms [in] + * @param pos_in: the position of the atoms in direct coordinate system + * in ModuleBase::Vector3 version [in] + * @param ntype: the number of types of the atoms [in] + * @param nat: the number of atoms [in] + * @param atoms: the atoms to be updated [out] + */ } // #endif // UPDATE_CELL_H \ No newline at end of file diff --git a/source/module_relax/relax_new/relax.cpp b/source/module_relax/relax_new/relax.cpp index 88800c88d88..b6f05608244 100644 --- a/source/module_relax/relax_new/relax.cpp +++ b/source/module_relax/relax_new/relax.cpp @@ -633,7 +633,7 @@ void Relax::move_cell_ions(UnitCell& ucell, const bool is_new_dir) ucell.symm.symmetrize_vec3_nat(move_ion); } - ucell.update_pos_taud(move_ion); + unitcell::update_pos_taud(ucell.lat,move_ion,ucell.ntype,ucell.nat,ucell.atoms); // Print the structure file. ucell.print_tau(); diff --git a/source/module_relax/relax_new/test/relax_test.cpp b/source/module_relax/relax_new/test/relax_test.cpp index 74328026a4d..0f1d6f42e28 100644 --- a/source/module_relax/relax_new/test/relax_test.cpp +++ b/source/module_relax/relax_new/test/relax_test.cpp @@ -1,4 +1,5 @@ #include "gtest/gtest.h" +#include #define private public #include "module_parameter/parameter.h" #undef private @@ -27,13 +28,13 @@ class Test_SETGRAD : public testing::Test force_in.create(nat,3); stress_in.create(3,3); - force_in(0,0) = 1; force_in(0,1) = 2; force_in(0,2)= 3; - force_in(1,0) = 4; force_in(1,1) = 5; force_in(1,2)= 6; - force_in(2,0) = 7; force_in(2,1) = 8; force_in(2,2)= 9; + force_in(0,0) = 0.1; force_in(0,1) = 0.1; force_in(0,2)= 0.1; + force_in(1,0) = 0; force_in(1,1) = 0.1; force_in(1,2)= 0.1; + force_in(2,0) = 0; force_in(2,1) = 0; force_in(2,2)= 0.1; - stress_in(0,0) = 1; stress_in(0,1) = 2; stress_in(0,2)= 3; - stress_in(1,0) = 4; stress_in(1,1) = 5; stress_in(1,2)= 6; - stress_in(2,0) = 7; stress_in(2,1) = 8; stress_in(2,2)= 9; + stress_in(0,0) = 1; stress_in(0,1) = 1; stress_in(0,2)= 1; + stress_in(1,0) = 0; stress_in(1,1) = 1; stress_in(1,2)= 1; + stress_in(2,0) = 0; stress_in(2,1) = 0; stress_in(2,2)= 1; ucell.ntype = 1; ucell.nat = nat; @@ -46,6 +47,8 @@ class Test_SETGRAD : public testing::Test ucell.iat2ia = new int[nat]; ucell.atoms[0].mbl.resize(nat); ucell.atoms[0].taud.resize(nat); + ucell.atoms[0].tau.resize(nat); + ucell.atoms[0].dis.resize(nat); ucell.lc = new int[3]; ucell.iat2it[0] = 0; @@ -136,14 +139,25 @@ TEST_F(Test_SETGRAD, relax_new) { std::vector result_ref = { - 0,0,0.1709672056,0,0.2849453427,0,0.3989234797,0,0,1.005319517, - 0.01063903455,0.01595855183,0.0212780691,1.026597586,0.03191710366, - 0.03723662093,0.04255613821,1.047875655,1.059181731,0,0,0,1.059181731, - 0,0,0,1.059181731,1.034363264,0.01301504537,0.01952256806, - 0.02603009074,1.060393355,0.03904513611,0.0455526588,0.05206018148, - 1.086423445,1,0,0,0,1,0,0,0,1 + 0, 0, 0.24293434145, + 0, 0.242934341453, 0, + 0, 0, 0, + //paramter for taud + 1.2267616333,0.2267616333,0.22676163333, + 0, 1.2267616333 ,0.2267616333, + 0, 0, 1.22676163333, + // paramter for fisrt time after relaxation + 1.3677603495, 0, 0, + 0, 1.36776034956, 0, + 0, 0, 1.36776034956, + // paramter for second time after relaxation + 1.3677603495 ,0.3633367476,0.36333674766, + 0, 1.3677603495 ,0.36333674766, + 0, 0, 1.3677603495 , + // paramter for third time after relaxation + 1,0,0,0,1,0,0,0,1 + // paramter for fourth time after relaxation }; - for(int i=0;i> tmp; diff --git a/source/module_relax/relax_new/test/relax_test.h b/source/module_relax/relax_new/test/relax_test.h index d60d37adf96..d31da75f07d 100644 --- a/source/module_relax/relax_new/test/relax_test.h +++ b/source/module_relax/relax_new/test/relax_test.h @@ -2,7 +2,6 @@ namespace GlobalC { - UnitCell ucell; Structure_Factor sf; ModulePW::PW_Basis* rhopw; } @@ -10,22 +9,6 @@ namespace GlobalC UnitCell::UnitCell(){}; UnitCell::~UnitCell(){}; -void UnitCell::update_pos_taud(double* posd_in) -{ - int iat = 0; - for (int it = 0; it < this->ntype; it++) - { - Atom* atom = &this->atoms[it]; - for (int ia = 0; ia < atom->na; ia++) - { - this->atoms[it].taud[ia].x += posd_in[iat*3]; - this->atoms[it].taud[ia].y += posd_in[iat*3 + 1]; - this->atoms[it].taud[ia].z += posd_in[iat*3 + 2]; - iat++; - } - } - assert(iat == this->nat); -} void UnitCell::print_stru_file(const std::string& fn, const int& nspin, diff --git a/source/module_relax/relax_new/test/support/result_ref.txt b/source/module_relax/relax_new/test/support/result_ref.txt index 26303ffbe79..ef3c13e96d4 100644 --- a/source/module_relax/relax_new/test/support/result_ref.txt +++ b/source/module_relax/relax_new/test/support/result_ref.txt @@ -1,317 +1,528 @@ - 0.5000000586 0.4999998876 0.009364595811 -7.186242751e-08 1.901333279e-07 - 0.5476035454 3.782097706e-07 0.4999999285 0.4770375874 0.4999997826 - 2.072311863e-07 0.477037871 -1.477100701e-07 -2.13401842e-07 0.9349574003 - 4.006349654 -1.93128788e-07 5.793863639e-07 -1.93128788e-07 4.006354579 - -3.86257576e-07 6.757962549e-07 -4.505308366e-07 3.966870038 0.5000000566 - 0.4999998916 0.009177239183 -6.91719752e-08 1.832935626e-07 0.5467689737 - 3.647769323e-07 0.4999999311 0.4771204124 0.4999997903 1.998879545e-07 - 0.4771206859 -1.426137623e-07 -2.057340692e-07 0.9358136888 3.999761277 - -1.656764727e-07 4.97029418e-07 -1.656764727e-07 3.999765501 -3.313529453e-07 - 5.797351131e-07 -3.864900754e-07 4.010925071 0.500000082 0.4999999574 - 0.01057784352 -8.506971788e-08 1.939640249e-07 0.5455830599 3.795967781e-07 - 0.4999998795 0.4765373919 0.4999998037 2.756298268e-07 0.4765374602 - -1.804105264e-07 -3.063789336e-07 0.9367652445 4.017733155 -1.420363309e-07 - 2.637046077e-07 -1.420364243e-07 4.017735987 3.126225134e-07 3.479123171e-07 - 2.578467568e-07 4.011674933 0.5000000796 0.4999999511 0.01044351025 - -8.354492136e-08 1.929267547e-07 0.545696802 3.781847144e-07 0.4999998844 - 0.4765933099 0.4999998025 2.683875221e-07 0.476593398 -1.768062132e-07 - -2.967527323e-07 0.9366739799 4.016009133 -1.443041027e-07 2.860871904e-07 - -1.443041871e-07 4.016012099 2.508466826e-07 3.701508133e-07 1.960362599e-07 - 4.011602999 0.5000000861 0.4999999815 0.01183052577 -9.146188782e-08 - 2.175518281e-07 0.5443392027 3.600200139e-07 0.499999867 0.4761361923 - 0.4999998175 2.782489662e-07 0.4761362171 -1.722823846e-07 -3.442702638e-07 - 0.9375588622 4.016074628 -1.145426559e-07 2.863757511e-07 -1.145427088e-07 - 4.01607746 4.947921784e-08 3.709660589e-07 -4.491248374e-09 4.002844696 - 0.5000000949 0.5000000225 0.01369772404 -1.020955161e-07 2.505380934e-07 - 0.5425116045 3.356207547e-07 0.4999998436 0.4755208212 0.4999998376 - 2.914645637e-07 0.4755207609 -1.662062891e-07 -4.08038247e-07 0.9387500893 - 4.016162605 -7.456531053e-08 2.867633631e-07 -7.456532115e-08 4.016165256 - -2.210095363e-07 3.720611453e-07 -2.738517231e-07 3.991080022 0.5000000661 - 0.4999999774 0.01340203962 -3.089174616e-08 3.177383018e-07 0.5422778256 - 2.937375994e-07 0.4999998377 0.4754148341 0.4999998455 2.282657485e-07 - 0.4754150023 -1.7467006e-07 -3.610444656e-07 0.9394912985 4.016759016 - -9.975790189e-08 7.459699521e-07 -9.975793698e-08 4.016761853 -4.168703121e-07 - 8.285055584e-07 -4.685699985e-07 3.990203221 0.5000000627 0.4999999719 - 0.01336607846 -2.223189517e-08 3.259068081e-07 0.5422493934 2.886471074e-07 - 0.4999998369 0.4754019439 0.4999998464 2.205817104e-07 0.4754021399 - -1.75709291e-07 -3.553268117e-07 0.9395814444 4.016831536 -1.028211535e-07 - 8.018064201e-07 -1.028211916e-07 4.016834395 -4.406856802e-07 8.840061642e-07 - -4.922464461e-07 3.990096608 0.50000006 0.499999967 0.01329728526 - -1.35745542e-08 3.325700456e-07 0.542252812 2.855644354e-07 0.4999998363 - 0.4754026764 0.4999998456 2.134130089e-07 0.4754028962 -1.777895118e-07 - -3.492874067e-07 0.9396453302 4.016804157 -1.028477628e-07 8.108087853e-07 - -1.028478008e-07 4.016807063 -4.402571272e-07 8.930425818e-07 -4.918722041e-07 - 3.9895892 0.500000052 0.4999999522 0.01309087941 1.239762237e-08 - 3.525598936e-07 0.5422630694 2.763163513e-07 0.4999998344 0.4754048742 - 0.4999998432 1.91906758e-07 0.4754051652 -1.840306532e-07 -3.311690833e-07 - 0.9398370119 4.016722021 -1.029275908e-07 8.37815881e-07 -1.029276285e-07 - 4.016725065 -4.389714685e-07 9.201518346e-07 -4.907494778e-07 3.988066978 - 0.5000000531 0.4999999535 0.01306045847 1.172010024e-08 3.505960318e-07 - 0.5422783814 2.730828384e-07 0.4999998344 0.4754320117 0.4999998465 - 1.942625467e-07 0.4754322931 -1.846534178e-07 -3.328413284e-07 0.9397978553 - 4.016722829 -1.029206516e-07 7.674399968e-07 -1.02920689e-07 4.016725862 - -4.050357177e-07 8.503420582e-07 -4.570894557e-07 3.987762366 0.5000000567 - 0.4999999574 0.0129691887 9.688331883e-09 3.447040629e-07 0.5423243211 - 2.633837151e-07 0.4999998345 0.4755134305 0.4999998566 2.013292303e-07 - 0.4755136831 -1.865237512e-07 -3.378570794e-07 0.9396803767 4.016725254 - -1.028998342e-07 5.56312344e-07 -1.028998706e-07 4.016728251 -3.032284652e-07 - 6.40912729e-07 -3.561093893e-07 3.98684853 0.5000000552 0.4999999717 - 0.01288725225 8.34868654e-09 3.578879491e-07 0.5422946246 2.590298072e-07 - 0.4999998131 0.4755527939 0.4999998599 2.281727391e-07 0.4755530395 - -1.827191497e-07 -3.7082805e-07 0.9397132898 4.016904763 -1.096986501e-07 - 4.707225379e-07 -1.096987293e-07 4.016907735 1.090554523e-08 5.560136738e-07 - -4.434198486e-08 3.986665638 0.5000000508 0.5000000146 0.01264143162 - 4.328047801e-09 3.974447551e-07 0.5422055312 2.459711622e-07 0.499999749 - 0.4756708894 0.49999987 3.086905038e-07 0.475671114 -1.713037695e-07 - -4.697442054e-07 0.9398120339 4.017443291 -1.300950978e-07 2.139531198e-07 - -1.300953053e-07 4.017446186 9.533075765e-07 3.013165083e-07 8.909602285e-07 - 3.986116964 0.5000000483 0.5000000154 0.01257168752 1.438416028e-09 - 4.057347929e-07 0.5421844767 2.439985135e-07 0.4999997474 0.4756947513 - 0.4999998723 3.147478061e-07 0.4756949759 -1.661820178e-07 -4.833308435e-07 - 0.9398551087 4.017340044 -1.223718377e-07 2.557105028e-07 -1.223720107e-07 - 4.017342988 6.23468119e-07 3.427644257e-07 5.637764569e-07 3.985668589 - 0.5000000408 0.5000000178 0.0123624317 -7.230049852e-09 4.306004018e-07 - 0.542121306 2.380796758e-07 0.4999997427 0.4757663451 0.4999998791 - 3.329260089e-07 0.4757665695 -1.508177022e-07 -5.240812825e-07 0.9399843477 - 4.017030304 -9.920205757e-08 3.80982652e-07 -9.920212672e-08 4.017033391 - -3.660502535e-07 4.67108178e-07 -4.177748579e-07 3.984323464 0.5000000434 - 0.5000000095 0.01229011791 2.269279068e-08 4.997711689e-07 0.5420674696 - 2.2477883e-07 0.4999996846 0.4757884582 0.4999998701 4.017236861e-07 - 0.4757886749 -1.611683166e-07 -5.95643903e-07 0.9400662794 4.017508039 - -8.577089195e-08 6.90160419e-07 -8.577101412e-08 4.017512645 4.0020643e-07 - 7.738336619e-07 3.421833968e-07 3.984223436 0.5000000468 0.4999999994 - 0.0122014875 5.936706817e-08 5.845496166e-07 0.5420014857 2.084771084e-07 - 0.4999996134 0.475815561 0.4999998592 4.860273209e-07 0.475815768 - -1.738602456e-07 -6.833599837e-07 0.9401666979 4.018093553 -6.930958019e-08 - 1.069090421e-06 -6.930976733e-08 4.018100022 1.339334911e-06 1.149758132e-06 - 1.273592488e-06 3.984100841 0.5000000494 0.4999999989 0.01215031965 - 7.686345089e-08 6.256089494e-07 0.5419774224 2.052617253e-07 0.4999995794 - 0.4758354969 0.4999998502 5.193014538e-07 0.4758356907 -1.818065319e-07 - -7.232284841e-07 0.9402020704 4.018196574 -6.65804403e-08 1.131800255e-06 - -6.658063704e-08 4.018203418 1.494869593e-06 1.212066529e-06 1.427968664e-06 - 3.983726502 0.5000000573 0.4999999975 0.01199680166 1.293523747e-07 - 7.487865539e-07 0.5419052257 1.956148942e-07 0.4999994775 0.4758953102 - 0.4999998233 6.191189854e-07 0.4758954646 -2.05646428e-07 -8.428349881e-07 - 0.9403081979 4.018505635 -5.839302062e-08 1.319929756e-06 -5.839324615e-08 - 4.018513609 1.96147364e-06 1.398991718e-06 1.891097193e-06 3.982603486 - 0.5000000559 0.4999999987 0.01197659032 1.316860624e-07 7.590833749e-07 - 0.5419126282 1.906164588e-07 0.4999994807 0.475906966 0.4999998253 - 6.150618164e-07 0.4759071025 -2.035657065e-07 -8.535272509e-07 0.9402977131 - 4.018252278 -6.443172211e-08 1.126561783e-06 -6.443190747e-08 4.018259412 - 1.478221425e-06 1.207420282e-06 1.41227732e-06 3.982125011 0.5000000541 - 0.5000000003 0.01195055674 1.346922942e-07 7.72346765e-07 0.5419221632 - 1.841792154e-07 0.4999994848 0.4759219794 0.4999998278 6.098379883e-07 - 0.4759220929 -2.008863915e-07 -8.673004409e-07 0.9402842079 4.017925976 - -7.22090477e-08 8.775205468e-07 -7.220918133e-08 4.017932028 8.558343374e-07 - 9.606928307e-07 7.955987076e-07 3.981508778 0.5000000483 0.5000000036 - 0.01192008315 1.324497574e-07 7.847436641e-07 0.5418970361 1.891088374e-07 - 0.4999994948 0.4759352623 0.4999998355 5.937214565e-07 0.4759353618 - -2.054364475e-07 -8.768321725e-07 0.9403132567 4.017937177 -7.400502708e-08 - 6.913073321e-07 -7.400511638e-08 4.017942351 3.865861539e-07 7.762155055e-07 - 3.306507004e-07 3.981300707 0.5000000308 0.5000000135 0.01182865758 - 1.257187058e-07 8.219255433e-07 0.5418216507 2.038994915e-07 0.4999995247 - 0.4759751132 0.4999998585 5.453765917e-07 0.4759751709 -2.190825771e-07 - -9.054172097e-07 0.9404004077 4.017970778 -7.939296524e-08 1.326676882e-07 - -7.939292154e-08 4.017973318 -1.021158397e-06 2.227835299e-07 -1.064193321e-06 - 3.980676494 0.500000036 0.5000000195 0.01179815344 1.287790209e-07 - 8.228239915e-07 0.5417966586 1.941065691e-07 0.499999496 0.4759876283 - 0.499999842 5.592279171e-07 0.4759877103 -2.009933836e-07 -8.97533492e-07 - 0.9404308493 4.018181454 -7.921316109e-08 2.607728813e-07 -7.921315181e-08 - 4.018184338 -7.549780172e-07 3.497160411e-07 -8.00575728e-07 3.980534532 - 0.500000043 0.5000000276 0.0117576448 1.328437232e-07 8.240191772e-07 - 0.5417634698 1.811024659e-07 0.4999994578 0.4760042481 0.49999982 - 5.776193708e-07 0.4760043623 -1.769748397e-07 -8.870677129e-07 0.940471275 - 4.018461216 -7.897439478e-08 4.30886885e-07 -7.897443121e-08 4.018464557 - -4.015106133e-07 5.182728119e-07 -4.505115099e-07 3.980346016 0.5000000355 - 0.5000000206 0.01173252464 1.233072045e-07 8.181156645e-07 0.5417596597 - 1.751327516e-07 0.4999994678 0.4760131211 0.4999998235 5.672244241e-07 - 0.4760132464 -1.576156695e-07 -8.736646886e-07 0.9404824482 4.018480418 - -8.412181517e-08 3.184493063e-07 -8.412183942e-08 4.018483841 -4.353464953e-07 - 4.06930207e-07 -4.840528446e-07 3.980103313 0.5000000133 0.4999999994 - 0.01165715956 9.469746849e-08 8.004051159e-07 0.5417482288 1.572244315e-07 - 0.4999994977 0.4760397415 0.4999998342 5.360399565e-07 0.4760399001 - -9.953750773e-08 -8.334555284e-07 0.94051597 4.018538024 -9.956407636e-08 - -1.886342981e-08 -9.956406405e-08 4.018541691 -5.368541413e-07 7.290239242e-08 - -5.846768489e-07 3.979375204 0.5000000114 0.5000000159 0.01163688389 - 9.055593083e-08 8.153191081e-07 0.5417309831 1.61065247e-07 0.4999994711 - 0.4760468025 0.499999837 5.628008356e-07 0.4760469616 -1.001041324e-07 - -8.650471858e-07 0.9405393689 4.018526774 -1.003729469e-07 8.014896787e-08 - -1.003729504e-07 4.018530304 -2.087782838e-07 1.709490836e-07 -2.5981345e-07 - 3.979251357 0.5000000055 0.5000000656 0.011576055 7.813254544e-08 - 8.60065394e-07 0.5416792445 1.725872089e-07 0.4999993911 0.476067986 - 0.4999998454 6.430819879e-07 0.4760681468 -1.01805724e-07 -9.598281014e-07 - 0.9406095676 4.018493024 -1.027995584e-07 3.771861609e-07 -1.027996094e-07 - 4.018496142 7.75449289e-07 4.650891572e-07 7.147767467e-07 3.978879815 - 0.5000000033 0.5000000659 0.01156048266 7.691301543e-08 8.710090828e-07 - 0.5416664437 1.696804069e-07 0.49999939 0.4760766756 0.4999998533 - 6.439033647e-07 0.4760768396 -1.033214917e-07 -9.706841102e-07 0.9406205584 - 4.018556377 -1.125767938e-07 3.435715847e-07 -1.125768244e-07 4.018559478 - 4.037920245e-07 4.318280994e-07 3.468252241e-07 3.978721777 0.499999999 - 0.5000000663 0.01153083993 7.459150642e-08 8.918375543e-07 0.5416420766 - 1.64147608e-07 0.4999993878 0.4760932168 0.4999998683 6.454683246e-07 - 0.4760933866 -1.062064982e-07 -9.913460033e-07 0.94064148 4.018676969 - -1.311875106e-07 2.795871014e-07 -1.311875024e-07 4.018680038 -3.03648044e-07 - 3.685165291e-07 -3.535610599e-07 3.978420957 0.4999999979 0.5000000657 - 0.01150798688 7.30245626e-08 8.926851176e-07 0.5416453953 1.63860371e-07 - 0.4999993959 0.4760975713 0.4999998703 6.359903293e-07 0.4760977566 - -1.052243633e-07 -9.901105408e-07 0.9406522899 4.018690234 -1.711227169e-07 - 3.07744471e-07 -1.711227365e-07 4.018693222 -4.102364133e-07 3.964059641e-07 - -4.590968096e-07 3.978235426 0.4999999946 0.5000000637 0.01143942454 - 6.832367754e-08 8.952280606e-07 0.5416553519 1.629985724e-07 0.49999942 - 0.4761106354 0.4999998763 6.075567812e-07 0.476110867 -1.022781935e-07 - -9.864033134e-07 0.9406847211 4.018730028 -2.909283358e-07 3.9221658e-07 - -2.909284389e-07 4.018732777 -7.30001521e-07 4.800742691e-07 -7.757040587e-07 - 3.977678834 0.4999999894 0.5000000655 0.01141610861 6.356603739e-08 - 8.976493407e-07 0.5416416365 1.631627244e-07 0.4999994244 0.4761177037 - 0.4999998852 5.917181069e-07 0.4761179466 -1.014112849e-07 -9.791862241e-07 - 0.9407076045 4.018781531 -2.921536594e-07 3.608710852e-07 -2.921537556e-07 - 4.018784222 -7.947338374e-07 4.490675039e-07 -8.398080826e-07 3.977551902 - 0.4999999738 0.5000000708 0.01134615858 4.929298255e-08 9.049124316e-07 - 0.5416004887 1.636553378e-07 0.4999994378 0.4761389094 0.499999912 - 5.442030312e-07 0.4761391863 -9.881006319e-08 -9.57534138e-07 0.9407762569 - 4.018936042 -2.958296302e-07 2.668346008e-07 -2.958297055e-07 4.018938558 - -9.889307865e-07 3.560472084e-07 -1.032120154e-06 3.977171103 0.4999999634 - 0.5000000696 0.01134597757 3.715015008e-08 9.014818778e-07 0.5415926279 - 1.767591318e-07 0.4999994422 0.4761422476 0.4999999433 5.436667826e-07 - 0.4761425168 -1.207159244e-07 -9.568155701e-07 0.9407776301 4.018921284 - -2.419935944e-07 2.999333276e-07 -2.419936518e-07 4.018923812 -8.597869936e-07 - 3.888015466e-07 -9.043179998e-07 3.977157751 0.4999999323 0.500000066 - 0.01134543454 7.217112542e-10 8.911909289e-07 0.5415690454 2.160705762e-07 - 0.4999994555 0.476152262 0.5000000372 5.420577119e-07 0.4761525084 - -1.864337829e-07 -9.546599888e-07 0.9407817496 4.018877009 -8.048548674e-08 - 3.992295079e-07 -8.048549067e-08 4.018879572 -4.723556148e-07 4.870645611e-07 - -5.209115368e-07 3.977117694 0.4999999267 0.5000000664 0.01134278805 - -3.279251646e-09 8.916239194e-07 0.5415688062 2.16733118e-07 0.4999994551 - 0.47615352 0.5000000446 5.431471246e-07 0.4761537652 -1.848711826e-07 - -9.562098439e-07 0.9407821205 4.018885374 -7.545498957e-08 3.385535106e-07 - -7.545498383e-08 4.018887949 -4.632615104e-07 4.270214046e-07 -5.119146237e-07 - 3.977104045 0.4999999098 0.5000000676 0.01133484855 -1.528212609e-08 - 8.929228899e-07 0.5415680887 2.187207954e-07 0.499999454 0.4761572938 - 0.5000000669 5.464153476e-07 0.4761575356 -1.801833748e-07 -9.608594023e-07 - 0.9407832333 4.018910468 -6.036349807e-08 1.565255186e-07 -6.036346329e-08 - 4.018913079 -4.359791973e-07 2.46891935e-07 -4.849238843e-07 3.977063098 - 0.4999999083 0.5000000665 0.01133297331 -1.362025724e-08 8.958985092e-07 - 0.5415647054 2.200350776e-07 0.4999994521 0.4761586985 0.5000000663 - 5.437012945e-07 0.4761589398 -1.81182659e-07 -9.582196856e-07 0.9407856828 - 4.018925612 -6.43229072e-08 2.040351449e-07 -6.432287964e-08 4.018928246 - -4.399368562e-07 2.939083346e-07 -4.888436704e-07 3.977049182 0.4999999039 - 0.5000000634 0.01132734756 -8.634550723e-09 9.048253235e-07 0.5415545555 - 2.239778599e-07 0.4999994465 0.4761629127 0.5000000648 5.355591699e-07 - 0.4761631526 -1.841805862e-07 -9.503005582e-07 0.9407930316 4.018971043 - -7.62011346e-08 3.465640238e-07 -7.620112868e-08 4.018973749 -4.518098328e-07 - 4.349575334e-07 -5.006030288e-07 3.977007432 0.499999904 0.5000000633 - 0.01132406692 -7.753535335e-09 9.067119807e-07 0.5415545561 2.256794899e-07 - 0.4999994444 0.4761642462 0.5000000643 5.346751851e-07 0.4761644856 - -1.863824175e-07 -9.490177983e-07 0.9407936451 4.018979709 -8.348072208e-08 - 3.952941668e-07 -8.348072472e-08 4.018982453 -4.646037458e-07 4.831819097e-07 - -5.132671753e-07 3.976983022 0.4999999045 0.5000000627 0.01131422494 - -5.110494881e-09 9.123719402e-07 0.5415545579 2.30784321e-07 0.4999994381 - 0.476168247 0.5000000626 5.320232491e-07 0.4761684846 -1.92987919e-07 - -9.451695213e-07 0.9407954855 4.019005706 -1.053194845e-07 5.414845956e-07 - -1.053195128e-07 4.019008565 -5.029854847e-07 6.278550389e-07 -5.512596148e-07 - 3.976909792 0.4999999083 0.5000000592 0.01131253431 -1.210845816e-08 - 9.195307776e-07 0.5415512524 2.315822753e-07 0.4999994324 0.4761693356 - 0.5000000654 5.334588303e-07 0.4761695724 -1.932563863e-07 -9.445080021e-07 - 0.9407983053 4.0190073 -1.097333407e-07 4.664471466e-07 -1.097333585e-07 - 4.019010503 -4.676724911e-07 5.536064458e-07 -5.163192494e-07 3.976890142 - 0.4999999195 0.5000000486 0.01130746237 -3.310252285e-08 9.410073654e-07 - 0.5415413356 2.339761975e-07 0.4999994152 0.4761726017 0.5000000736 - 5.377655433e-07 0.4761728357 -1.940616319e-07 -9.425235187e-07 0.9408067646 - 4.01901208 -1.229749092e-07 2.413347994e-07 -1.229748955e-07 4.019016316 - -3.617335104e-07 3.308606664e-07 -4.114981533e-07 3.976831193 0.4999999213 - 0.5000000473 0.01130561098 -3.506346367e-08 9.436370031e-07 0.5415412623 - 2.326770148e-07 0.4999994155 0.4761732185 0.5000000731 5.364578661e-07 - 0.4761734516 -1.920899865e-07 -9.427905667e-07 0.9408074566 4.019012889 - -1.24492443e-07 2.216173633e-07 -1.244924271e-07 4.01901719 -3.617542833e-07 - 3.11351153e-07 -4.115201695e-07 3.976815961 0.4999999267 0.5000000433 - 0.0113000568 -4.094628601e-08 9.515259145e-07 0.5415410425 2.287794766e-07 - 0.4999994163 0.4761750687 0.5000000715 5.325348355e-07 0.4761752994 - -1.861750416e-07 -9.435917104e-07 0.9408095324 4.019015317 -1.290450443e-07 - 1.624650552e-07 -1.290450219e-07 4.019019814 -3.618166022e-07 2.528226127e-07 - -4.115862181e-07 3.976770263 0.4999999283 0.5000000441 0.01129903934 - -4.399560202e-08 9.48279405e-07 0.5415395351 2.286021949e-07 0.4999994194 - 0.4761755236 0.5000000739 5.310413616e-07 0.4761757517 -1.868940034e-07 - -9.427348221e-07 0.9408111502 4.01901909 -1.290451639e-07 1.575998906e-07 - -1.290451426e-07 4.019023489 -4.007344723e-07 2.48009162e-07 -4.500960986e-07 - 3.976761885 0.4999999329 0.5000000464 0.01129598695 -5.314354687e-08 - 9.38539842e-07 0.5415350127 2.28070352e-07 0.4999994287 0.4761768884 - 0.5000000811 5.265609571e-07 0.4761771084 -1.890508808e-07 -9.401641131e-07 - 0.9408160035 4.019030408 -1.290455227e-07 1.430043966e-07 -1.290455047e-07 - 4.019034515 -5.174880825e-07 2.335688099e-07 -5.656257404e-07 3.97673675 - 0.4999999333 0.5000000423 0.01129480749 -5.399437649e-08 9.338153883e-07 - 0.5415334224 2.28664736e-07 0.4999994361 0.4761779249 0.5000000807 - 5.194546916e-07 0.4761781437 -1.887947159e-07 -9.315990812e-07 0.9408167014 - 4.01903273 -1.290455981e-07 1.566989619e-07 -1.29045581e-07 4.019036751 - -6.201488135e-07 2.471197956e-07 -6.672077999e-07 3.976725468 0.4999999345 - 0.50000003 0.01129126911 -5.654684778e-08 9.196419143e-07 0.5415286516 - 2.304478762e-07 0.4999994582 0.4761810343 0.5000000795 4.981359855e-07 - 0.4761812498 -1.880262287e-07 -9.059039468e-07 0.9408187951 4.019039696 - -1.290458244e-07 1.977826575e-07 -1.290458099e-07 4.019043459 -9.281310065e-07 - 2.877727526e-07 -9.719539783e-07 3.976691622 0.4999999349 0.5000000298 - 0.01129039377 -5.652415624e-08 9.185225545e-07 0.5415254386 2.298862747e-07 - 0.4999994568 0.4761819211 0.5000000791 4.995917051e-07 0.4761821364 - -1.875636871e-07 -9.046545275e-07 0.9408211101 4.019043324 -1.257169824e-07 - 2.177556503e-07 -1.25716973e-07 4.019047001 -9.114827603e-07 3.07536281e-07 - -9.554854435e-07 3.976676813 0.4999999358 0.5000000293 0.01128879301 - -5.648263077e-08 9.164755791e-07 0.5415195628 2.288592527e-07 0.4999994544 - 0.4761835427 0.5000000784 5.022538072e-07 0.4761837577 -1.867178472e-07 - -9.023697024e-07 0.9408253437 4.01904996 -1.196294451e-07 2.542807648e-07 - -1.19629445e-07 4.019053478 -8.810376936e-07 3.436783427e-07 -9.253690195e-07 - 3.976649731 0.4999999341 0.50000003 0.01128700831 -5.772123947e-08 - 9.164069045e-07 0.5415182511 2.335776749e-07 0.4999994534 0.4761845527 - 0.5000000786 5.021222774e-07 0.4761847661 -1.887516597e-07 -9.01864166e-07 - 0.9408264217 4.019053849 -1.239859106e-07 2.646362681e-07 -1.239859205e-07 - 4.01905731 -8.460449793e-07 3.539262306e-07 -8.907508841e-07 3.976629205 - 0.4999999291 0.5000000319 0.01128165418 -6.143705194e-08 9.16200915e-07 - 0.5415143161 2.477329201e-07 0.4999994506 0.4761875825 0.5000000794 - 5.017276626e-07 0.4761877913 -1.948530993e-07 -9.003475862e-07 0.9408296559 - 4.019065515 -1.37055307e-07 2.957027782e-07 -1.370553468e-07 4.019068805 - -7.410668364e-07 3.846698944e-07 -7.868964777e-07 3.976567627 0.4999999426 - 0.5000000265 0.01127998846 -6.445710627e-08 9.22941417e-07 0.5415089292 - 2.724576634e-07 0.4999994489 0.4761892075 0.5000000647 4.997317793e-07 - 0.476189418 -2.154196059e-07 -8.979654096e-07 0.9408334569 4.019074267 - -1.370555967e-07 4.773627817e-07 -1.370556788e-07 4.019077499 -6.502306448e-07 - 5.644118671e-07 -6.970276123e-07 3.976540248 0.4999999435 0.5000000262 - 0.0112798784 -6.465663399e-08 9.233867893e-07 0.5415085732 2.740912932e-07 - 0.4999994487 0.4761893148 0.5000000637 4.995999032e-07 0.4761895255 - -2.167785051e-07 -8.97808018e-07 0.940833708 4.019074845 -1.370556159e-07 - 4.893656044e-07 -1.370557007e-07 4.019078073 -6.442288245e-07 5.762879597e-07 - -6.910897062e-07 3.976538439 0.4999999422 0.5000000292 0.01127660742 - -6.568334205e-08 9.20994726e-07 0.5415075151 2.722200497e-07 0.4999994446 - 0.476190478 0.5000000662 5.066818531e-07 0.4761906872 -2.151577862e-07 - -9.013761226e-07 0.9408357121 4.019078612 -1.370557273e-07 4.703999372e-07 - -1.370558262e-07 4.019081771 -5.23390887e-07 5.575273249e-07 -5.715363585e-07 - 3.976507538 0.4999999385 0.5000000382 0.01126679437 -6.876347815e-08 - 9.138186372e-07 0.5415043409 2.666063406e-07 0.4999994323 0.4761939677 - 0.5000000738 5.279275797e-07 0.4761941726 -2.102956058e-07 -9.120806054e-07 - 0.9408417244 4.019089913 -1.370560614e-07 4.135029355e-07 -1.370562024e-07 - 4.019092862 -1.608770746e-07 5.012454206e-07 -2.128763157e-07 3.976414833 - 0.4999999261 0.50000004 0.01126203507 -7.976151115e-08 9.156791073e-07 - 0.5415005728 2.547517478e-07 0.4999994162 0.4761942283 0.5000000879 - 5.383758125e-07 0.4761944343 -1.891537133e-07 -9.101469984e-07 0.9408497294 - 4.019111468 -1.474817054e-07 1.456565286e-07 -1.47481828e-07 4.019114599 - -2.503881584e-07 2.362493864e-07 -3.014394862e-07 3.976379179 0.4999999095 - 0.5000000424 0.01125568255 -9.444136685e-08 9.181622418e-07 0.5414955433 - 2.389289613e-07 0.4999993948 0.4761945762 0.5000001068 5.523215029e-07 - 0.4761947837 -1.609340608e-07 -9.075658987e-07 0.9408604141 4.019140238 - -1.613973131e-07 -2.118509339e-07 -1.61397411e-07 4.019143611 -3.698629008e-07 - -1.174535469e-07 -4.196490031e-07 3.97633159 0.4999999179 0.5000000382 - 0.01124954909 -9.116868708e-08 9.148078236e-07 0.5414930781 2.595751101e-07 - 0.4999993985 0.4761990716 0.5000000696 5.603980084e-07 0.4761992773 - -1.559842386e-07 -9.118156285e-07 0.9408600238 4.019139067 -1.493313516e-07 - -1.879337942e-08 -1.49331467e-07 4.01914232 -4.663848559e-07 7.354469946e-08 - -5.151479753e-07 3.976273849 0.4999999179 0.5000000382 0.01124954816 - -9.116819418e-08 9.148073184e-07 0.5414930778 2.595782195e-07 0.4999993985 - 0.4761990723 0.5000000695 5.603992248e-07 0.4761992779 -1.559834931e-07 - -9.118162685e-07 0.9408600237 4.019139067 -1.493295344e-07 -1.876430367e-08 - -1.493296498e-07 4.01914232 -4.663993928e-07 7.357346506e-08 -5.151623581e-07 - 3.97627384 0.4999999122 0.5000000408 0.01124440252 -1.01271068e-07 - 9.154329891e-07 0.5414889614 2.666401844e-07 0.4999993988 0.4762005406 - 0.5000000802 5.608231639e-07 0.476200743 -1.579162967e-07 -9.158313538e-07 - 0.9408663523 4.019152526 -1.468967234e-07 1.408295682e-07 -1.468968582e-07 - 4.019155707 -4.97928983e-07 2.314653502e-07 -5.46360318e-07 3.976248361 - 0.4999998952 0.5000000487 0.01122896549 -1.31579103e-07 9.173098991e-07 - 0.5414766122 2.878258352e-07 0.4999993999 0.4762049456 0.5000001121 - 5.620950109e-07 0.4762051382 -1.637154338e-07 -9.27876422e-07 0.9408853383 - 4.019192903 -1.395982905e-07 6.196111837e-07 -1.395984835e-07 4.019195866 - -5.925177538e-07 7.051410056e-07 -6.399541978e-07 3.976171921 \ No newline at end of file + 0.5000000586 0.4999998876 0.009364595811 + 0.9999999281 1.901333279e-07 0.5476035454 +3.782097706e-07 0.4999999285 0.4770375874 + 0.4999997826 2.072311863e-07 0.477037871 + 0.9999998523 0.9999997866 0.9349574003 + 4.006349654 -1.93128788e-07 5.793863639e-07 +-1.93128788e-07 4.006354579 -3.86257576e-07 +6.757962549e-07 -4.505308366e-07 3.966870038 + 0.5000000566 0.4999998916 0.009177239183 + 0.9999999308 1.832935626e-07 0.5467689737 +3.647769323e-07 0.4999999311 0.4771204124 + 0.4999997903 1.998879545e-07 0.4771206859 + 0.9999998574 0.9999997943 0.9358136888 + 3.999761277 -1.656764727e-07 4.97029418e-07 +-1.656764727e-07 3.999765501 -3.313529453e-07 +5.797351131e-07 -3.864900754e-07 4.010925071 + 0.500000082 0.4999999574 0.01057784352 + 0.9999999149 1.939640249e-07 0.5455830599 +3.795967781e-07 0.4999998795 0.4765373919 + 0.4999998037 2.756298268e-07 0.4765374602 + 0.9999998196 0.9999996936 0.9367652445 + 4.017733155 -1.420363309e-07 2.637046077e-07 +-1.420364243e-07 4.017735987 3.126225134e-07 +3.479123171e-07 2.578467568e-07 4.011674933 + 0.5000000796 0.4999999511 0.01044351025 + 0.9999999165 1.929267547e-07 0.545696802 +3.781847144e-07 0.4999998844 0.4765933099 + 0.4999998025 2.683875221e-07 0.476593398 + 0.9999998232 0.9999997032 0.9366739799 + 4.016009133 -1.443041027e-07 2.860871904e-07 +-1.443041871e-07 4.016012099 2.508466826e-07 +3.701508133e-07 1.960362599e-07 4.011602999 + 0.5000000861 0.4999999815 0.01183052577 + 0.9999999085 2.175518281e-07 0.5443392027 +3.600200139e-07 0.499999867 0.4761361923 + 0.4999998175 2.782489662e-07 0.4761362171 + 0.9999998277 0.9999996557 0.9375588622 + 4.016074628 -1.145426559e-07 2.863757511e-07 +-1.145427088e-07 4.01607746 4.947921784e-08 +3.709660589e-07 -4.491248374e-09 4.002844696 + 0.5000000949 0.5000000225 0.01369772404 + 0.9999998979 2.505380934e-07 0.5425116045 +3.356207547e-07 0.4999998436 0.4755208212 + 0.4999998376 2.914645637e-07 0.4755207609 + 0.9999998338 0.999999592 0.9387500893 + 4.016162605 -7.456531053e-08 2.867633631e-07 +-7.456532115e-08 4.016165256 -2.210095363e-07 +3.720611453e-07 -2.738517231e-07 3.991080022 + 0.5000000661 0.4999999774 0.01340203962 + 0.9999999691 3.177383018e-07 0.5422778256 +2.937375994e-07 0.4999998377 0.4754148341 + 0.4999998455 2.282657485e-07 0.4754150023 + 0.9999998253 0.999999639 0.9394912985 + 4.016759016 -9.975790189e-08 7.459699521e-07 +-9.975793698e-08 4.016761853 -4.168703121e-07 +8.285055584e-07 -4.685699985e-07 3.990203221 + 0.5000000627 0.4999999719 0.01336607846 + 0.9999999778 3.259068081e-07 0.5422493934 +2.886471074e-07 0.4999998369 0.4754019439 + 0.4999998464 2.205817104e-07 0.4754021399 + 0.9999998243 0.9999996447 0.9395814444 + 4.016831536 -1.028211535e-07 8.018064201e-07 +-1.028211916e-07 4.016834395 -4.406856802e-07 +8.840061642e-07 -4.922464461e-07 3.990096608 + 0.50000006 0.499999967 0.01329728526 + 0.9999999864 3.325700456e-07 0.542252812 +2.855644354e-07 0.4999998363 0.4754026764 + 0.4999998456 2.134130089e-07 0.4754028962 + 0.9999998222 0.9999996507 0.9396453302 + 4.016804157 -1.028477628e-07 8.108087853e-07 +-1.028478008e-07 4.016807063 -4.402571272e-07 +8.930425818e-07 -4.918722041e-07 3.9895892 + 0.500000052 0.4999999522 0.01309087941 +1.239762226e-08 3.525598936e-07 0.5422630694 +2.763163513e-07 0.4999998344 0.4754048742 + 0.4999998432 1.91906758e-07 0.4754051652 + 0.999999816 0.9999996688 0.9398370119 + 4.016722021 -1.029275908e-07 8.37815881e-07 +-1.029276285e-07 4.016725065 -4.389714685e-07 +9.201518346e-07 -4.907494778e-07 3.988066978 + 0.5000000531 0.4999999535 0.01306045847 +1.172010013e-08 3.505960318e-07 0.5422783814 +2.730828384e-07 0.4999998344 0.4754320117 + 0.4999998465 1.942625467e-07 0.4754322931 + 0.9999998153 0.9999996672 0.9397978553 + 4.016722829 -1.029206516e-07 7.674399968e-07 +-1.02920689e-07 4.016725862 -4.050357177e-07 +8.503420582e-07 -4.570894557e-07 3.987762366 + 0.5000000567 0.4999999574 0.0129691887 +9.688331777e-09 3.447040629e-07 0.5423243211 +2.633837151e-07 0.4999998345 0.4755134305 + 0.4999998566 2.013292303e-07 0.4755136831 + 0.9999998135 0.9999996621 0.9396803767 + 4.016725254 -1.028998342e-07 5.56312344e-07 +-1.028998706e-07 4.016728251 -3.032284652e-07 + 6.40912729e-07 -3.561093893e-07 3.98684853 + 0.5000000552 0.4999999717 0.01288725225 +8.348686434e-09 3.578879491e-07 0.5422946246 +2.590298072e-07 0.4999998131 0.4755527939 + 0.4999998599 2.281727391e-07 0.4755530395 + 0.9999998173 0.9999996292 0.9397132898 + 4.016904763 -1.096986501e-07 4.707225379e-07 +-1.096987293e-07 4.016907735 1.090554523e-08 +5.560136738e-07 -4.434198486e-08 3.986665638 + 0.5000000508 0.5000000146 0.01264143162 +4.328047694e-09 3.974447551e-07 0.5422055312 +2.459711622e-07 0.499999749 0.4756708894 + 0.49999987 3.086905038e-07 0.475671114 + 0.9999998287 0.9999995303 0.9398120339 + 4.017443291 -1.300950978e-07 2.139531198e-07 +-1.300953053e-07 4.017446186 9.533075765e-07 +3.013165083e-07 8.909602285e-07 3.986116964 + 0.5000000483 0.5000000154 0.01257168752 +1.438415921e-09 4.057347929e-07 0.5421844767 +2.439985135e-07 0.4999997474 0.4756947513 + 0.4999998723 3.147478061e-07 0.4756949759 + 0.9999998338 0.9999995167 0.9398551087 + 4.017340044 -1.223718377e-07 2.557105028e-07 +-1.223720107e-07 4.017342988 6.23468119e-07 +3.427644257e-07 5.637764569e-07 3.985668589 + 0.5000000408 0.5000000178 0.0123624317 + 0.9999999928 4.306004018e-07 0.542121306 +2.380796758e-07 0.4999997427 0.4757663451 + 0.4999998791 3.329260089e-07 0.4757665695 + 0.9999998492 0.9999994759 0.9399843477 + 4.017030304 -9.920205757e-08 3.80982652e-07 +-9.920212672e-08 4.017033391 -3.660502535e-07 + 4.67108178e-07 -4.177748579e-07 3.984323464 + 0.5000000434 0.5000000095 0.01229011791 +2.269279054e-08 4.997711689e-07 0.5420674696 + 2.2477883e-07 0.4999996846 0.4757884582 + 0.4999998701 4.017236861e-07 0.4757886749 + 0.9999998388 0.9999994044 0.9400662794 + 4.017508039 -8.577089195e-08 6.90160419e-07 +-8.577101412e-08 4.017512645 4.0020643e-07 +7.738336619e-07 3.421833968e-07 3.984223436 + 0.5000000468 0.4999999994 0.0122014875 +5.936706802e-08 5.845496166e-07 0.5420014857 +2.084771084e-07 0.4999996134 0.475815561 + 0.4999998592 4.860273209e-07 0.475815768 + 0.9999998261 0.9999993166 0.9401666979 + 4.018093553 -6.930958019e-08 1.069090421e-06 +-6.930976733e-08 4.018100022 1.339334911e-06 +1.149758132e-06 1.273592488e-06 3.984100841 + 0.5000000494 0.4999999989 0.01215031965 +7.686345074e-08 6.256089494e-07 0.5419774224 +2.052617253e-07 0.4999995794 0.4758354969 + 0.4999998502 5.193014538e-07 0.4758356907 + 0.9999998182 0.9999992768 0.9402020704 + 4.018196574 -6.65804403e-08 1.131800255e-06 +-6.658063704e-08 4.018203418 1.494869593e-06 +1.212066529e-06 1.427968664e-06 3.983726502 + 0.5000000573 0.4999999975 0.01199680166 +1.293523745e-07 7.487865539e-07 0.5419052257 +1.956148942e-07 0.4999994775 0.4758953102 + 0.4999998233 6.191189854e-07 0.4758954646 + 0.9999997944 0.9999991572 0.9403081979 + 4.018505635 -5.839302062e-08 1.319929756e-06 +-5.839324615e-08 4.018513609 1.96147364e-06 +1.398991718e-06 1.891097193e-06 3.982603486 + 0.5000000559 0.4999999987 0.01197659032 +1.316860622e-07 7.590833749e-07 0.5419126282 +1.906164588e-07 0.4999994807 0.475906966 + 0.4999998253 6.150618164e-07 0.4759071025 + 0.9999997964 0.9999991465 0.9402977131 + 4.018252278 -6.443172211e-08 1.126561783e-06 +-6.443190747e-08 4.018259412 1.478221425e-06 +1.207420282e-06 1.41227732e-06 3.982125011 + 0.5000000541 0.5000000003 0.01195055674 + 1.34692294e-07 7.72346765e-07 0.5419221632 +1.841792154e-07 0.4999994848 0.4759219794 + 0.4999998278 6.098379883e-07 0.4759220929 + 0.9999997991 0.9999991327 0.9402842079 + 4.017925976 -7.22090477e-08 8.775205468e-07 +-7.220918133e-08 4.017932028 8.558343374e-07 +9.606928307e-07 7.955987076e-07 3.981508778 + 0.5000000483 0.5000000036 0.01192008315 +1.324497573e-07 7.847436641e-07 0.5418970361 +1.891088374e-07 0.4999994948 0.4759352623 + 0.4999998355 5.937214565e-07 0.4759353618 + 0.9999997946 0.9999991232 0.9403132567 + 4.017937177 -7.400502708e-08 6.913073321e-07 +-7.400511638e-08 4.017942351 3.865861539e-07 +7.762155055e-07 3.306507004e-07 3.981300707 + 0.5000000308 0.5000000135 0.01182865758 +1.257187057e-07 8.219255433e-07 0.5418216507 +2.038994915e-07 0.4999995247 0.4759751132 + 0.4999998585 5.453765917e-07 0.4759751709 + 0.9999997809 0.9999990946 0.9404004077 + 4.017970778 -7.939296524e-08 1.326676882e-07 +-7.939292154e-08 4.017973318 -1.021158397e-06 +2.227835299e-07 -1.064193321e-06 3.980676494 + 0.500000036 0.5000000195 0.01179815344 +1.287790208e-07 8.228239915e-07 0.5417966586 +1.941065691e-07 0.499999496 0.4759876283 + 0.499999842 5.592279171e-07 0.4759877103 + 0.999999799 0.9999991025 0.9404308493 + 4.018181454 -7.921316109e-08 2.607728813e-07 +-7.921315181e-08 4.018184338 -7.549780172e-07 +3.497160411e-07 -8.00575728e-07 3.980534532 + 0.500000043 0.5000000276 0.0117576448 +1.328437231e-07 8.240191772e-07 0.5417634698 +1.811024659e-07 0.4999994578 0.4760042481 + 0.49999982 5.776193708e-07 0.4760043623 + 0.999999823 0.9999991129 0.940471275 + 4.018461216 -7.897439478e-08 4.30886885e-07 +-7.897443121e-08 4.018464557 -4.015106133e-07 +5.182728119e-07 -4.505115099e-07 3.980346016 + 0.5000000355 0.5000000206 0.01173252464 +1.233072044e-07 8.181156645e-07 0.5417596597 +1.751327516e-07 0.4999994678 0.4760131211 + 0.4999998235 5.672244241e-07 0.4760132464 + 0.9999998424 0.9999991263 0.9404824482 + 4.018480418 -8.412181517e-08 3.184493063e-07 +-8.412183942e-08 4.018483841 -4.353464953e-07 + 4.06930207e-07 -4.840528446e-07 3.980103313 + 0.5000000133 0.4999999994 0.01165715956 +9.469746835e-08 8.004051159e-07 0.5417482288 +1.572244315e-07 0.4999994977 0.4760397415 + 0.4999998342 5.360399565e-07 0.4760399001 + 0.9999999005 0.9999991665 0.94051597 + 4.018538024 -9.956407636e-08 -1.886342981e-08 +-9.956406405e-08 4.018541691 -5.368541413e-07 +7.290239242e-08 -5.846768489e-07 3.979375204 + 0.5000000114 0.5000000159 0.01163688389 +9.055593068e-08 8.153191081e-07 0.5417309831 + 1.61065247e-07 0.4999994711 0.4760468025 + 0.499999837 5.628008356e-07 0.4760469616 + 0.9999998999 0.999999135 0.9405393689 + 4.018526774 -1.003729469e-07 8.014896787e-08 +-1.003729504e-07 4.018530304 -2.087782838e-07 +1.709490836e-07 -2.5981345e-07 3.979251357 + 0.5000000055 0.5000000656 0.011576055 + 7.81325453e-08 8.60065394e-07 0.5416792445 +1.725872089e-07 0.4999993911 0.476067986 + 0.4999998454 6.430819879e-07 0.4760681468 + 0.9999998982 0.9999990402 0.9406095676 + 4.018493024 -1.027995584e-07 3.771861609e-07 +-1.027996094e-07 4.018496142 7.75449289e-07 +4.650891572e-07 7.147767467e-07 3.978879815 + 0.5000000033 0.5000000659 0.01156048266 +7.691301529e-08 8.710090828e-07 0.5416664437 +1.696804069e-07 0.49999939 0.4760766756 + 0.4999998533 6.439033647e-07 0.4760768396 + 0.9999998967 0.9999990293 0.9406205584 + 4.018556377 -1.125767938e-07 3.435715847e-07 +-1.125768244e-07 4.018559478 4.037920245e-07 +4.318280994e-07 3.468252241e-07 3.978721777 + 0.499999999 0.5000000663 0.01153083993 +7.459150628e-08 8.918375543e-07 0.5416420766 + 1.64147608e-07 0.4999993878 0.4760932168 + 0.4999998683 6.454683246e-07 0.4760933866 + 0.9999998938 0.9999990087 0.94064148 + 4.018676969 -1.311875106e-07 2.795871014e-07 +-1.311875024e-07 4.018680038 -3.03648044e-07 +3.685165291e-07 -3.535610599e-07 3.978420957 + 0.4999999979 0.5000000657 0.01150798688 +7.302456245e-08 8.926851176e-07 0.5416453953 + 1.63860371e-07 0.4999993959 0.4760975713 + 0.4999998703 6.359903293e-07 0.4760977566 + 0.9999998948 0.9999990099 0.9406522899 + 4.018690234 -1.711227169e-07 3.07744471e-07 +-1.711227365e-07 4.018693222 -4.102364133e-07 +3.964059641e-07 -4.590968096e-07 3.978235426 + 0.4999999946 0.5000000637 0.01143942454 +6.832367739e-08 8.952280606e-07 0.5416553519 +1.629985724e-07 0.49999942 0.4761106354 + 0.4999998763 6.075567812e-07 0.476110867 + 0.9999998977 0.9999990136 0.9406847211 + 4.018730028 -2.909283358e-07 3.9221658e-07 +-2.909284389e-07 4.018732777 -7.30001521e-07 +4.800742691e-07 -7.757040587e-07 3.977678834 + 0.4999999894 0.5000000655 0.01141610861 +6.356603724e-08 8.976493407e-07 0.5416416365 +1.631627244e-07 0.4999994244 0.4761177037 + 0.4999998852 5.917181069e-07 0.4761179466 + 0.9999998986 0.9999990208 0.9407076045 + 4.018781531 -2.921536594e-07 3.608710852e-07 +-2.921537556e-07 4.018784222 -7.947338374e-07 +4.490675039e-07 -8.398080826e-07 3.977551902 + 0.4999999738 0.5000000708 0.01134615858 + 4.92929824e-08 9.049124316e-07 0.5416004887 +1.636553378e-07 0.4999994378 0.4761389094 + 0.499999912 5.442030312e-07 0.4761391863 + 0.9999999012 0.9999990425 0.9407762569 + 4.018936042 -2.958296302e-07 2.668346008e-07 +-2.958297055e-07 4.018938558 -9.889307865e-07 +3.560472084e-07 -1.032120154e-06 3.977171103 + 0.4999999634 0.5000000696 0.01134597757 +3.715014994e-08 9.014818778e-07 0.5415926279 +1.767591318e-07 0.4999994422 0.4761422476 + 0.4999999433 5.436667826e-07 0.4761425168 + 0.9999998793 0.9999990432 0.9407776301 + 4.018921284 -2.419935944e-07 2.999333276e-07 +-2.419936518e-07 4.018923812 -8.597869936e-07 +3.888015466e-07 -9.043179998e-07 3.977157751 + 0.4999999323 0.500000066 0.01134543454 +7.217111092e-10 8.911909289e-07 0.5415690454 +2.160705762e-07 0.4999994555 0.476152262 + 0.5000000372 5.420577119e-07 0.4761525084 + 0.9999998136 0.9999990453 0.9407817496 + 4.018877009 -8.048548674e-08 3.992295079e-07 +-8.048549067e-08 4.018879572 -4.723556148e-07 +4.870645611e-07 -5.209115368e-07 3.977117694 + 0.4999999267 0.5000000664 0.01134278805 + 0.9999999967 8.916239194e-07 0.5415688062 + 2.16733118e-07 0.4999994551 0.47615352 + 0.5000000446 5.431471246e-07 0.4761537652 + 0.9999998151 0.9999990438 0.9407821205 + 4.018885374 -7.545498957e-08 3.385535106e-07 +-7.545498383e-08 4.018887949 -4.632615104e-07 +4.270214046e-07 -5.119146237e-07 3.977104045 + 0.4999999098 0.5000000676 0.01133484855 + 0.9999999847 8.929228899e-07 0.5415680887 +2.187207954e-07 0.499999454 0.4761572938 + 0.5000000669 5.464153476e-07 0.4761575356 + 0.9999998198 0.9999990391 0.9407832333 + 4.018910468 -6.036349807e-08 1.565255186e-07 +-6.036346329e-08 4.018913079 -4.359791973e-07 + 2.46891935e-07 -4.849238843e-07 3.977063098 + 0.4999999083 0.5000000665 0.01133297331 + 0.9999999864 8.958985092e-07 0.5415647054 +2.200350776e-07 0.4999994521 0.4761586985 + 0.5000000663 5.437012945e-07 0.4761589398 + 0.9999998188 0.9999990418 0.9407856828 + 4.018925612 -6.43229072e-08 2.040351449e-07 +-6.432287964e-08 4.018928246 -4.399368562e-07 +2.939083346e-07 -4.888436704e-07 3.977049182 + 0.4999999039 0.5000000634 0.01132734756 + 0.9999999914 9.048253235e-07 0.5415545555 +2.239778599e-07 0.4999994465 0.4761629127 + 0.5000000648 5.355591699e-07 0.4761631526 + 0.9999998158 0.9999990497 0.9407930316 + 4.018971043 -7.62011346e-08 3.465640238e-07 +-7.620112868e-08 4.018973749 -4.518098328e-07 +4.349575334e-07 -5.006030288e-07 3.977007432 + 0.499999904 0.5000000633 0.01132406692 + 0.9999999922 9.067119807e-07 0.5415545561 +2.256794899e-07 0.4999994444 0.4761642462 + 0.5000000643 5.346751851e-07 0.4761644856 + 0.9999998136 0.999999051 0.9407936451 + 4.018979709 -8.348072208e-08 3.952941668e-07 +-8.348072472e-08 4.018982453 -4.646037458e-07 +4.831819097e-07 -5.132671753e-07 3.976983022 + 0.4999999045 0.5000000627 0.01131422494 + 0.9999999949 9.123719402e-07 0.5415545579 + 2.30784321e-07 0.4999994381 0.476168247 + 0.5000000626 5.320232491e-07 0.4761684846 + 0.999999807 0.9999990548 0.9407954855 + 4.019005706 -1.053194845e-07 5.414845956e-07 +-1.053195128e-07 4.019008565 -5.029854847e-07 +6.278550389e-07 -5.512596148e-07 3.976909792 + 0.4999999083 0.5000000592 0.01131253431 + 0.9999999879 9.195307776e-07 0.5415512524 +2.315822753e-07 0.4999994324 0.4761693356 + 0.5000000654 5.334588303e-07 0.4761695724 + 0.9999998067 0.9999990555 0.9407983053 + 4.0190073 -1.097333407e-07 4.664471466e-07 +-1.097333585e-07 4.019010503 -4.676724911e-07 +5.536064458e-07 -5.163192494e-07 3.976890142 + 0.4999999195 0.5000000486 0.01130746237 + 0.9999999669 9.410073654e-07 0.5415413356 +2.339761975e-07 0.4999994152 0.4761726017 + 0.5000000736 5.377655433e-07 0.4761728357 + 0.9999998059 0.9999990575 0.9408067646 + 4.01901208 -1.229749092e-07 2.413347994e-07 +-1.229748955e-07 4.019016316 -3.617335104e-07 +3.308606664e-07 -4.114981533e-07 3.976831193 + 0.4999999213 0.5000000473 0.01130561098 + 0.9999999649 9.436370031e-07 0.5415412623 +2.326770148e-07 0.4999994155 0.4761732185 + 0.5000000731 5.364578661e-07 0.4761734516 + 0.9999998079 0.9999990572 0.9408074566 + 4.019012889 -1.24492443e-07 2.216173633e-07 +-1.244924271e-07 4.01901719 -3.617542833e-07 + 3.11351153e-07 -4.115201695e-07 3.976815961 + 0.4999999267 0.5000000433 0.0113000568 + 0.9999999591 9.515259145e-07 0.5415410425 +2.287794766e-07 0.4999994163 0.4761750687 + 0.5000000715 5.325348355e-07 0.4761752994 + 0.9999998138 0.9999990564 0.9408095324 + 4.019015317 -1.290450443e-07 1.624650552e-07 +-1.290450219e-07 4.019019814 -3.618166022e-07 +2.528226127e-07 -4.115862181e-07 3.976770263 + 0.4999999283 0.5000000441 0.01129903934 + 0.999999956 9.48279405e-07 0.5415395351 +2.286021949e-07 0.4999994194 0.4761755236 + 0.5000000739 5.310413616e-07 0.4761757517 + 0.9999998131 0.9999990573 0.9408111502 + 4.01901909 -1.290451639e-07 1.575998906e-07 +-1.290451426e-07 4.019023489 -4.007344723e-07 + 2.48009162e-07 -4.500960986e-07 3.976761885 + 0.4999999329 0.5000000464 0.01129598695 + 0.9999999469 9.38539842e-07 0.5415350127 + 2.28070352e-07 0.4999994287 0.4761768884 + 0.5000000811 5.265609571e-07 0.4761771084 + 0.9999998109 0.9999990598 0.9408160035 + 4.019030408 -1.290455227e-07 1.430043966e-07 +-1.290455047e-07 4.019034515 -5.174880825e-07 +2.335688099e-07 -5.656257404e-07 3.97673675 + 0.4999999333 0.5000000423 0.01129480749 + 0.999999946 9.338153883e-07 0.5415334224 + 2.28664736e-07 0.4999994361 0.4761779249 + 0.5000000807 5.194546916e-07 0.4761781437 + 0.9999998112 0.9999990684 0.9408167014 + 4.01903273 -1.290455981e-07 1.566989619e-07 +-1.29045581e-07 4.019036751 -6.201488135e-07 +2.471197956e-07 -6.672077999e-07 3.976725468 + 0.4999999345 0.50000003 0.01129126911 + 0.9999999435 9.196419143e-07 0.5415286516 +2.304478762e-07 0.4999994582 0.4761810343 + 0.5000000795 4.981359855e-07 0.4761812498 + 0.999999812 0.9999990941 0.9408187951 + 4.019039696 -1.290458244e-07 1.977826575e-07 +-1.290458099e-07 4.019043459 -9.281310065e-07 +2.877727526e-07 -9.719539783e-07 3.976691622 + 0.4999999349 0.5000000298 0.01129039377 + 0.9999999435 9.185225545e-07 0.5415254386 +2.298862747e-07 0.4999994568 0.4761819211 + 0.5000000791 4.995917051e-07 0.4761821364 + 0.9999998124 0.9999990953 0.9408211101 + 4.019043324 -1.257169824e-07 2.177556503e-07 +-1.25716973e-07 4.019047001 -9.114827603e-07 + 3.07536281e-07 -9.554854435e-07 3.976676813 + 0.4999999358 0.5000000293 0.01128879301 + 0.9999999435 9.164755791e-07 0.5415195628 +2.288592527e-07 0.4999994544 0.4761835427 + 0.5000000784 5.022538072e-07 0.4761837577 + 0.9999998133 0.9999990976 0.9408253437 + 4.01904996 -1.196294451e-07 2.542807648e-07 +-1.19629445e-07 4.019053478 -8.810376936e-07 +3.436783427e-07 -9.253690195e-07 3.976649731 + 0.4999999341 0.50000003 0.01128700831 + 0.9999999423 9.164069045e-07 0.5415182511 +2.335776749e-07 0.4999994534 0.4761845527 + 0.5000000786 5.021222774e-07 0.4761847661 + 0.9999998112 0.9999990981 0.9408264217 + 4.019053849 -1.239859106e-07 2.646362681e-07 +-1.239859205e-07 4.01905731 -8.460449793e-07 +3.539262306e-07 -8.907508841e-07 3.976629205 + 0.4999999291 0.5000000319 0.01128165418 + 0.9999999386 9.16200915e-07 0.5415143161 +2.477329201e-07 0.4999994506 0.4761875825 + 0.5000000794 5.017276626e-07 0.4761877913 + 0.9999998051 0.9999990997 0.9408296559 + 4.019065515 -1.37055307e-07 2.957027782e-07 +-1.370553468e-07 4.019068805 -7.410668364e-07 +3.846698944e-07 -7.868964777e-07 3.976567627 + 0.4999999426 0.5000000265 0.01127998846 + 0.9999999355 9.22941417e-07 0.5415089292 +2.724576634e-07 0.4999994489 0.4761892075 + 0.5000000647 4.997317793e-07 0.476189418 + 0.9999997846 0.999999102 0.9408334569 + 4.019074267 -1.370555967e-07 4.773627817e-07 +-1.370556788e-07 4.019077499 -6.502306448e-07 +5.644118671e-07 -6.970276123e-07 3.976540248 + 0.4999999435 0.5000000262 0.0112798784 + 0.9999999353 9.233867893e-07 0.5415085732 +2.740912932e-07 0.4999994487 0.4761893148 + 0.5000000637 4.995999032e-07 0.4761895255 + 0.9999997832 0.9999991022 0.940833708 + 4.019074845 -1.370556159e-07 4.893656044e-07 +-1.370557007e-07 4.019078073 -6.442288245e-07 +5.762879597e-07 -6.910897062e-07 3.976538439 + 0.4999999422 0.5000000292 0.01127660742 + 0.9999999343 9.20994726e-07 0.5415075151 +2.722200497e-07 0.4999994446 0.476190478 + 0.5000000662 5.066818531e-07 0.4761906872 + 0.9999997848 0.9999990986 0.9408357121 + 4.019078612 -1.370557273e-07 4.703999372e-07 +-1.370558262e-07 4.019081771 -5.23390887e-07 +5.575273249e-07 -5.715363585e-07 3.976507538 + 0.4999999385 0.5000000382 0.01126679437 + 0.9999999312 9.138186372e-07 0.5415043409 +2.666063406e-07 0.4999994323 0.4761939677 + 0.5000000738 5.279275797e-07 0.4761941726 + 0.9999997897 0.9999990879 0.9408417244 + 4.019089913 -1.370560614e-07 4.135029355e-07 +-1.370562024e-07 4.019092862 -1.608770746e-07 +5.012454206e-07 -2.128763157e-07 3.976414833 + 0.4999999261 0.50000004 0.01126203507 + 0.9999999202 9.156791073e-07 0.5415005728 +2.547517478e-07 0.4999994162 0.4761942283 + 0.5000000879 5.383758125e-07 0.4761944343 + 0.9999998108 0.9999990899 0.9408497294 + 4.019111468 -1.474817054e-07 1.456565286e-07 +-1.47481828e-07 4.019114599 -2.503881584e-07 +2.362493864e-07 -3.014394862e-07 3.976379179 + 0.4999999095 0.5000000424 0.01125568255 + 0.9999999056 9.181622418e-07 0.5414955433 +2.389289613e-07 0.4999993948 0.4761945762 + 0.5000001068 5.523215029e-07 0.4761947837 + 0.9999998391 0.9999990924 0.9408604141 + 4.019140238 -1.613973131e-07 -2.118509339e-07 +-1.61397411e-07 4.019143611 -3.698629008e-07 +-1.174535469e-07 -4.196490031e-07 3.97633159 + 0.4999999179 0.5000000382 0.01124954909 + 0.9999999088 9.148078236e-07 0.5414930781 +2.595751101e-07 0.4999993985 0.4761990716 + 0.5000000696 5.603980084e-07 0.4761992773 + 0.999999844 0.9999990882 0.9408600238 + 4.019139067 -1.493313516e-07 -1.879337942e-08 +-1.49331467e-07 4.01914232 -4.663848559e-07 +7.354469946e-08 -5.151479753e-07 3.976273849 + 0.4999999179 0.5000000382 0.01124954816 + 0.9999999088 9.148073184e-07 0.5414930778 +2.595782195e-07 0.4999993985 0.4761990723 + 0.5000000695 5.603992248e-07 0.4761992779 + 0.999999844 0.9999990882 0.9408600237 + 4.019139067 -1.493295344e-07 -1.876430367e-08 +-1.493296498e-07 4.01914232 -4.663993928e-07 +7.357346506e-08 -5.151623581e-07 3.97627384 + 0.4999999122 0.5000000408 0.01124440252 + 0.9999998987 9.154329891e-07 0.5414889614 +2.666401844e-07 0.4999993988 0.4762005406 + 0.5000000802 5.608231639e-07 0.476200743 + 0.9999998421 0.9999990842 0.9408663523 + 4.019152526 -1.468967234e-07 1.408295682e-07 +-1.468968582e-07 4.019155707 -4.97928983e-07 +2.314653502e-07 -5.46360318e-07 3.976248361 + 0.4999998952 0.5000000487 0.01122896549 + 0.9999998684 9.173098991e-07 0.5414766122 +2.878258352e-07 0.4999993999 0.4762049456 + 0.5000001121 5.620950109e-07 0.4762051382 + 0.9999998363 0.9999990721 0.9408853383 + 4.019192903 -1.395982905e-07 6.196111837e-07 +-1.395984835e-07 4.019195866 -5.925177538e-07 +7.051410056e-07 -6.399541978e-07 3.976171921 From 4053871ce983f361d3dcd87db44db5c92805cb08 Mon Sep 17 00:00:00 2001 From: liiutao <3158793232@qq.com> Date: Thu, 2 Jan 2025 21:51:48 +0800 Subject: [PATCH 2/7] change func with vector3 update_pos_taud --- .../test/support/mock_unitcell.cpp | 3 +- source/module_cell/unitcell.cpp | 28 ------------------- source/module_cell/unitcell.h | 2 -- source/module_cell/update_cell.cpp | 24 ++++++++++++++++ source/module_cell/update_cell.h | 5 ++++ source/module_md/md_base.cpp | 5 ++-- 6 files changed, 32 insertions(+), 35 deletions(-) diff --git a/source/module_cell/test/support/mock_unitcell.cpp b/source/module_cell/test/support/mock_unitcell.cpp index 9b844b18261..0a3690dd60a 100644 --- a/source/module_cell/test/support/mock_unitcell.cpp +++ b/source/module_cell/test/support/mock_unitcell.cpp @@ -33,9 +33,8 @@ bool UnitCell::read_atom_positions(std::ifstream& ifpos, std::ofstream& ofs_warning) { return true; } -void UnitCell::update_pos_taud(const ModuleBase::Vector3* posd_in) {} + void UnitCell::update_vel(const ModuleBase::Vector3* vel_in) {} -void UnitCell::bcast_atoms_tau() {} bool UnitCell::judge_big_cell() const { return true; } void UnitCell::update_stress(ModuleBase::matrix& scs) {} void UnitCell::update_force(ModuleBase::matrix& fcs) {} diff --git a/source/module_cell/unitcell.cpp b/source/module_cell/unitcell.cpp index f09c2b93d8a..6143381b385 100755 --- a/source/module_cell/unitcell.cpp +++ b/source/module_cell/unitcell.cpp @@ -314,24 +314,6 @@ std::vector> UnitCell::get_constrain() const return constrain; } -// posd_in is atomic displacements here liuyu 2023-03-22 -void UnitCell::update_pos_taud(const ModuleBase::Vector3* posd_in) { - int iat = 0; - for (int it = 0; it < this->ntype; it++) { - Atom* atom = &this->atoms[it]; - for (int ia = 0; ia < atom->na; ia++) { - for (int ik = 0; ik < 3; ++ik) { - atom->taud[ia][ik] += posd_in[iat][ik]; - atom->dis[ia][ik] = posd_in[iat][ik]; - } - iat++; - } - } - assert(iat == this->nat); - unitcell::periodic_boundary_adjustment(this->atoms,this->latvec, this->ntype); - this->bcast_atoms_tau(); -} - void UnitCell::update_vel(const ModuleBase::Vector3* vel_in) { int iat = 0; for (int it = 0; it < this->ntype; ++it) { @@ -344,16 +326,6 @@ void UnitCell::update_vel(const ModuleBase::Vector3* vel_in) { assert(iat == this->nat); } - -void UnitCell::bcast_atoms_tau() { -#ifdef __MPI - MPI_Barrier(MPI_COMM_WORLD); - for (int i = 0; i < ntype; i++) { - atoms[i].bcast_atom(); // bcast tau array - } -#endif -} - //============================================================== // Calculate various lattice related quantities for given latvec //============================================================== diff --git a/source/module_cell/unitcell.h b/source/module_cell/unitcell.h index 852f3cd3969..dde70ebac42 100644 --- a/source/module_cell/unitcell.h +++ b/source/module_cell/unitcell.h @@ -200,9 +200,7 @@ class UnitCell { void print_cell(std::ofstream& ofs) const; void print_cell_xyz(const std::string& fn) const; - void update_pos_taud(const ModuleBase::Vector3* posd_in); void update_vel(const ModuleBase::Vector3* vel_in); - void bcast_atoms_tau(); bool judge_big_cell() const; void update_stress(ModuleBase::matrix& scs); // updates stress diff --git a/source/module_cell/update_cell.cpp b/source/module_cell/update_cell.cpp index a222ec9abab..210b0c100ca 100644 --- a/source/module_cell/update_cell.cpp +++ b/source/module_cell/update_cell.cpp @@ -399,6 +399,30 @@ void update_pos_taud(const Lattice& lat, bcast_atoms_tau(atoms, ntype); } +// posd_in is atomic displacements here liuyu 2023-03-22 +void update_pos_taud(const Lattice& lat, + const ModuleBase::Vector3* posd_in, + const int ntype, + const int nat, + Atom* atoms) +{ + int iat = 0; + for (int it = 0; it < ntype; it++) { + Atom* atom = &atoms[it]; + for (int ia = 0; ia < atom->na; ia++) + { + for (int ik = 0; ik < 3; ++ik) + { + atom->taud[ia][ik] += posd_in[iat][ik]; + atom->dis[ia][ik] = posd_in[iat][ik]; + } + iat++; + } + } + assert(iat == nat); + periodic_boundary_adjustment(atoms,lat.latvec,ntype); + bcast_atoms_tau(atoms, ntype); +} void periodic_boundary_adjustment(Atom* atoms, const ModuleBase::Matrix3& latvec, diff --git a/source/module_cell/update_cell.h b/source/module_cell/update_cell.h index 21e48b9ae78..340d67f1286 100644 --- a/source/module_cell/update_cell.h +++ b/source/module_cell/update_cell.h @@ -73,6 +73,11 @@ namespace unitcell * @param nat: the number of atoms [in] * @param atoms: the atoms to be updated [out] */ + void update_pos_taud(const Lattice& lat, + const ModuleBase::Vector3* posd_in, + const int ntype, + const int nat, + Atom* atoms); } // #endif // UPDATE_CELL_H \ No newline at end of file diff --git a/source/module_md/md_base.cpp b/source/module_md/md_base.cpp index 30e344dbe20..8b330927d1c 100644 --- a/source/module_md/md_base.cpp +++ b/source/module_md/md_base.cpp @@ -1,11 +1,10 @@ #include "md_base.h" - #include "md_func.h" #ifdef __MPI #include "mpi.h" #endif #include "module_io/print_info.h" - +#include "module_cell/update_cell.h" MD_base::MD_base(const Parameter& param_in, UnitCell& unit_in) : mdp(param_in.mdp), ucell(unit_in) { my_rank = param_in.globalv.myrank; @@ -112,7 +111,7 @@ void MD_base::update_pos() MPI_Bcast(pos, ucell.nat * 3, MPI_DOUBLE, 0, MPI_COMM_WORLD); #endif - ucell.update_pos_taud(pos); + unitcell::update_pos_taud(ucell.lat,pos,ucell.ntype,ucell.nat,ucell.atoms); return; } From 89a9ba02acd52ab692b0211a7cfeebf3fe860bb8 Mon Sep 17 00:00:00 2001 From: liiutao <3158793232@qq.com> Date: Thu, 2 Jan 2025 22:07:12 +0800 Subject: [PATCH 3/7] modify the input format --- source/module_cell/update_cell.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/source/module_cell/update_cell.cpp b/source/module_cell/update_cell.cpp index 210b0c100ca..51c2a80f8bd 100644 --- a/source/module_cell/update_cell.cpp +++ b/source/module_cell/update_cell.cpp @@ -374,8 +374,9 @@ void update_pos_tau(const Lattice& lat, bcast_atoms_tau(atoms, ntype); } +template void update_pos_taud(const Lattice& lat, - const double* posd_in, + const T* posd_in, const int ntype, const int nat, Atom* atoms) @@ -407,8 +408,9 @@ void update_pos_taud(const Lattice& lat, Atom* atoms) { int iat = 0; - for (int it = 0; it < ntype; it++) { - Atom* atom = &atoms[it]; + for (int it = 0; it < this->ntype; it++) + { + Atom* atom = &this->atoms[it]; for (int ia = 0; ia < atom->na; ia++) { for (int ik = 0; ik < 3; ++ik) @@ -419,9 +421,9 @@ void update_pos_taud(const Lattice& lat, iat++; } } - assert(iat == nat); - periodic_boundary_adjustment(atoms,lat.latvec,ntype); - bcast_atoms_tau(atoms, ntype); + assert(iat == this->nat); + unitcell::periodic_boundary_adjustment(this->atoms,this->latvec, this->ntype); + this->bcast_atoms_tau(); } void periodic_boundary_adjustment(Atom* atoms, From 555bec62be0e39926f16d2a008f5ebacb6558803 Mon Sep 17 00:00:00 2001 From: liiutao <3158793232@qq.com> Date: Thu, 2 Jan 2025 22:14:26 +0800 Subject: [PATCH 4/7] add unittest for the update_pos_tau --- .../module_cell/test/unitcell_test_para.cpp | 33 ++++++++++++++++++- source/module_cell/update_cell.cpp | 13 ++++---- 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/source/module_cell/test/unitcell_test_para.cpp b/source/module_cell/test/unitcell_test_para.cpp index 76f3b28429f..a69b7655aa5 100644 --- a/source/module_cell/test/unitcell_test_para.cpp +++ b/source/module_cell/test/unitcell_test_para.cpp @@ -153,7 +153,7 @@ TEST_F(UcellTest, UpdatePosTau) } delete[] pos_in; } -TEST_F(UcellTest, UpdatePosTaud) +TEST_F(UcellTest, UpdatePosTaud_pointer) { double* pos_in = new double[ucell->nat * 3]; ModuleBase::Vector3* tmp = new ModuleBase::Vector3[ucell->nat]; @@ -181,6 +181,37 @@ TEST_F(UcellTest, UpdatePosTaud) delete[] pos_in; } +//test update_pos_taud with ModuleBase::Vector3 version +TEST_F(UcellTest, UpdatePosTaud_Vector3) +{ + ModuleBase::Vector3* pos_in = new ModuleBase::Vector3[ucell->nat]; + ModuleBase::Vector3* tmp = new ModuleBase::Vector3[ucell->nat]; + ucell->set_iat2itia(); + for (int iat = 0; iat < ucell->nat; ++iat) + { + for (int ik = 0; ik < 3; ++ik) + { + pos_in[iat][ik] = 0.01; + } + int it=0; + int ia=0; + ucell->iat2iait(iat, &ia, &it); + tmp[iat] = ucell->atoms[it].taud[ia]; + } + unitcell::update_pos_taud(ucell->lat,pos_in,ucell->ntype, + ucell->nat,ucell->atoms); + for (int iat = 0; iat < ucell->nat; ++iat) + { + int it, ia; + ucell->iat2iait(iat, &ia, &it); + for (int ik = 0; ik < 3; ++ik) + { + EXPECT_DOUBLE_EQ(ucell->atoms[it].taud[ia][ik], tmp[iat][ik] + 0.01); + } + } + delete[] tmp; + delete[] pos_in; +} TEST_F(UcellTest, ReadPseudo) { PARAM.input.pseudo_dir = pp_dir; diff --git a/source/module_cell/update_cell.cpp b/source/module_cell/update_cell.cpp index 51c2a80f8bd..0637dc9d9c9 100644 --- a/source/module_cell/update_cell.cpp +++ b/source/module_cell/update_cell.cpp @@ -374,9 +374,8 @@ void update_pos_tau(const Lattice& lat, bcast_atoms_tau(atoms, ntype); } -template void update_pos_taud(const Lattice& lat, - const T* posd_in, + const double* posd_in, const int ntype, const int nat, Atom* atoms) @@ -408,9 +407,9 @@ void update_pos_taud(const Lattice& lat, Atom* atoms) { int iat = 0; - for (int it = 0; it < this->ntype; it++) + for (int it = 0; it < ntype; it++) { - Atom* atom = &this->atoms[it]; + Atom* atom = &atoms[it]; for (int ia = 0; ia < atom->na; ia++) { for (int ik = 0; ik < 3; ++ik) @@ -421,9 +420,9 @@ void update_pos_taud(const Lattice& lat, iat++; } } - assert(iat == this->nat); - unitcell::periodic_boundary_adjustment(this->atoms,this->latvec, this->ntype); - this->bcast_atoms_tau(); + assert(iat == nat); + periodic_boundary_adjustment(atoms,lat.latvec,ntype); + bcast_atoms_tau(atoms, ntype); } void periodic_boundary_adjustment(Atom* atoms, From 28ce913107f5208f2f71326ecdc993fcae12f042 Mon Sep 17 00:00:00 2001 From: liiutao <3158793232@qq.com> Date: Fri, 3 Jan 2025 10:59:20 +0800 Subject: [PATCH 5/7] update test for relax_new --- .../relax_new/test/relax_test.cpp | 42 +- .../relax_new/test/support/result_ref.txt | 528 ------------------ 2 files changed, 36 insertions(+), 534 deletions(-) delete mode 100644 source/module_relax/relax_new/test/support/result_ref.txt diff --git a/source/module_relax/relax_new/test/relax_test.cpp b/source/module_relax/relax_new/test/relax_test.cpp index 0f1d6f42e28..5db3ecde3ff 100644 --- a/source/module_relax/relax_new/test/relax_test.cpp +++ b/source/module_relax/relax_new/test/relax_test.cpp @@ -177,7 +177,7 @@ class Test_RELAX : public testing::Test std::ifstream stress_file("./support/stress.txt"); std::ifstream energy_file("./support/stress.txt"); - int nstep = 66; + int nstep = 3; int nat = 5; double energy; PARAM.input.stress_thr = 0.01; @@ -211,7 +211,6 @@ class Test_RELAX : public testing::Test PARAM.input.fixed_ibrav = false; rl.relax_step(ucell,force_in,stress_in,energy); - result.push_back(ucell.atoms[0].taud[0].x); result.push_back(ucell.atoms[0].taud[0].y); result.push_back(ucell.atoms[0].taud[0].z); @@ -303,12 +302,43 @@ class Test_RELAX : public testing::Test TEST_F(Test_RELAX, relax_new) { - int size = 1584; + int size = 72; double tmp; - std::ifstream result_ref("./support/result_ref.txt"); + std::vector result_ref= + { + 0.5000000586,0.4999998876,0.009364595811, + 0.9999999281,1.901333279e-07,0.5476035454, + 3.782097706e-07,0.4999999285,0.4770375874, + 0.4999997826,2.072311863e-07,0.477037871, + 0.9999998523,0.9999997866,0.9349574003, + // paramter for taud after first relaxation + 4.006349654,-1.93128788e-07,5.793863639e-07, + -1.93128788e-07,4.006354579,-3.86257576e-07, + 6.757962549e-07,-4.505308366e-07,3.966870038, + // paramter for latvec after first relaxation + 0.5000000566,0.4999998916,0.009177239183, + 0.9999999308,1.832935626e-07,0.5467689737, + 3.647769323e-07,0.4999999311,0.4771204124, + 0.4999997903,1.998879545e-07,0.4771206859, + 0.9999998574,0.9999997943,0.9358136888, + // paramter for taud after second relaxation + 3.999761277,-1.656764727e-07,4.97029418e-07, + -1.656764727e-07,3.999765501,-3.313529453e-07, + 5.797351131e-07,-3.864900754e-07,4.010925071, + // paramter for latvec after second relaxation + 0.500000082,0.4999999574,0.01057784352, + 0.9999999149,1.939640249e-07,0.5455830599, + 3.795967781e-07,0.4999998795,0.4765373919, + 0.4999998037,2.756298268e-07,0.4765374602, + 0.9999998196,0.9999996936,0.9367652445, + // paramter for taud after third relaxation + 4.017733155,-1.420363309e-07,2.637046077e-07, + -1.420364243e-07,4.017735987,3.126225134e-07, + 3.479123171e-07,2.578467568e-07,4.011674933 + // paramter for latvec after third relaxation + }; for(int i=0;i> tmp; - EXPECT_NEAR(tmp,result[i],1e-8); + EXPECT_NEAR(result_ref[i],result[i],1e-8); } } \ No newline at end of file diff --git a/source/module_relax/relax_new/test/support/result_ref.txt b/source/module_relax/relax_new/test/support/result_ref.txt deleted file mode 100644 index ef3c13e96d4..00000000000 --- a/source/module_relax/relax_new/test/support/result_ref.txt +++ /dev/null @@ -1,528 +0,0 @@ - 0.5000000586 0.4999998876 0.009364595811 - 0.9999999281 1.901333279e-07 0.5476035454 -3.782097706e-07 0.4999999285 0.4770375874 - 0.4999997826 2.072311863e-07 0.477037871 - 0.9999998523 0.9999997866 0.9349574003 - 4.006349654 -1.93128788e-07 5.793863639e-07 --1.93128788e-07 4.006354579 -3.86257576e-07 -6.757962549e-07 -4.505308366e-07 3.966870038 - 0.5000000566 0.4999998916 0.009177239183 - 0.9999999308 1.832935626e-07 0.5467689737 -3.647769323e-07 0.4999999311 0.4771204124 - 0.4999997903 1.998879545e-07 0.4771206859 - 0.9999998574 0.9999997943 0.9358136888 - 3.999761277 -1.656764727e-07 4.97029418e-07 --1.656764727e-07 3.999765501 -3.313529453e-07 -5.797351131e-07 -3.864900754e-07 4.010925071 - 0.500000082 0.4999999574 0.01057784352 - 0.9999999149 1.939640249e-07 0.5455830599 -3.795967781e-07 0.4999998795 0.4765373919 - 0.4999998037 2.756298268e-07 0.4765374602 - 0.9999998196 0.9999996936 0.9367652445 - 4.017733155 -1.420363309e-07 2.637046077e-07 --1.420364243e-07 4.017735987 3.126225134e-07 -3.479123171e-07 2.578467568e-07 4.011674933 - 0.5000000796 0.4999999511 0.01044351025 - 0.9999999165 1.929267547e-07 0.545696802 -3.781847144e-07 0.4999998844 0.4765933099 - 0.4999998025 2.683875221e-07 0.476593398 - 0.9999998232 0.9999997032 0.9366739799 - 4.016009133 -1.443041027e-07 2.860871904e-07 --1.443041871e-07 4.016012099 2.508466826e-07 -3.701508133e-07 1.960362599e-07 4.011602999 - 0.5000000861 0.4999999815 0.01183052577 - 0.9999999085 2.175518281e-07 0.5443392027 -3.600200139e-07 0.499999867 0.4761361923 - 0.4999998175 2.782489662e-07 0.4761362171 - 0.9999998277 0.9999996557 0.9375588622 - 4.016074628 -1.145426559e-07 2.863757511e-07 --1.145427088e-07 4.01607746 4.947921784e-08 -3.709660589e-07 -4.491248374e-09 4.002844696 - 0.5000000949 0.5000000225 0.01369772404 - 0.9999998979 2.505380934e-07 0.5425116045 -3.356207547e-07 0.4999998436 0.4755208212 - 0.4999998376 2.914645637e-07 0.4755207609 - 0.9999998338 0.999999592 0.9387500893 - 4.016162605 -7.456531053e-08 2.867633631e-07 --7.456532115e-08 4.016165256 -2.210095363e-07 -3.720611453e-07 -2.738517231e-07 3.991080022 - 0.5000000661 0.4999999774 0.01340203962 - 0.9999999691 3.177383018e-07 0.5422778256 -2.937375994e-07 0.4999998377 0.4754148341 - 0.4999998455 2.282657485e-07 0.4754150023 - 0.9999998253 0.999999639 0.9394912985 - 4.016759016 -9.975790189e-08 7.459699521e-07 --9.975793698e-08 4.016761853 -4.168703121e-07 -8.285055584e-07 -4.685699985e-07 3.990203221 - 0.5000000627 0.4999999719 0.01336607846 - 0.9999999778 3.259068081e-07 0.5422493934 -2.886471074e-07 0.4999998369 0.4754019439 - 0.4999998464 2.205817104e-07 0.4754021399 - 0.9999998243 0.9999996447 0.9395814444 - 4.016831536 -1.028211535e-07 8.018064201e-07 --1.028211916e-07 4.016834395 -4.406856802e-07 -8.840061642e-07 -4.922464461e-07 3.990096608 - 0.50000006 0.499999967 0.01329728526 - 0.9999999864 3.325700456e-07 0.542252812 -2.855644354e-07 0.4999998363 0.4754026764 - 0.4999998456 2.134130089e-07 0.4754028962 - 0.9999998222 0.9999996507 0.9396453302 - 4.016804157 -1.028477628e-07 8.108087853e-07 --1.028478008e-07 4.016807063 -4.402571272e-07 -8.930425818e-07 -4.918722041e-07 3.9895892 - 0.500000052 0.4999999522 0.01309087941 -1.239762226e-08 3.525598936e-07 0.5422630694 -2.763163513e-07 0.4999998344 0.4754048742 - 0.4999998432 1.91906758e-07 0.4754051652 - 0.999999816 0.9999996688 0.9398370119 - 4.016722021 -1.029275908e-07 8.37815881e-07 --1.029276285e-07 4.016725065 -4.389714685e-07 -9.201518346e-07 -4.907494778e-07 3.988066978 - 0.5000000531 0.4999999535 0.01306045847 -1.172010013e-08 3.505960318e-07 0.5422783814 -2.730828384e-07 0.4999998344 0.4754320117 - 0.4999998465 1.942625467e-07 0.4754322931 - 0.9999998153 0.9999996672 0.9397978553 - 4.016722829 -1.029206516e-07 7.674399968e-07 --1.02920689e-07 4.016725862 -4.050357177e-07 -8.503420582e-07 -4.570894557e-07 3.987762366 - 0.5000000567 0.4999999574 0.0129691887 -9.688331777e-09 3.447040629e-07 0.5423243211 -2.633837151e-07 0.4999998345 0.4755134305 - 0.4999998566 2.013292303e-07 0.4755136831 - 0.9999998135 0.9999996621 0.9396803767 - 4.016725254 -1.028998342e-07 5.56312344e-07 --1.028998706e-07 4.016728251 -3.032284652e-07 - 6.40912729e-07 -3.561093893e-07 3.98684853 - 0.5000000552 0.4999999717 0.01288725225 -8.348686434e-09 3.578879491e-07 0.5422946246 -2.590298072e-07 0.4999998131 0.4755527939 - 0.4999998599 2.281727391e-07 0.4755530395 - 0.9999998173 0.9999996292 0.9397132898 - 4.016904763 -1.096986501e-07 4.707225379e-07 --1.096987293e-07 4.016907735 1.090554523e-08 -5.560136738e-07 -4.434198486e-08 3.986665638 - 0.5000000508 0.5000000146 0.01264143162 -4.328047694e-09 3.974447551e-07 0.5422055312 -2.459711622e-07 0.499999749 0.4756708894 - 0.49999987 3.086905038e-07 0.475671114 - 0.9999998287 0.9999995303 0.9398120339 - 4.017443291 -1.300950978e-07 2.139531198e-07 --1.300953053e-07 4.017446186 9.533075765e-07 -3.013165083e-07 8.909602285e-07 3.986116964 - 0.5000000483 0.5000000154 0.01257168752 -1.438415921e-09 4.057347929e-07 0.5421844767 -2.439985135e-07 0.4999997474 0.4756947513 - 0.4999998723 3.147478061e-07 0.4756949759 - 0.9999998338 0.9999995167 0.9398551087 - 4.017340044 -1.223718377e-07 2.557105028e-07 --1.223720107e-07 4.017342988 6.23468119e-07 -3.427644257e-07 5.637764569e-07 3.985668589 - 0.5000000408 0.5000000178 0.0123624317 - 0.9999999928 4.306004018e-07 0.542121306 -2.380796758e-07 0.4999997427 0.4757663451 - 0.4999998791 3.329260089e-07 0.4757665695 - 0.9999998492 0.9999994759 0.9399843477 - 4.017030304 -9.920205757e-08 3.80982652e-07 --9.920212672e-08 4.017033391 -3.660502535e-07 - 4.67108178e-07 -4.177748579e-07 3.984323464 - 0.5000000434 0.5000000095 0.01229011791 -2.269279054e-08 4.997711689e-07 0.5420674696 - 2.2477883e-07 0.4999996846 0.4757884582 - 0.4999998701 4.017236861e-07 0.4757886749 - 0.9999998388 0.9999994044 0.9400662794 - 4.017508039 -8.577089195e-08 6.90160419e-07 --8.577101412e-08 4.017512645 4.0020643e-07 -7.738336619e-07 3.421833968e-07 3.984223436 - 0.5000000468 0.4999999994 0.0122014875 -5.936706802e-08 5.845496166e-07 0.5420014857 -2.084771084e-07 0.4999996134 0.475815561 - 0.4999998592 4.860273209e-07 0.475815768 - 0.9999998261 0.9999993166 0.9401666979 - 4.018093553 -6.930958019e-08 1.069090421e-06 --6.930976733e-08 4.018100022 1.339334911e-06 -1.149758132e-06 1.273592488e-06 3.984100841 - 0.5000000494 0.4999999989 0.01215031965 -7.686345074e-08 6.256089494e-07 0.5419774224 -2.052617253e-07 0.4999995794 0.4758354969 - 0.4999998502 5.193014538e-07 0.4758356907 - 0.9999998182 0.9999992768 0.9402020704 - 4.018196574 -6.65804403e-08 1.131800255e-06 --6.658063704e-08 4.018203418 1.494869593e-06 -1.212066529e-06 1.427968664e-06 3.983726502 - 0.5000000573 0.4999999975 0.01199680166 -1.293523745e-07 7.487865539e-07 0.5419052257 -1.956148942e-07 0.4999994775 0.4758953102 - 0.4999998233 6.191189854e-07 0.4758954646 - 0.9999997944 0.9999991572 0.9403081979 - 4.018505635 -5.839302062e-08 1.319929756e-06 --5.839324615e-08 4.018513609 1.96147364e-06 -1.398991718e-06 1.891097193e-06 3.982603486 - 0.5000000559 0.4999999987 0.01197659032 -1.316860622e-07 7.590833749e-07 0.5419126282 -1.906164588e-07 0.4999994807 0.475906966 - 0.4999998253 6.150618164e-07 0.4759071025 - 0.9999997964 0.9999991465 0.9402977131 - 4.018252278 -6.443172211e-08 1.126561783e-06 --6.443190747e-08 4.018259412 1.478221425e-06 -1.207420282e-06 1.41227732e-06 3.982125011 - 0.5000000541 0.5000000003 0.01195055674 - 1.34692294e-07 7.72346765e-07 0.5419221632 -1.841792154e-07 0.4999994848 0.4759219794 - 0.4999998278 6.098379883e-07 0.4759220929 - 0.9999997991 0.9999991327 0.9402842079 - 4.017925976 -7.22090477e-08 8.775205468e-07 --7.220918133e-08 4.017932028 8.558343374e-07 -9.606928307e-07 7.955987076e-07 3.981508778 - 0.5000000483 0.5000000036 0.01192008315 -1.324497573e-07 7.847436641e-07 0.5418970361 -1.891088374e-07 0.4999994948 0.4759352623 - 0.4999998355 5.937214565e-07 0.4759353618 - 0.9999997946 0.9999991232 0.9403132567 - 4.017937177 -7.400502708e-08 6.913073321e-07 --7.400511638e-08 4.017942351 3.865861539e-07 -7.762155055e-07 3.306507004e-07 3.981300707 - 0.5000000308 0.5000000135 0.01182865758 -1.257187057e-07 8.219255433e-07 0.5418216507 -2.038994915e-07 0.4999995247 0.4759751132 - 0.4999998585 5.453765917e-07 0.4759751709 - 0.9999997809 0.9999990946 0.9404004077 - 4.017970778 -7.939296524e-08 1.326676882e-07 --7.939292154e-08 4.017973318 -1.021158397e-06 -2.227835299e-07 -1.064193321e-06 3.980676494 - 0.500000036 0.5000000195 0.01179815344 -1.287790208e-07 8.228239915e-07 0.5417966586 -1.941065691e-07 0.499999496 0.4759876283 - 0.499999842 5.592279171e-07 0.4759877103 - 0.999999799 0.9999991025 0.9404308493 - 4.018181454 -7.921316109e-08 2.607728813e-07 --7.921315181e-08 4.018184338 -7.549780172e-07 -3.497160411e-07 -8.00575728e-07 3.980534532 - 0.500000043 0.5000000276 0.0117576448 -1.328437231e-07 8.240191772e-07 0.5417634698 -1.811024659e-07 0.4999994578 0.4760042481 - 0.49999982 5.776193708e-07 0.4760043623 - 0.999999823 0.9999991129 0.940471275 - 4.018461216 -7.897439478e-08 4.30886885e-07 --7.897443121e-08 4.018464557 -4.015106133e-07 -5.182728119e-07 -4.505115099e-07 3.980346016 - 0.5000000355 0.5000000206 0.01173252464 -1.233072044e-07 8.181156645e-07 0.5417596597 -1.751327516e-07 0.4999994678 0.4760131211 - 0.4999998235 5.672244241e-07 0.4760132464 - 0.9999998424 0.9999991263 0.9404824482 - 4.018480418 -8.412181517e-08 3.184493063e-07 --8.412183942e-08 4.018483841 -4.353464953e-07 - 4.06930207e-07 -4.840528446e-07 3.980103313 - 0.5000000133 0.4999999994 0.01165715956 -9.469746835e-08 8.004051159e-07 0.5417482288 -1.572244315e-07 0.4999994977 0.4760397415 - 0.4999998342 5.360399565e-07 0.4760399001 - 0.9999999005 0.9999991665 0.94051597 - 4.018538024 -9.956407636e-08 -1.886342981e-08 --9.956406405e-08 4.018541691 -5.368541413e-07 -7.290239242e-08 -5.846768489e-07 3.979375204 - 0.5000000114 0.5000000159 0.01163688389 -9.055593068e-08 8.153191081e-07 0.5417309831 - 1.61065247e-07 0.4999994711 0.4760468025 - 0.499999837 5.628008356e-07 0.4760469616 - 0.9999998999 0.999999135 0.9405393689 - 4.018526774 -1.003729469e-07 8.014896787e-08 --1.003729504e-07 4.018530304 -2.087782838e-07 -1.709490836e-07 -2.5981345e-07 3.979251357 - 0.5000000055 0.5000000656 0.011576055 - 7.81325453e-08 8.60065394e-07 0.5416792445 -1.725872089e-07 0.4999993911 0.476067986 - 0.4999998454 6.430819879e-07 0.4760681468 - 0.9999998982 0.9999990402 0.9406095676 - 4.018493024 -1.027995584e-07 3.771861609e-07 --1.027996094e-07 4.018496142 7.75449289e-07 -4.650891572e-07 7.147767467e-07 3.978879815 - 0.5000000033 0.5000000659 0.01156048266 -7.691301529e-08 8.710090828e-07 0.5416664437 -1.696804069e-07 0.49999939 0.4760766756 - 0.4999998533 6.439033647e-07 0.4760768396 - 0.9999998967 0.9999990293 0.9406205584 - 4.018556377 -1.125767938e-07 3.435715847e-07 --1.125768244e-07 4.018559478 4.037920245e-07 -4.318280994e-07 3.468252241e-07 3.978721777 - 0.499999999 0.5000000663 0.01153083993 -7.459150628e-08 8.918375543e-07 0.5416420766 - 1.64147608e-07 0.4999993878 0.4760932168 - 0.4999998683 6.454683246e-07 0.4760933866 - 0.9999998938 0.9999990087 0.94064148 - 4.018676969 -1.311875106e-07 2.795871014e-07 --1.311875024e-07 4.018680038 -3.03648044e-07 -3.685165291e-07 -3.535610599e-07 3.978420957 - 0.4999999979 0.5000000657 0.01150798688 -7.302456245e-08 8.926851176e-07 0.5416453953 - 1.63860371e-07 0.4999993959 0.4760975713 - 0.4999998703 6.359903293e-07 0.4760977566 - 0.9999998948 0.9999990099 0.9406522899 - 4.018690234 -1.711227169e-07 3.07744471e-07 --1.711227365e-07 4.018693222 -4.102364133e-07 -3.964059641e-07 -4.590968096e-07 3.978235426 - 0.4999999946 0.5000000637 0.01143942454 -6.832367739e-08 8.952280606e-07 0.5416553519 -1.629985724e-07 0.49999942 0.4761106354 - 0.4999998763 6.075567812e-07 0.476110867 - 0.9999998977 0.9999990136 0.9406847211 - 4.018730028 -2.909283358e-07 3.9221658e-07 --2.909284389e-07 4.018732777 -7.30001521e-07 -4.800742691e-07 -7.757040587e-07 3.977678834 - 0.4999999894 0.5000000655 0.01141610861 -6.356603724e-08 8.976493407e-07 0.5416416365 -1.631627244e-07 0.4999994244 0.4761177037 - 0.4999998852 5.917181069e-07 0.4761179466 - 0.9999998986 0.9999990208 0.9407076045 - 4.018781531 -2.921536594e-07 3.608710852e-07 --2.921537556e-07 4.018784222 -7.947338374e-07 -4.490675039e-07 -8.398080826e-07 3.977551902 - 0.4999999738 0.5000000708 0.01134615858 - 4.92929824e-08 9.049124316e-07 0.5416004887 -1.636553378e-07 0.4999994378 0.4761389094 - 0.499999912 5.442030312e-07 0.4761391863 - 0.9999999012 0.9999990425 0.9407762569 - 4.018936042 -2.958296302e-07 2.668346008e-07 --2.958297055e-07 4.018938558 -9.889307865e-07 -3.560472084e-07 -1.032120154e-06 3.977171103 - 0.4999999634 0.5000000696 0.01134597757 -3.715014994e-08 9.014818778e-07 0.5415926279 -1.767591318e-07 0.4999994422 0.4761422476 - 0.4999999433 5.436667826e-07 0.4761425168 - 0.9999998793 0.9999990432 0.9407776301 - 4.018921284 -2.419935944e-07 2.999333276e-07 --2.419936518e-07 4.018923812 -8.597869936e-07 -3.888015466e-07 -9.043179998e-07 3.977157751 - 0.4999999323 0.500000066 0.01134543454 -7.217111092e-10 8.911909289e-07 0.5415690454 -2.160705762e-07 0.4999994555 0.476152262 - 0.5000000372 5.420577119e-07 0.4761525084 - 0.9999998136 0.9999990453 0.9407817496 - 4.018877009 -8.048548674e-08 3.992295079e-07 --8.048549067e-08 4.018879572 -4.723556148e-07 -4.870645611e-07 -5.209115368e-07 3.977117694 - 0.4999999267 0.5000000664 0.01134278805 - 0.9999999967 8.916239194e-07 0.5415688062 - 2.16733118e-07 0.4999994551 0.47615352 - 0.5000000446 5.431471246e-07 0.4761537652 - 0.9999998151 0.9999990438 0.9407821205 - 4.018885374 -7.545498957e-08 3.385535106e-07 --7.545498383e-08 4.018887949 -4.632615104e-07 -4.270214046e-07 -5.119146237e-07 3.977104045 - 0.4999999098 0.5000000676 0.01133484855 - 0.9999999847 8.929228899e-07 0.5415680887 -2.187207954e-07 0.499999454 0.4761572938 - 0.5000000669 5.464153476e-07 0.4761575356 - 0.9999998198 0.9999990391 0.9407832333 - 4.018910468 -6.036349807e-08 1.565255186e-07 --6.036346329e-08 4.018913079 -4.359791973e-07 - 2.46891935e-07 -4.849238843e-07 3.977063098 - 0.4999999083 0.5000000665 0.01133297331 - 0.9999999864 8.958985092e-07 0.5415647054 -2.200350776e-07 0.4999994521 0.4761586985 - 0.5000000663 5.437012945e-07 0.4761589398 - 0.9999998188 0.9999990418 0.9407856828 - 4.018925612 -6.43229072e-08 2.040351449e-07 --6.432287964e-08 4.018928246 -4.399368562e-07 -2.939083346e-07 -4.888436704e-07 3.977049182 - 0.4999999039 0.5000000634 0.01132734756 - 0.9999999914 9.048253235e-07 0.5415545555 -2.239778599e-07 0.4999994465 0.4761629127 - 0.5000000648 5.355591699e-07 0.4761631526 - 0.9999998158 0.9999990497 0.9407930316 - 4.018971043 -7.62011346e-08 3.465640238e-07 --7.620112868e-08 4.018973749 -4.518098328e-07 -4.349575334e-07 -5.006030288e-07 3.977007432 - 0.499999904 0.5000000633 0.01132406692 - 0.9999999922 9.067119807e-07 0.5415545561 -2.256794899e-07 0.4999994444 0.4761642462 - 0.5000000643 5.346751851e-07 0.4761644856 - 0.9999998136 0.999999051 0.9407936451 - 4.018979709 -8.348072208e-08 3.952941668e-07 --8.348072472e-08 4.018982453 -4.646037458e-07 -4.831819097e-07 -5.132671753e-07 3.976983022 - 0.4999999045 0.5000000627 0.01131422494 - 0.9999999949 9.123719402e-07 0.5415545579 - 2.30784321e-07 0.4999994381 0.476168247 - 0.5000000626 5.320232491e-07 0.4761684846 - 0.999999807 0.9999990548 0.9407954855 - 4.019005706 -1.053194845e-07 5.414845956e-07 --1.053195128e-07 4.019008565 -5.029854847e-07 -6.278550389e-07 -5.512596148e-07 3.976909792 - 0.4999999083 0.5000000592 0.01131253431 - 0.9999999879 9.195307776e-07 0.5415512524 -2.315822753e-07 0.4999994324 0.4761693356 - 0.5000000654 5.334588303e-07 0.4761695724 - 0.9999998067 0.9999990555 0.9407983053 - 4.0190073 -1.097333407e-07 4.664471466e-07 --1.097333585e-07 4.019010503 -4.676724911e-07 -5.536064458e-07 -5.163192494e-07 3.976890142 - 0.4999999195 0.5000000486 0.01130746237 - 0.9999999669 9.410073654e-07 0.5415413356 -2.339761975e-07 0.4999994152 0.4761726017 - 0.5000000736 5.377655433e-07 0.4761728357 - 0.9999998059 0.9999990575 0.9408067646 - 4.01901208 -1.229749092e-07 2.413347994e-07 --1.229748955e-07 4.019016316 -3.617335104e-07 -3.308606664e-07 -4.114981533e-07 3.976831193 - 0.4999999213 0.5000000473 0.01130561098 - 0.9999999649 9.436370031e-07 0.5415412623 -2.326770148e-07 0.4999994155 0.4761732185 - 0.5000000731 5.364578661e-07 0.4761734516 - 0.9999998079 0.9999990572 0.9408074566 - 4.019012889 -1.24492443e-07 2.216173633e-07 --1.244924271e-07 4.01901719 -3.617542833e-07 - 3.11351153e-07 -4.115201695e-07 3.976815961 - 0.4999999267 0.5000000433 0.0113000568 - 0.9999999591 9.515259145e-07 0.5415410425 -2.287794766e-07 0.4999994163 0.4761750687 - 0.5000000715 5.325348355e-07 0.4761752994 - 0.9999998138 0.9999990564 0.9408095324 - 4.019015317 -1.290450443e-07 1.624650552e-07 --1.290450219e-07 4.019019814 -3.618166022e-07 -2.528226127e-07 -4.115862181e-07 3.976770263 - 0.4999999283 0.5000000441 0.01129903934 - 0.999999956 9.48279405e-07 0.5415395351 -2.286021949e-07 0.4999994194 0.4761755236 - 0.5000000739 5.310413616e-07 0.4761757517 - 0.9999998131 0.9999990573 0.9408111502 - 4.01901909 -1.290451639e-07 1.575998906e-07 --1.290451426e-07 4.019023489 -4.007344723e-07 - 2.48009162e-07 -4.500960986e-07 3.976761885 - 0.4999999329 0.5000000464 0.01129598695 - 0.9999999469 9.38539842e-07 0.5415350127 - 2.28070352e-07 0.4999994287 0.4761768884 - 0.5000000811 5.265609571e-07 0.4761771084 - 0.9999998109 0.9999990598 0.9408160035 - 4.019030408 -1.290455227e-07 1.430043966e-07 --1.290455047e-07 4.019034515 -5.174880825e-07 -2.335688099e-07 -5.656257404e-07 3.97673675 - 0.4999999333 0.5000000423 0.01129480749 - 0.999999946 9.338153883e-07 0.5415334224 - 2.28664736e-07 0.4999994361 0.4761779249 - 0.5000000807 5.194546916e-07 0.4761781437 - 0.9999998112 0.9999990684 0.9408167014 - 4.01903273 -1.290455981e-07 1.566989619e-07 --1.29045581e-07 4.019036751 -6.201488135e-07 -2.471197956e-07 -6.672077999e-07 3.976725468 - 0.4999999345 0.50000003 0.01129126911 - 0.9999999435 9.196419143e-07 0.5415286516 -2.304478762e-07 0.4999994582 0.4761810343 - 0.5000000795 4.981359855e-07 0.4761812498 - 0.999999812 0.9999990941 0.9408187951 - 4.019039696 -1.290458244e-07 1.977826575e-07 --1.290458099e-07 4.019043459 -9.281310065e-07 -2.877727526e-07 -9.719539783e-07 3.976691622 - 0.4999999349 0.5000000298 0.01129039377 - 0.9999999435 9.185225545e-07 0.5415254386 -2.298862747e-07 0.4999994568 0.4761819211 - 0.5000000791 4.995917051e-07 0.4761821364 - 0.9999998124 0.9999990953 0.9408211101 - 4.019043324 -1.257169824e-07 2.177556503e-07 --1.25716973e-07 4.019047001 -9.114827603e-07 - 3.07536281e-07 -9.554854435e-07 3.976676813 - 0.4999999358 0.5000000293 0.01128879301 - 0.9999999435 9.164755791e-07 0.5415195628 -2.288592527e-07 0.4999994544 0.4761835427 - 0.5000000784 5.022538072e-07 0.4761837577 - 0.9999998133 0.9999990976 0.9408253437 - 4.01904996 -1.196294451e-07 2.542807648e-07 --1.19629445e-07 4.019053478 -8.810376936e-07 -3.436783427e-07 -9.253690195e-07 3.976649731 - 0.4999999341 0.50000003 0.01128700831 - 0.9999999423 9.164069045e-07 0.5415182511 -2.335776749e-07 0.4999994534 0.4761845527 - 0.5000000786 5.021222774e-07 0.4761847661 - 0.9999998112 0.9999990981 0.9408264217 - 4.019053849 -1.239859106e-07 2.646362681e-07 --1.239859205e-07 4.01905731 -8.460449793e-07 -3.539262306e-07 -8.907508841e-07 3.976629205 - 0.4999999291 0.5000000319 0.01128165418 - 0.9999999386 9.16200915e-07 0.5415143161 -2.477329201e-07 0.4999994506 0.4761875825 - 0.5000000794 5.017276626e-07 0.4761877913 - 0.9999998051 0.9999990997 0.9408296559 - 4.019065515 -1.37055307e-07 2.957027782e-07 --1.370553468e-07 4.019068805 -7.410668364e-07 -3.846698944e-07 -7.868964777e-07 3.976567627 - 0.4999999426 0.5000000265 0.01127998846 - 0.9999999355 9.22941417e-07 0.5415089292 -2.724576634e-07 0.4999994489 0.4761892075 - 0.5000000647 4.997317793e-07 0.476189418 - 0.9999997846 0.999999102 0.9408334569 - 4.019074267 -1.370555967e-07 4.773627817e-07 --1.370556788e-07 4.019077499 -6.502306448e-07 -5.644118671e-07 -6.970276123e-07 3.976540248 - 0.4999999435 0.5000000262 0.0112798784 - 0.9999999353 9.233867893e-07 0.5415085732 -2.740912932e-07 0.4999994487 0.4761893148 - 0.5000000637 4.995999032e-07 0.4761895255 - 0.9999997832 0.9999991022 0.940833708 - 4.019074845 -1.370556159e-07 4.893656044e-07 --1.370557007e-07 4.019078073 -6.442288245e-07 -5.762879597e-07 -6.910897062e-07 3.976538439 - 0.4999999422 0.5000000292 0.01127660742 - 0.9999999343 9.20994726e-07 0.5415075151 -2.722200497e-07 0.4999994446 0.476190478 - 0.5000000662 5.066818531e-07 0.4761906872 - 0.9999997848 0.9999990986 0.9408357121 - 4.019078612 -1.370557273e-07 4.703999372e-07 --1.370558262e-07 4.019081771 -5.23390887e-07 -5.575273249e-07 -5.715363585e-07 3.976507538 - 0.4999999385 0.5000000382 0.01126679437 - 0.9999999312 9.138186372e-07 0.5415043409 -2.666063406e-07 0.4999994323 0.4761939677 - 0.5000000738 5.279275797e-07 0.4761941726 - 0.9999997897 0.9999990879 0.9408417244 - 4.019089913 -1.370560614e-07 4.135029355e-07 --1.370562024e-07 4.019092862 -1.608770746e-07 -5.012454206e-07 -2.128763157e-07 3.976414833 - 0.4999999261 0.50000004 0.01126203507 - 0.9999999202 9.156791073e-07 0.5415005728 -2.547517478e-07 0.4999994162 0.4761942283 - 0.5000000879 5.383758125e-07 0.4761944343 - 0.9999998108 0.9999990899 0.9408497294 - 4.019111468 -1.474817054e-07 1.456565286e-07 --1.47481828e-07 4.019114599 -2.503881584e-07 -2.362493864e-07 -3.014394862e-07 3.976379179 - 0.4999999095 0.5000000424 0.01125568255 - 0.9999999056 9.181622418e-07 0.5414955433 -2.389289613e-07 0.4999993948 0.4761945762 - 0.5000001068 5.523215029e-07 0.4761947837 - 0.9999998391 0.9999990924 0.9408604141 - 4.019140238 -1.613973131e-07 -2.118509339e-07 --1.61397411e-07 4.019143611 -3.698629008e-07 --1.174535469e-07 -4.196490031e-07 3.97633159 - 0.4999999179 0.5000000382 0.01124954909 - 0.9999999088 9.148078236e-07 0.5414930781 -2.595751101e-07 0.4999993985 0.4761990716 - 0.5000000696 5.603980084e-07 0.4761992773 - 0.999999844 0.9999990882 0.9408600238 - 4.019139067 -1.493313516e-07 -1.879337942e-08 --1.49331467e-07 4.01914232 -4.663848559e-07 -7.354469946e-08 -5.151479753e-07 3.976273849 - 0.4999999179 0.5000000382 0.01124954816 - 0.9999999088 9.148073184e-07 0.5414930778 -2.595782195e-07 0.4999993985 0.4761990723 - 0.5000000695 5.603992248e-07 0.4761992779 - 0.999999844 0.9999990882 0.9408600237 - 4.019139067 -1.493295344e-07 -1.876430367e-08 --1.493296498e-07 4.01914232 -4.663993928e-07 -7.357346506e-08 -5.151623581e-07 3.97627384 - 0.4999999122 0.5000000408 0.01124440252 - 0.9999998987 9.154329891e-07 0.5414889614 -2.666401844e-07 0.4999993988 0.4762005406 - 0.5000000802 5.608231639e-07 0.476200743 - 0.9999998421 0.9999990842 0.9408663523 - 4.019152526 -1.468967234e-07 1.408295682e-07 --1.468968582e-07 4.019155707 -4.97928983e-07 -2.314653502e-07 -5.46360318e-07 3.976248361 - 0.4999998952 0.5000000487 0.01122896549 - 0.9999998684 9.173098991e-07 0.5414766122 -2.878258352e-07 0.4999993999 0.4762049456 - 0.5000001121 5.620950109e-07 0.4762051382 - 0.9999998363 0.9999990721 0.9408853383 - 4.019192903 -1.395982905e-07 6.196111837e-07 --1.395984835e-07 4.019195866 -5.925177538e-07 -7.051410056e-07 -6.399541978e-07 3.976171921 From 984cf979f81f0466d7d59871731afcfb35f3c19c Mon Sep 17 00:00:00 2001 From: liiutao <3158793232@qq.com> Date: Fri, 3 Jan 2025 11:18:20 +0800 Subject: [PATCH 6/7] add update_vel for ucell --- source/module_cell/atom_spec.h | 3 +-- .../test/support/mock_unitcell.cpp | 1 - source/module_cell/test/unitcell_test.cpp | 2 +- source/module_cell/unitcell.cpp | 12 ---------- source/module_cell/unitcell.h | 1 - source/module_cell/update_cell.cpp | 18 +++++++++++++++ source/module_cell/update_cell.h | 22 ++++++++++++++----- source/module_md/run_md.cpp | 4 ++-- 8 files changed, 39 insertions(+), 24 deletions(-) diff --git a/source/module_cell/atom_spec.h b/source/module_cell/atom_spec.h index d2deffebf87..dcf0748bdff 100644 --- a/source/module_cell/atom_spec.h +++ b/source/module_cell/atom_spec.h @@ -34,8 +34,7 @@ class Atom std::string label = "\0"; // atomic symbol std::vector> tau; // Cartesian coordinates of each atom in this type. - std::vector> - dis; // direct displacements of each atom in this type in current step liuyu modift 2023-03-22 + std::vector> dis; // direct displacements of each atom in this type in current step liuyu modift 2023-03-22 std::vector> taud; // Direct coordinates of each atom in this type. std::vector> vel; // velocities of each atom in this type. std::vector> force; // force acting on each atom in this type. diff --git a/source/module_cell/test/support/mock_unitcell.cpp b/source/module_cell/test/support/mock_unitcell.cpp index 0a3690dd60a..c619a1f90ae 100644 --- a/source/module_cell/test/support/mock_unitcell.cpp +++ b/source/module_cell/test/support/mock_unitcell.cpp @@ -34,7 +34,6 @@ bool UnitCell::read_atom_positions(std::ifstream& ifpos, return true; } -void UnitCell::update_vel(const ModuleBase::Vector3* vel_in) {} bool UnitCell::judge_big_cell() const { return true; } void UnitCell::update_stress(ModuleBase::matrix& scs) {} void UnitCell::update_force(ModuleBase::matrix& fcs) {} diff --git a/source/module_cell/test/unitcell_test.cpp b/source/module_cell/test/unitcell_test.cpp index 90925df62d8..738ee8714f0 100644 --- a/source/module_cell/test/unitcell_test.cpp +++ b/source/module_cell/test/unitcell_test.cpp @@ -1021,7 +1021,7 @@ TEST_F(UcellTest, UpdateVel) { vel_in[iat].set(iat * 0.1, iat * 0.1, iat * 0.1); } - ucell->update_vel(vel_in); + unitcell::update_vel(vel_in,ucell->ntype,ucell->nat,ucell->atoms); for (int iat = 0; iat < ucell->nat; ++iat) { EXPECT_DOUBLE_EQ(vel_in[iat].x, 0.1 * iat); diff --git a/source/module_cell/unitcell.cpp b/source/module_cell/unitcell.cpp index 6143381b385..456c99cb160 100755 --- a/source/module_cell/unitcell.cpp +++ b/source/module_cell/unitcell.cpp @@ -314,18 +314,6 @@ std::vector> UnitCell::get_constrain() const return constrain; } -void UnitCell::update_vel(const ModuleBase::Vector3* vel_in) { - int iat = 0; - for (int it = 0; it < this->ntype; ++it) { - Atom* atom = &this->atoms[it]; - for (int ia = 0; ia < atom->na; ++ia) { - this->atoms[it].vel[ia] = vel_in[iat]; - ++iat; - } - } - assert(iat == this->nat); -} - //============================================================== // Calculate various lattice related quantities for given latvec //============================================================== diff --git a/source/module_cell/unitcell.h b/source/module_cell/unitcell.h index dde70ebac42..7b10a18767d 100644 --- a/source/module_cell/unitcell.h +++ b/source/module_cell/unitcell.h @@ -200,7 +200,6 @@ class UnitCell { void print_cell(std::ofstream& ofs) const; void print_cell_xyz(const std::string& fn) const; - void update_vel(const ModuleBase::Vector3* vel_in); bool judge_big_cell() const; void update_stress(ModuleBase::matrix& scs); // updates stress diff --git a/source/module_cell/update_cell.cpp b/source/module_cell/update_cell.cpp index 0ec2bf41e8c..759389b9d83 100644 --- a/source/module_cell/update_cell.cpp +++ b/source/module_cell/update_cell.cpp @@ -425,6 +425,24 @@ void update_pos_taud(const Lattice& lat, bcast_atoms_tau(atoms, ntype); } +void update_vel(const ModuleBase::Vector3* vel_in, + const int ntype, + const int nat, + Atom* atoms) +{ + int iat = 0; + for (int it = 0; it < ntype; ++it) + { + Atom* atom = &atoms[it]; + for (int ia = 0; ia < atom->na; ++ia) + { + atoms[it].vel[ia] = vel_in[iat]; + ++iat; + } + } + assert(iat == nat); +} + void periodic_boundary_adjustment(Atom* atoms, const ModuleBase::Matrix3& latvec, const int ntype) diff --git a/source/module_cell/update_cell.h b/source/module_cell/update_cell.h index 340d67f1286..a13bf585461 100644 --- a/source/module_cell/update_cell.h +++ b/source/module_cell/update_cell.h @@ -73,11 +73,23 @@ namespace unitcell * @param nat: the number of atoms [in] * @param atoms: the atoms to be updated [out] */ - void update_pos_taud(const Lattice& lat, - const ModuleBase::Vector3* posd_in, - const int ntype, - const int nat, - Atom* atoms); + void update_pos_taud(const Lattice& lat, + const ModuleBase::Vector3* posd_in, + const int ntype, + const int nat, + Atom* atoms); + /** + * @brief update the velocity of the atoms + * + * @param vel_in: the velocity of the atoms [in] + * @param ntype: the number of types of the atoms [in] + * @param nat: the number of atoms [in] + * @param atoms: the atoms to be updated [out] + */ + void update_vel(const ModuleBase::Vector3* vel_in, + const int ntype, + const int nat, + Atom* atoms); } // #endif // UPDATE_CELL_H \ No newline at end of file diff --git a/source/module_md/run_md.cpp b/source/module_md/run_md.cpp index 1f855259797..b82a0c3e696 100644 --- a/source/module_md/run_md.cpp +++ b/source/module_md/run_md.cpp @@ -10,7 +10,7 @@ #include "msst.h" #include "nhchain.h" #include "verlet.h" - +#include "module_cell/update_cell.h" namespace Run_MD { @@ -97,7 +97,7 @@ void md_line(UnitCell& unit_in, ModuleESolver::ESolver* p_esolver, const Paramet if ((mdrun->step_ + mdrun->step_rst_) % param_in.mdp.md_restartfreq == 0) { - unit_in.update_vel(mdrun->vel); + unitcell::update_vel(mdrun->vel,unit_in.ntype,unit_in.nat,unit_in.atoms); std::stringstream file; file << PARAM.globalv.global_stru_dir << "STRU_MD_" << mdrun->step_ + mdrun->step_rst_; // changelog 20240509 From ba6a70fe47d05dcb7eec8ec45cecb121925d06ed Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Fri, 3 Jan 2025 04:57:47 +0000 Subject: [PATCH 7/7] [pre-commit.ci lite] apply automatic fixes --- source/module_cell/atom_spec.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/module_cell/atom_spec.h b/source/module_cell/atom_spec.h index dcf0748bdff..00ce14898e7 100644 --- a/source/module_cell/atom_spec.h +++ b/source/module_cell/atom_spec.h @@ -22,7 +22,7 @@ class Atom std::vector iw2_new; int nw = 0; // number of local orbitals (l,n,m) of this type - void set_index(void); + void set_index(); int type = 0; // Index of atom type int na = 0; // Number of atoms in this type. @@ -53,8 +53,8 @@ class Atom void print_Atom(std::ofstream& ofs); void update_force(ModuleBase::matrix& fcs); #ifdef __MPI - void bcast_atom(void); - void bcast_atom2(void); + void bcast_atom(); + void bcast_atom2(); #endif };